Grzegorz Liter created FLINK-34474:
--------------------------------------

             Summary: 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


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)

Reply via email to