mirror of
https://github.com/apache/rocketmq.git
synced 2026-10-25 10:03:57 +08:00
CheckpointFile.read builds the IOException for a crc32 mismatch with a "file=%s" label but passes expectedCrc32 into it, so an operator who opens a corrupted checkpoint reads e.g. "file=823222925" - a checksum where the path that failed to load is expected - and the expected value itself is never named. Pass the path that was read and label the expected checksum, and pin it with the case that corrupts both the checkpoint and the .bak fallback read() falls back to.