You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Matthew Tanous (Jira)" <ji...@apache.org> on 2024/07/08 16:04:00 UTC

[jira] [Created] (AVRO-4014) [Rust] Sporadic value-schema mismatch with fixed struct

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)