Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  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. Create structure to hold all 'PENDING' subscriptions
      1. HZ map
    3. 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

A-10ch-1p1/c1ncmp-datastore:passthrough-operational
A-10ch-1p2/c2ncmp-datastore:passthrough-operational
A-10ch-2p1/c1ncmp-datastore:passthrough-operational
A-10ch-2p2/c2ncmp-datastore:passthrough-operational


Pending Subscriptions saved in CmSubscriptionCache

SubscriptionId

dmi-plugin

affectedCmHandles

status

A-10dmi-1["ch-1","ch-2"]PENDING
A-10dmi-2["ch-3"]PENDING


Wide Net → Narrow Net method

draw.io Diagram
bordertrue
diagramNameA Diagram
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth9411006
revision310

B:  

 IMap<String, CmSubscriptionCacheObject> pendingCmSubscriptions

Map of Subscription Id and  CmSubscriptionCacheObject

C: 

draw.io Diagram
bordertrue
diagramNameC Diagram
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth551401
revision37