lizhimins commented on issue #10658: URL: https://github.com/apache/rocketmq/issues/10658#issuecomment-5113860924
补充一点关于持久化层的背景:`PopConsumerStore` 底层使用 RocksDB,其 WAL(Write-Ahead Log)机制保证了批量写入的原子性——`writeRecords` 和 `deleteRecords` 在一次 batch write 中要么全部成功、要么全部失败,不存在"部分记录持久化、部分丢失"的中间状态。修复方向应在 per-record 的 revive 阶段做错误隔离(catch 异常后将失败记录加入 failureList 重试调度),让批次整体流程能继续推进到持久化阶段。 --- One additional note on the persistence layer: `PopConsumerStore` is backed by RocksDB, whose WAL (Write-Ahead Log) guarantees atomicity for batch writes — `writeRecords` and `deleteRecords` within a single batch either all succeed or all fail; there is no intermediate state where some records are persisted and others are lost. The fix should focus on error isolation at the per-record revive stage (catch the exception, add the failed record to failureList for retry scheduling), so the batch flow can proceed to the persistence stage as a whole. -- 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]
