read_committed not exposed in Kafka configuration


public static final String ISOLATION_LEVEL_CONFIG = "isolation.level";
public static final String ISOLATION_LEVEL_DOC = "<p>Controls how to read messages written transactionally. If set to <code>read_committed</code>, consumer.poll() will only return" +
 " transactional messages which have been committed. If set to <code>read_uncommitted</code>' (the default), consumer.poll() will return all messages, even transactional messages" +
 " which have been aborted. Non-transactional messages will be returned unconditionally in either mode.</p> <p>Messages will always be returned in offset order. Hence, in " +
 " <code>read_committed</code> mode, consumer.poll() will only return messages up to the last stable offset (LSO), which is the one less than the offset of the first open transaction." +
 " In particular any messages appearing after messages belonging to ongoing transactions will be withheld until the relevant transaction has been completed. As a result, <code>read_committed</code>" +
 " consumers will not be able to read up to the high watermark when there are in flight transactions.</p><p> Further, when in <code>read_committed</code> the seekToEnd method will" +
 " return the LSO";


We're using transactions. When transactions are set it should either automatically be set to read_committed and/or allow the user to overwrite this setting in application.properties.

I’ve just noticed:


if (transactionIdPrefix == null) {
 throw new IllegalStateException("transactionalIdPrefix cannot be empty");
}

We choose to use transactions but it looks like that's not really a choice and therefore Axon should probably bias to a different isolation level.

I apologize jumped the gun. That conditional was defined inside @ConditionalOnProperty(“axon.kafka.producer.transaction-id-prefix”)