You raised a separate question about whether we should be strict or permissive 
if the suppression node actually has multiple parents which specify two 
different grace periods.

I favored strict because I think this makes the situation more debuggable and 
comprehensible. But you are correct in stating that it's not a correctness 
issue, since the grace period doesn't affect the key. For this reason, I would 
be ok with logging a warning and just using the larger grace period.

The consideration we need to weigh is in that situation with two different 
windowed tables getting merged/joined, assuming they only differ in grace 
period, how can we ensure that all operators follow the same strategy of taking 
the larger grace period. It affects windowed store retention as well as 
suppression. I think taking the larger is a reasonably obvious choice, so maybe 
it's not a big deal, though.

[ Full content available at: https://github.com/apache/kafka/pull/5567 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to