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.