Fix event filter filtering on "or"
The event filter used two separate filter-conditions for "namespace" and "topic". As a result, both events matching "topic" and events matching "namespace" were subscribed to, causing events to be handled both by the "plugin" client, and "container" client. This patch rewrites the filter to match only if both namespace and topic match. Thanks to Stephen Day for providing the correct filter :) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
daded8da91
commit
295bb09184
1 changed files with 3 additions and 2 deletions
|
@ -715,8 +715,9 @@ func (c *client) processEventStream(ctx context.Context) {
|
|||
|
||||
eventStream, err = c.remote.EventService().Subscribe(ctx, &eventsapi.SubscribeRequest{
|
||||
Filters: []string{
|
||||
"namespace==" + c.namespace,
|
||||
"topic~=/tasks/",
|
||||
// Filter on both namespace *and* topic. To create an "and" filter,
|
||||
// this must be a single, comma-separated string
|
||||
"namespace==" + c.namespace + ",topic~=|^/tasks/|",
|
||||
},
|
||||
}, grpc.FailFast(false))
|
||||
if err != nil {
|
||||
|
|
Loading…
Reference in a new issue