allthingssecurity commented on PR #28638: URL: https://github.com/apache/camel/pull/28638#issuecomment-6489458888
@davsclaus thanks for the review. Changes in 2e95c7f6fa80 (one new commit on top), then 5b9a2114ae08 merges main into the branch, because main gained a 4.24 upgrade-guide entry at the end of the file since this branch was cut (main's sections first, ours after; no code change in the merge): - `WriteAheadResumeStrategy:322`: an `IOException` while the old log is opened or read (such as no permission) now has its own WARN, with the number of entries read before it and the stack trace at DEBUG. An incomplete or invalid record keeps the old message, including `BufferTooSmallException` (a record larger than the read buffer, which is an `IOException` subclass). - `:317`: the last entry of each key is found by the serialized key and the key metadata. Camel writes metadata 0 today, so logs it wrote replay as before. New test `entriesOfTheSameSerializedKeyWithAnotherKeyMetadataAreDifferentKeys`; with de-duplication by the bytes alone it fails (`[key-0=2]` instead of `[key-0=1, key-0=2]`). - `:94`: `maxRecordCount` is now a final field set by a package-private constructor; the test uses that constructor. - Body: camel-4.23.x is no longer listed as a backport target. The branch exists, but it has had no commit and no PR since the 4.23.0 release. camel-wal: 58 tests, 0 failures; `WriteAheadResumeStrategyRestartTest` passed 20 runs in one JVM. On your two other points: - `updateLastOffset` at every start: yes, that is intended. Replay never worked before, so after this change every start hands the delegate the last unconfirmed offset of each key (for `SingleNodeKafkaResumeStrategy` a produce during the route start, and for a delegate that never calls back, the same offsets again at each start). The 4.24 upgrade guide entry says so; it needs your (or another maintainer's) OK as a behaviour decision. - Size: about 1,380 diff lines, with the CAMEL-26088 follow-ups folded in as offered on #28596. If you prefer, I can split it into (1) `LogReader` coping with a cut-short or invalid record, (2) the replay in `start()`/`loadCache()` with the roll-over check, and (3) the `TransactionLog`/`LogWriter` fold-ins from #28596. Tell me and I will open them as separate PRs. _Claude Code on behalf of allthingssecurity_ -- 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]
