osheroff/mysql-binlog-connector-java

TransactionPayloadEventDataDeserializer may lost the CompatibilityMode settings from parent EventDeserializer

Opened this issue · 1 comments

According to the implement code of TransactionPayloadEventDataDeserializer:

// Read and store events from decompressed byte array into input stream
        ArrayList<Event> decompressedEvents = new ArrayList<>();
        //  may lost the CompatibilityMode settings from parent EventDeserializer
        EventDeserializer transactionPayloadEventDeserializer = new EventDeserializer();
        ByteArrayInputStream destinationInputStream = new ByteArrayInputStream(dst);

        Event internalEvent = transactionPayloadEventDeserializer.nextEvent(destinationInputStream);
        while(internalEvent != null) {
            decompressedEvents.add(internalEvent);
            internalEvent = transactionPayloadEventDeserializer.nextEvent(destinationInputStream);
        }

we are sure that it create the default EventDeserializer to deserialize internal uncompressed event , it will lost the CompatibilityMode settings from parent EventDeserializer

@osheroff Please confirm ?