Closed ericvoit closed 7 years ago
What attributes are looked to be shared across multiple receivers? The traditional design pattern for this would be to have a profile (filter-profile?) that gets named and stored and can be applied to multiple instances of something (subscriptions).
Sharon
From: ericvoit [mailto:notifications@github.com] Sent: Thursday, May 05, 2016 3:57 PM To: netconf-wg/yang-push Subject: [netconf-wg/yang-push] Multiple receivers per Static Subscription (#2)
Do we support many receivers for a single static subscription? Or should we have many subscriptions aggregated in a group tied to one filtered set of push updates
Note that this might intersect with the definition of what is a stream.
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHubhttps://github.com/netconf-wg/yang-push/issues/2
The current draft's YANG subscription model does have filter re-use. And I suspect that applying reused filters for event notification filters this might not be very expensive.for system generated events. But that is not the underlying cost which drove this issue.
For large YANG datastore extracts it can be expensive to recreate the same customized event notification stream towards multiple recipients. This is why a large MSDC customer wants many recipients for the same info.
Some have argued that this is an implementation detail, and that you could still have some aggregate subscription group generating a reused event stream. But that is kind-of complicated to implement as you must continually evaluate membership in the group (including if a management plane subscription modification is done on one of the members.)
This is why I think the jury is out on whether this complexity should be exposed or hidden. As well as how it might be hidden.
Hi,
I would like to know why this extreme server implementation complexity is warranted, given:
IMO a single receiver per session is much more operationally useful, simpler to understand, and simpler to implement.
Andy
On Fri, May 6, 2016 at 11:38 AM, Sharon notifications@github.com wrote:
What attributes are looked to be shared across multiple receivers? The traditional design pattern for this would be to have a profile (filter-profile?) that gets named and stored and can be applied to multiple instances of something (subscriptions).
Sharon
From: ericvoit [mailto:notifications@github.com] Sent: Thursday, May 05, 2016 3:57 PM To: netconf-wg/yang-push Subject: [netconf-wg/yang-push] Multiple receivers per Static Subscription (#2)
Do we support many receivers for a single static subscription? Or should we have many subscriptions aggregated in a group tied to one filtered set of push updates
Note that this might intersect with the definition of what is a stream.
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub< https://github.com/netconf-wg/yang-push/issues/2>
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/netconf-wg/yang-push/issues/2#issuecomment-217524877
I think the cost is based on what I listed in my response to Sharon. We shouldn't have to regenerate custom datastore extracts for multiple recipients. Especially as some MSDCs want replicated streams for redundancy purposes.
This problem can be solved with lots of code which decouples custom stream generation from the subscription itself. (Maybe there is an under-the-covers subscription group which is invisibly managed to reduce on-box processing.) But there is complexity here which shouldn't be dismissed.
Hi Andy,
I posted a couple responses directly to the wiki. If you don’t automatically get them pushed to you, could you let me know? I am trying to figure out whether to reply to the emails, or just post to the web.
Thanks, Eric
From: Andy Bierman, May 06, 2016 6:25 PM
Hi,
I would like to know why this extreme server implementation complexity is warranted, given:
IMO a single receiver per session is much more operationally useful, simpler to understand, and simpler to implement.
Andy
On Fri, May 6, 2016 at 11:38 AM, Sharon notifications@github.com wrote:
What attributes are looked to be shared across multiple receivers? The traditional design pattern for this would be to have a profile (filter-profile?) that gets named and stored and can be applied to multiple instances of something (subscriptions).
Sharon
From: ericvoit [mailto:notifications@github.com] Sent: Thursday, May 05, 2016 3:57 PM To: netconf-wg/yang-push Subject: [netconf-wg/yang-push] Multiple receivers per Static Subscription (#2)
Do we support many receivers for a single static subscription? Or should we have many subscriptions aggregated in a group tied to one filtered set of push updates
Note that this might intersect with the definition of what is a stream.
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub< https://github.com/netconf-wg/yang-push/issues/2>
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/netconf-wg/yang-push/issues/2#issuecomment-217524877
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHubhttps://github.com/netconf-wg/yang-push/issues/2#issuecomment-217578301
On Fri, May 6, 2016 at 3:39 PM, ericvoit notifications@github.com wrote:
I think the cost is based on what I listed in my response to Sharon. We shouldn't have to regenerate custom datastore extracts for multiple recipients. Especially as some MSDCs want replicated streams for redundancy purposes.
You are making lots of assumptions about implementation details.
Also, it is trivial to make 1 variant of the subscription request RPC to be "clone subscription-ID 42, but with this receiver address".
You didn't answer how the operator debugs delivery problems to multiple addresses, or how the server deals with undeliverable data. There is limited buffering so what does the server do? drop new events? drop old events?
This problem can be solved with lots of code which decouples custom stream
generation from the subscription itself. (Maybe there is an under-the-covers subscription group which is invisibly managed to reduce on-box processing.) But there is complexity here which shouldn't be dismissed.
The code can recognize what can be shared no matter how the inputs are presented.
— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/netconf-wg/yang-push/issues/2#issuecomment-217580525
Andy
We are doing this, as reflected in 5277bis
Do we support many receivers for a single static subscription? Or should we have many subscriptions aggregated in a group tied to one filtered set of push updates
Note that this might intersect with the definition of what is a stream.