mjsax commented on code in PR #17005:
URL: https://github.com/apache/kafka/pull/17005#discussion_r1735363445


##########
streams/src/main/java/org/apache/kafka/streams/StreamsConfig.java:
##########
@@ -531,15 +531,33 @@ public class StreamsConfig extends AbstractConfig {
     public static final String DEFAULT_CLIENT_SUPPLIER_CONFIG = 
"default.client.supplier";
     public static final String DEFAULT_CLIENT_SUPPLIER_DOC = "Client supplier 
class that implements the 
<code>org.apache.kafka.streams.KafkaClientSupplier</code> interface.";
 
-    /** {@code default.deserialization.exception.handler} */
+    /**
+     * {@code default.deserialization.exception.handler}
+     * @deprecated since 4.0; use {@link 
#DESERIALIZATION_EXCEPTION_HANDLER_CLASS_CONFIG} instead
+     */
     @SuppressWarnings("WeakerAccess")
+    @Deprecated
     public static final String 
DEFAULT_DESERIALIZATION_EXCEPTION_HANDLER_CLASS_CONFIG = 
"default.deserialization.exception.handler";
+    @Deprecated
     public static final String 
DEFAULT_DESERIALIZATION_EXCEPTION_HANDLER_CLASS_DOC = "Exception handling class 
that implements the 
<code>org.apache.kafka.streams.errors.DeserializationExceptionHandler</code> 
interface.";
 
-    /** {@code default.production.exception.handler} */
+    /** {@code deserialization.exception.handler} */
     @SuppressWarnings("WeakerAccess")
+    public static final String DESERIALIZATION_EXCEPTION_HANDLER_CLASS_CONFIG 
= "deserialization.exception.handler";
+    static final String DESERIALIZATION_EXCEPTION_HANDLER_CLASS_DOC = 
"Exception handling class that implements the 
<code>org.apache.kafka.streams.errors.DeserializationExceptionHandler</code> 
interface.";
+
+    /**
+     * {@code default.production.exception.handler}
+     * @deprecated since 4.0. Use {@link 
#PRODUCTION_EXCEPTION_HANDLER_CLASS_CONFIG} instead

Review Comment:
   ```suggestion
        * @deprecated since 4.0; use {@link 
#PRODUCTION_EXCEPTION_HANDLER_CLASS_CONFIG} instead
   ```



##########
streams/src/main/java/org/apache/kafka/streams/StreamsConfig.java:
##########
@@ -1910,11 +1938,45 @@ public TimestampExtractor defaultTimestampExtractor() {
         return getConfiguredInstance(DEFAULT_TIMESTAMP_EXTRACTOR_CLASS_CONFIG, 
TimestampExtractor.class);
     }
 
+    public DeserializationExceptionHandler deserializationExceptionHandler() {
+        if 
(originals().containsKey(DESERIALIZATION_EXCEPTION_HANDLER_CLASS_CONFIG) &&
+            
originals().containsKey(DEFAULT_DESERIALIZATION_EXCEPTION_HANDLER_CLASS_CONFIG))
 {
+            log.warn("Both the deprecated and new config for deserialization 
exception handler are configured. " +
+                "The deprecated one will be ignored.");
+        }
+        if 
(originals().containsKey(DESERIALIZATION_EXCEPTION_HANDLER_CLASS_CONFIG)) {
+            return 
getConfiguredInstance(DESERIALIZATION_EXCEPTION_HANDLER_CLASS_CONFIG, 
DeserializationExceptionHandler.class);
+        } else {
+            return defaultDeserializationExceptionHandler();
+        }
+    }
+
+    /**
+     * @deprecated as of kafka 4.0; use {@link 
#deserializationExceptionHandler()} instead

Review Comment:
   ```suggestion
        * @deprecated since 4.0; use {@link #deserializationExceptionHandler()} 
instead
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to