pjfanning opened a new issue, #635:
URL: https://github.com/apache/pekko-projection/issues/635

   ### Problem
   The gRPC docs say, in the "Producer defined filter" section:
   
   > A producer filter that excludes an event wins over any consumer defined 
filter, i.e. if the producer filter function returns `false` the event will not 
be emitted.
   
   This holds for the live event stream, but not for replayed events. The 
producer filter is meant to toggle whether all events of an entity are emitted 
(as the same section says a few lines earlier), so when a consumer replays 
earlier events of an entity, e.g. via `ConsumerFilter.IncludeEntityIds` with a 
sequence number, or after a sequence number gap is detected, those events are 
emitted without evaluating the producer filter. `ProducerFilterEndToEndSpec` 
relies on this: once an entity passes the filter, its earlier events are 
delivered through replay.
   
   ### Suggested change
   Add a sentence to that paragraph, and/or to the "Event replay" section, 
along the lines of:
   
   > Events that are replayed for an entity, either explicitly via 
`IncludeEntityIds` or lazily after a gap in sequence numbers, are not evaluated 
against the producer filter, since the purpose of the filter is to decide 
whether all events of an entity are emitted or not.
   
   ### References
   Refs #633 - discussion of producer filter and replay
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to