- Compare Active Subscriptions (DB) with the current request
- Find delta
- we have the same subscription if we have the same combination of
- cmhandle AND xpath filter AND datastore
- 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-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 |
---|
A-10 | dmi-1 | ["ch-1","ch-2"] | PENDING |
A-10 | dmi-2 | ["ch-3"] | PENDING |
Wide Net → Narrow Net method
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlNlYW4gQmVpcm5lIiwib3V0cHV0VHlwZSI6ImJsb2NrIiwibGFzdE1vZGlmaWVyTmFtZSI6IlNlYW4gQmVpcm5lIiwibGFuZ3VhZ2UiOiJlbiIsImRpYWdyYW1EaXNwbGF5TmFtZSI6IiIsInNGaWxlSWQiOiIiLCJhdHRJZCI6IjIwOTg3OTgzNyIsImRpYWdyYW1OYW1lIjoiQSBEaWFncmFtIiwiYXNwZWN0IjoiIiwibGlua3MiOiJhdXRvIiwiY2VvTmFtZSI6IkNQUy0xOTUzIENvbXBhcmUgQWN0aXZlIFN1YnNjcmlwdGlvbnMgKERCKSB3aXRoIHRoZSBjdXJyZW50IHJlcXVlc3QiLCJ0YnN0eWxlIjoidG9wIiwiY2FuQ29tbWVudCI6ZmFsc2UsImRpYWdyYW1VcmwiOiIiLCJjc3ZGaWxlVXJsIjoiIiwiYm9yZGVyIjp0cnVlLCJtYXhTY2FsZSI6IjEiLCJvd25pbmdQYWdlSWQiOjIwOTg3OTgzMSwiZWRpdGFibGUiOmZhbHNlLCJjZW9JZCI6MjA5ODc5ODMxLCJwYWdlSWQiOiIiLCJsYm94Ijp0cnVlLCJzZXJ2ZXJDb25maWciOnsiZW1haWxwcmV2aWV3IjoiMSJ9LCJvZHJpdmVJZCI6IiIsInJldmlzaW9uIjoxMCwibWFjcm9JZCI6IjBjNWRlMzY2LWY3MTYtNGIzMC1iYTQzLWExODg4NmRiYmFmNiIsInByZXZpZXdOYW1lIjoiQSBEaWFncmFtLnBuZyIsImxpY2Vuc2VTdGF0dXMiOiJPSyIsInNlcnZpY2UiOiIiLCJpc1RlbXBsYXRlIjoiIiwid2lkdGgiOiIxMDA2Iiwic2ltcGxlVmlld2VyIjpmYWxzZSwibGFzdE1vZGlmaWVkIjoxNzA2NjI0ODAzMDAwLCJleGNlZWRQYWdlV2lkdGgiOmZhbHNlLCJvQ2xpZW50SWQiOiIifQ==
B:
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlNlYW4gQmVpcm5lIiwib3V0cHV0VHlwZSI6ImJsb2NrIiwibGFzdE1vZGlmaWVyTmFtZSI6IlNlYW4gQmVpcm5lIiwibGFuZ3VhZ2UiOiJlbiIsImRpYWdyYW1EaXNwbGF5TmFtZSI6IiIsInNGaWxlSWQiOiIiLCJhdHRJZCI6IjIwOTg3OTgzNSIsImRpYWdyYW1OYW1lIjoiQyBEaWFncmFtIiwiYXNwZWN0IjoiIiwibGlua3MiOiJhdXRvIiwiY2VvTmFtZSI6IkNQUy0xOTUzIENvbXBhcmUgQWN0aXZlIFN1YnNjcmlwdGlvbnMgKERCKSB3aXRoIHRoZSBjdXJyZW50IHJlcXVlc3QiLCJ0YnN0eWxlIjoidG9wIiwiY2FuQ29tbWVudCI6ZmFsc2UsImRpYWdyYW1VcmwiOiIiLCJjc3ZGaWxlVXJsIjoiIiwiYm9yZGVyIjp0cnVlLCJtYXhTY2FsZSI6IjEiLCJvd25pbmdQYWdlSWQiOjIwOTg3OTgzMSwiZWRpdGFibGUiOmZhbHNlLCJjZW9JZCI6MjA5ODc5ODMxLCJwYWdlSWQiOiIiLCJsYm94Ijp0cnVlLCJzZXJ2ZXJDb25maWciOnsiZW1haWxwcmV2aWV3IjoiMSJ9LCJvZHJpdmVJZCI6IiIsInJldmlzaW9uIjo3LCJtYWNyb0lkIjoiYmIzZmZlOGUtODMzMC00YjY4LTkyMDMtYTYxYzNiZjY0YTYwIiwicHJldmlld05hbWUiOiJDIERpYWdyYW0ucG5nIiwibGljZW5zZVN0YXR1cyI6Ik9LIiwic2VydmljZSI6IiIsImlzVGVtcGxhdGUiOiIiLCJ3aWR0aCI6IjQwMSIsInNpbXBsZVZpZXdlciI6ZmFsc2UsImxhc3RNb2RpZmllZCI6MTcwNjYyNDMwOTAwMCwiZXhjZWVkUGFnZVdpZHRoIjpmYWxzZSwib0NsaWVudElkIjoiIn0=