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)