CPS-1953 Compare Active Subscriptions (DB) with the current request

  1. Compare Active Subscriptions (DB) with the current request

    1. Find delta

      • we have the same subscription if we have the same combination of 

        1. cmhandle AND xpath filter AND datastore

    2. Update when there's overlapping

      • updating the status in the HZ map from 'PENDING' for duplicated request(s)

A:

Active Subscriptions model imported from Database

SubscriptionId

cmHandle

filter

datastore

SubscriptionId

cmHandle

filter

datastore

A-10

ch-1

p1/c1

ncmp-datastore:passthrough-operational

A-10

ch-1

p2/c2

ncmp-datastore:passthrough-operational

A-10

ch-2

p1/c1

ncmp-datastore:passthrough-operational

A-10

ch-2

p2/c2

ncmp-datastore:passthrough-operational

 

Pending Subscriptions saved in CmSubscriptionCache

SubscriptionId

dmi-plugin

affectedCmHandles

status

SubscriptionId

dmi-plugin

affectedCmHandles

status

A-10

dmi-1

["ch-1","ch-2"]

PENDING

A-10

dmi-2

["ch-3"]

PENDING

 

Wide Net → Narrow Net method

B: