I am reading the current MirrorMaker code and am trying to understand if MirrorMaker has any chance at losing messages. With the usage of the Max value for ProducerConfig.MAX_BLOCK_MS_CONFIG and ProducerConfig.RETRIES_CONFIG settings, it appears that the producer.flush() call in maybeFlushAndCommitOffsets would block forever if there were any long-term connectivity issues. The callback is called only on success in that case.
Is that correct? Thanks Vu def maybeFlushAndCommitOffsets() { > > val commitRequested = mirrorMakerConsumer.commitRequested() > > if (commitRequested || System.currentTimeMillis() - > lastOffsetCommitMs > offsetCommitIntervalMs) { > > debug("Committing MirrorMaker state.") > > producer.flush() > > commitOffsets(mirrorMakerConsumer) > > lastOffsetCommitMs = System.currentTimeMillis() > > if (commitRequested) > > mirrorMakerConsumer.notifyCommit() > > } > > } > >