cadonna commented on PR #18739:
URL: https://github.com/apache/kafka/pull/18739#issuecomment-2627367592

   > @cadonna Changes about buffers will be added to this PR. However, despite 
my tests using `suppress()`, I did not manage to lose the `rawKey` and 
`rawValue` for now. I'm always receiving a value for these fields in the 
`processingExceptionHandler`.
   
   I believe, your test needs to flush the buffer so that the records are 
written to the changelog topic and then restore the buffer from the changelog 
topic by stopping and re-starting the app.
   
   Useful code:
   - The record is written to the set of dirty keys: 
https://github.com/apache/kafka/blob/291523e3e40567f961b4d94068e6946d751d18e4/streams/src/main/java/org/apache/kafka/streams/state/internals/InMemoryTimeOrderedKeyValueChangeBuffer.java#L489
   - The set of dirty keys is flushed to the changelog: 
https://github.com/apache/kafka/blob/291523e3e40567f961b4d94068e6946d751d18e4/streams/src/main/java/org/apache/kafka/streams/state/internals/InMemoryTimeOrderedKeyValueChangeBuffer.java#L247
   - The buffer is restored from the changelog: 
https://github.com/apache/kafka/blob/291523e3e40567f961b4d94068e6946d751d18e4/streams/src/main/java/org/apache/kafka/streams/state/internals/InMemoryTimeOrderedKeyValueChangeBuffer.java#L300
  


-- 
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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to