Matthew Tanous created AVRO-4014:
------------------------------------

             Summary: [Rust] Sporadic value-schema mismatch with fixed struct
                 Key: AVRO-4014
                 URL: https://issues.apache.org/jira/browse/AVRO-4014
             Project: Apache Avro
          Issue Type: Bug
          Components: rust
    Affects Versions: 1.11.3
            Reporter: Matthew Tanous


We are trying to Avro encode a structure before writing to Kafka, and when we 
are at high load writing the struct into an Avro writer (we started seeing 
around 2.6% error rates at 500K messages per minute) we start seeing this 
error: 
{code:java}
Value does not match schema: Reason: Unsupported value-schema combination{code}
This is surprising as the same logic is used to build the record in each case, 
and that record is built using the Avro record type with the same schema:
{code:java}
Record::new(&self.schema){code}

This is the code that is ultimately raising the error, but because it is not 
specifying _which_ value does not match _which_ part of the schema, it is 
extremely difficult to debug.


{code:java}
                let mut writer = Writer::new(&self.schema, Vec::new());
                writer
                    .append(record) // This will fail if the message and schema 
don't match
                    .map_err(|err| Report::msg(err.to_string()))?;{code}

A simple start would be to add logging of the value and the schema that are 
mismatched to help us debug this issue, as I'm not able to determine if the 
`apache-avro` library is doing something erroneous or our code is breaking in 
some unforeseen way.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to