@mjsax Thanks so much for the detailed review. I realized that your concern 
about ambiguity between the configured suppression time and the grace period 
was actually due to a regression I introduced earlier in refactoring.

I have made a couple of changes to resolve this:
* `Suppressed` now only declares static factory methods (as it did initially). 
In particular, this ensures that we can rely on the config for 
`untilWindowClose` to be just as we create it in that method. It's not possible 
to mutate it afterwards.
* I replaced the `isFinalResults` boolean in `SuppressedImpl` with a 
`FinalResultsSuppressionBuilder`. Previously, the code just assumed that some 
fields, like the suppress duration, would be null for final results 
`Suppressed` configs. Now, there is no ambiguity about that.

I'm going to make a final pass over this diff myself, but otherwise, I think 
it's ready for (another) final review.

Thanks!

[ 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