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]
