alanlau28 opened a new pull request, #23037:
URL: https://github.com/apache/kafka/pull/23037

   `PlainToHeadersWindowStoreAdapter` and 
`TimestampedToHeadersWindowStoreAdapter` hold the
   store they wrap in a field rather than participating in the 
`WrappedStateStore` chain, so
   `ProcessorStateManager.StateStoreMetadata.extractRetentionPeriod` — which 
finds a store's
   retention by unwrapping to the innermost layer — terminates on the adapter 
and resolves -1.
   
   A -1 fails the windowed restore gate `retentionPeriod > 0 && retentionPeriod 
!= Long.MAX_VALUE`,
   so the restore seeks the beginning of the changelog rather than skipping 
data the store would
   discard anyway. On a changelog with delete retention that means starting at 
the offset
   retention is deleting from, with no margin against being lapped.
   
   Each adapter now implements `WithRetentionPeriod` and unwraps its own 
delegate.


-- 
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]

Reply via email to