Hi Did you spend more time on this?
It may be that the manual commit is not much in use, and we have not had reports on this before. But a quick glance looks like the CommitManager should maybe be made as a noop when you use manual commit. Then this will only happen when the end user calls explicit via the java code. And as such the user must be careful to do this correctly. There is a bit of code that setup manual commit and provide the java api for that on the exchange. But at the same time this commit manager are still in use, and I think then it should be a noop so nothing happens when the existing code calls commit. On Thu, Jun 5, 2025 at 9:07 AM Adithya Kashyap H M <adithyahm...@gmail.com> wrote: > Hi Team, > > We are using the Kafka Streaming processor to handle records, and we've > encountered an issue where the record is getting committed regardless of > the following configuration: > > - > > allowManualCommit = true > - > > autoCommitEnable = false > > We observed that even with these flags set, the record is still being > committed automatically. Specifically, the code in question appears to be > this line in the Camel Kafka component: > > KafkaRecordStreamingProcessorFacade.java#L122 > < > https://github.com/apache/camel/blob/6670c0b5d5619b04bc0175c651265cac8d429e60/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/streaming/KafkaRecordStreamingProcessorFacade.java#L122 > > > > This behavior effectively prevents the user from controlling when (or > whether) a commit should occur, which is critical for our use case. We need > the ability to perform a commit *only if a certain condition is met* during > processing. > > Could you please clarify if this is the intended behavior? If not, we’d > appreciate guidance on how we can enable conditional manual commit in this > setup. > > Best regards, > Adithya > -- Claus Ibsen