[ https://issues.apache.org/jira/browse/KAFKA-16196?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yash Mayya updated KAFKA-16196: ------------------------------- Description: The Cast transform currently doesn't handle invalid whole value casts gracefully. A whole value cast is configured like \{"spec": "int8"} as opposed to a field level cast like \{"spec": "field1:int8"}. If an invalid field level cast is specified (for instance - \{"spec": "field1:invalid"}), this results in a {{ConfigException}} being thrown here - [https://github.com/apache/kafka/blob/5f410ceb04878ca44d2d007655155b5303a47907/connect/transforms/src/main/java/org/apache/kafka/connect/transforms/Cast.java#L416] which is handled gracefully as a validation error here - [https://github.com/apache/kafka/blob/5f410ceb04878ca44d2d007655155b5303a47907/clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java#L605-L609] However, invalid whole value casts (for instance - \{"spec": "invalid"}) aren't handled appropriately and result in an {{IllegalArgumentException}} being thrown, which surfaces as an uncaught exception and a {{500 Internal Server Error}} response from the connector create / update / config validation REST API endpoint. was: The Cast transform currently doesn't handle invalid whole value casts gracefully. A whole value cast is configured like \{"spec": "int8"} as opposed to a field level cast like {{{}{"spec": "field1:int8"{}}}}. If an invalid field level cast is specified (for instance - {{{}{"spec": "field1:invalid"{}}}}), this results in a {{ConfigException}} being thrown here - [https://github.com/apache/kafka/blob/5f410ceb04878ca44d2d007655155b5303a47907/connect/transforms/src/main/java/org/apache/kafka/connect/transforms/Cast.java#L416] which is handled gracefully as a validation error here - [https://github.com/apache/kafka/blob/5f410ceb04878ca44d2d007655155b5303a47907/clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java#L605-L609] However, invalid whole value casts (for instance - {{{}{"spec": "invalid"{}}}}) aren't handled appropriately and result in an {{IllegalArgumentException}} being thrown, which surfaces as an uncaught exception and a {{500 Internal Server Error}} response from the connector create / update / config validation REST API endpoint. > Cast transform doesn't handle invalid whole value casts gracefully > ------------------------------------------------------------------ > > Key: KAFKA-16196 > URL: https://issues.apache.org/jira/browse/KAFKA-16196 > Project: Kafka > Issue Type: Bug > Components: connect > Reporter: Yash Mayya > Assignee: Yash Mayya > Priority: Major > > The Cast transform currently doesn't handle invalid whole value casts > gracefully. A whole value cast is configured like \{"spec": "int8"} as > opposed to a field level cast like \{"spec": "field1:int8"}. > > If an invalid field level cast is specified (for instance - \{"spec": > "field1:invalid"}), this results in a {{ConfigException}} being thrown here - > [https://github.com/apache/kafka/blob/5f410ceb04878ca44d2d007655155b5303a47907/connect/transforms/src/main/java/org/apache/kafka/connect/transforms/Cast.java#L416] > which is handled gracefully as a validation error here - > [https://github.com/apache/kafka/blob/5f410ceb04878ca44d2d007655155b5303a47907/clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java#L605-L609] > > However, invalid whole value casts (for instance - \{"spec": "invalid"}) > aren't handled appropriately and result in an > {{IllegalArgumentException}} being thrown, which surfaces as an uncaught > exception and a {{500 Internal Server Error}} response from the connector > create / update / config validation REST API endpoint. -- This message was sent by Atlassian Jira (v8.20.10#820010)