Migrate to Kafka 4.0
Recipe ID
io.moderne.kafka.MigrateToKafka40Artifact
io.moderne.recipe:rewrite-kafkaMigrate applications to the latest Kafka 4.0 release. This includes updating dependencies to 4.0.x, ensuring Java 11+ for clients and Java 17+ for brokers/tools, and handling changes.
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe io.moderne.kafka.MigrateToKafka40If the recipe isn’t available locally, install it with:
mod config recipes jar install io.moderne.recipe:rewrite-kafka:0.7.4Definition
This recipe runs the following recipes in order.
- Migrate to Kafka 3.3
io.moderne.kafka.MigrateToKafka33 - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Upgrade Java to 17+ for Kafka broker/tools
io.moderne.kafka.UpgradeJavaForKafkaBroker - Upgrade Java to 11+ for Kafka clients
io.moderne.kafka.UpgradeJavaForKafkaClients - Remove deprecated Kafka property
io.moderne.kafka.RemoveDeprecatedKafkaProperties - Remove deprecated Kafka property
io.moderne.kafka.RemoveDeprecatedKafkaProperties - Remove deprecated Kafka property
io.moderne.kafka.RemoveDeprecatedKafkaProperties - Delete property by key
org.openrewrite.properties.DeleteProperty - Delete property by key
org.openrewrite.properties.DeleteProperty - Delete property by key
org.openrewrite.properties.DeleteProperty - Add comment before property key
org.openrewrite.properties.AddPropertyComment - Add comment before property key
org.openrewrite.properties.AddPropertyComment - Add comment before property key
org.openrewrite.properties.AddPropertyComment - Add comment before property key
org.openrewrite.properties.AddPropertyComment - Migrate deprecated
sendOffsetsToTransactionto useConsumerGroupMetadataio.moderne.kafka.MigrateSendOffsetsToTransaction - Migrate
KafkaConsumer.poll(long)topoll(Duration)io.moderne.kafka.MigrateConsumerPollToDuration - Migrate
KafkaConsumer.committed(TopicPartition)tocommitted(Set<TopicPartition>)io.moderne.kafka.MigrateConsumerCommittedToSet - Migrate
ConsumerGroupStatetoGroupStateio.moderne.kafka.MigrateConsumerGroupStateToGroupState - Migrate
AdminClient.alterConfigs()toincrementalAlterConfigs()io.moderne.kafka.MigrateAlterConfigsToIncrementalAlterConfigs - Change method name
org.openrewrite.java.ChangeMethodName - Delete method argument
org.openrewrite.java.DeleteMethodArgument
Data tables
Structured output this recipe can produce.
- Maven metadata failuresAttempts to resolve maven metadata that failed.
org.openrewrite.maven.table.MavenMetadataFailures - Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats