Skip to content

Broker requires unnecessary event deliveries #2288

@grantr

Description

@grantr

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions