KafkaProperties currently has

    /**
     * Isolation level for reading messages that have been written transactionally.
     */
    private IsolationLevel isolationLevel = IsolationLevel.READ_UNCOMMITTED;

and

        map.from(() -> getIsolationLevel().name().toLowerCase(Locale.ROOT))
                .to(properties.in(ConsumerConfig.ISOLATION_LEVEL_CONFIG));

Please change it to use the String literal read_uncommitted instead.

It is not clear (there is some doubt) that the 2.5.0 clients will be available in time for the Boot RC this month.

Unfortunately, they have moved the IsolationLevel class up to the next package.

In order to allow us to override spring-kafka and kafka-clients to 2.5.0 with Boot 2.3, we can't have this hard reference to the class in the 2.4.x location.

Comment From: wilkinsona

For reference, this is the breaking change.

Rather than switching to something that's stringly typed, I wonder if we should create our own IsolationLevel enum so that the API can continue to be strongly typed. We could have a couple of tests that verify its values are sync with the enum in the 2.4 and 2.5 clients.

Comment From: wilkinsona

Unfortunately, we can't test against 2.5 just yet as doesn't appear to be available anywhere, even in snapshot form.