Problem
Imagine a Source github delivering 100 events per second connected to a Broker with 10 triggers, none of which are interested in events from github. The Broker will persist each of those 100 events in its channel, and deliver each one 10 times, for total delivery of 1000 events per second to the filter, all of which are immediately dropped.
A source delivering an event to a Broker doesn't know if the event is interesting to any consumers. The source must deliver all events that could be interesting, even if none of them are interesting. The Broker will then persist all of those events in its internal channel, deliver them once for each Trigger, only for the filter to drop each one individually.
The current workaround for this issue is to ask users to configure sources with specific filters that are duplicates of the trigger filter, but that's prone to error and eliminates the stated benefit of the Broker being able to abstract away message routing.
The Broker and source should coordinate so the uninteresting event is dropped as far upstream as possible.
Persona:
Operator
Exit Criteria
An event that is not subscribed to by any Triggers is dropped upstream of the Broker's ingress.
Time Estimate (optional):
Additional context (optional)
Related to #934
Problem
Imagine a Source
githubdelivering 100 events per second connected to a Broker with 10 triggers, none of which are interested in events fromgithub. The Broker will persist each of those 100 events in its channel, and deliver each one 10 times, for total delivery of 1000 events per second to the filter, all of which are immediately dropped.A source delivering an event to a Broker doesn't know if the event is interesting to any consumers. The source must deliver all events that could be interesting, even if none of them are interesting. The Broker will then persist all of those events in its internal channel, deliver them once for each Trigger, only for the filter to drop each one individually.
The current workaround for this issue is to ask users to configure sources with specific filters that are duplicates of the trigger filter, but that's prone to error and eliminates the stated benefit of the Broker being able to abstract away message routing.
The Broker and source should coordinate so the uninteresting event is dropped as far upstream as possible.
Persona:
Operator
Exit Criteria
An event that is not subscribed to by any Triggers is dropped upstream of the Broker's ingress.
Time Estimate (optional):
Additional context (optional)
Related to #934