diff --git a/error-handling-core/src/main/java/com/bakdata/kafka/ErrorUtil.java b/error-handling-core/src/main/java/com/bakdata/kafka/ErrorUtil.java index 070743d..3fbc6ad 100644 --- a/error-handling-core/src/main/java/com/bakdata/kafka/ErrorUtil.java +++ b/error-handling-core/src/main/java/com/bakdata/kafka/ErrorUtil.java @@ -29,6 +29,7 @@ import java.io.OutputStream; import java.nio.charset.StandardCharsets; import java.util.Objects; +import java.util.Set; import lombok.experimental.UtilityClass; import lombok.extern.slf4j.Slf4j; import org.apache.avro.Schema; @@ -51,6 +52,11 @@ public class ErrorUtil { private static final String ORG_APACHE_KAFKA_COMMON_ERRORS = "org.apache.kafka.common.errors"; + private static final String ORG_APACHE_KAFKA_STREAMS_ERRORS = "org.apache.kafka.streams.errors"; + private static final Set RECOVERABLE_ERROR_PACKAGES = Set.of( + ORG_APACHE_KAFKA_COMMON_ERRORS, + ORG_APACHE_KAFKA_STREAMS_ERRORS + ); /** * Check if an exception is recoverable and thus should be thrown so that the process is restarted by the execution @@ -68,8 +74,8 @@ public static boolean isRecoverable(final Exception e) { } /** - * Check if an exception is thrown by Kafka, i.e., located in package {@code org.apache.kafka.common.errors}, and is - * recoverable. + * Check if an exception is thrown by Kafka, i.e., located in package {@code org.apache.kafka.common.errors} or + * {@code org.apache.kafka.streams.errors}, and is recoverable. *

Non-recoverable Kafka errors are: *