[
https://issues.apache.org/jira/browse/FLINK-34474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-34474:
-----------------------------------
Labels: pull-request-available (was: )
> After failed deserialization with ConfluentRegistryAvroDeserializationSchema
> all subsequent deserialization fails
> -----------------------------------------------------------------------------------------------------------------
>
> Key: FLINK-34474
> URL: https://issues.apache.org/jira/browse/FLINK-34474
> Project: Flink
> Issue Type: Bug
> Components: Formats (JSON, Avro, Parquet, ORC, SequenceFile)
> Affects Versions: 1.18.1
> Environment: * Locally executed, without Flink cluster.
> * Flink on Kubernetes
> Reporter: Grzegorz Liter
> Priority: Major
> Labels: pull-request-available
>
> Steps to reproduce:
> # Create ConfluentRegistryAvroDeserializationSchema instance for specific
> Avro
> # Parse invalid byte representation of serialized Avro event
> # Parse valid byte representation of serialized Avro event
> Expected:
> Validation in step 3 is successful
>
> Actual:
> Validation in step 3 fails
> Short code example, I cannot attach full examples at this time:
> ```
> public class DeserializationTest {
> public static void main(String[] args) throws Exception {
> byte[] valid = new byte[]{
> ...
> };
> byte[] invalid = new byte[]{
> ...
> };
> ConfluentRegistryAvroDeserializationSchema<RawEvent> deserializer =
> ConfluentRegistryAvroDeserializationSchema.forSpecific(RawEvent.class, valid
> schema registry url);
> System.out.println("deserialize valid");
> des(deserializer, valid);
> System.out.println("deserialize invalid");
> des(deserializer, invalid);
> System.out.println("deserialize valid");
> des(deserializer, valid);
> System.out.println("deserialize valid");
> des(deserializer, valid);
> }
> private static void
> des(ConfluentRegistryAvroDeserializationSchema<RawEvent> deserializer, byte[]
> bytes) {
> try {
> deserializer.deserialize(bytes);
> System.out.println("VALID");
> } catch (Exception e) {
> System.out.println("FAILED: " + e);
> }
> }
> }
> ```
> Console output:
> ```
> deserialize valid
> VALID
> deserialize invalid
> FAILED: java.lang.ArrayIndexOutOfBoundsException: Index -154 out of bounds
> for length 2
> deserialize valid
> FAILED: java.lang.ArrayIndexOutOfBoundsException: Index 24 out of bounds for
> length 2
> deserialize valid
> FAILED: java.lang.ArrayIndexOutOfBoundsException: Index 25 out of bounds for
> length 2
> ```
--
This message was sent by Atlassian Jira
(v8.20.10#820010)