[
https://issues.apache.org/jira/browse/AVRO-3752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17721048#comment-17721048
]
ASF subversion and git services commented on AVRO-3752:
-------------------------------------------------------
Commit 97970d043d49c073e8e94f7e6e96b72e86ead5e7 in avro's branch
refs/heads/avro-3752-test-case-excessive-logging from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=97970d043 ]
AVRO-3752: [Rust] Logging flood during Union resolving
Add the test case from the ticket.
It does not log any errors
Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
> [Rust] Logging flood during Union resolving
> -------------------------------------------
>
> Key: AVRO-3752
> URL: https://issues.apache.org/jira/browse/AVRO-3752
> Project: Apache Avro
> Issue Type: Improvement
> Components: rust
> Reporter: Fedor Telnov
> Priority: Minor
>
> I'm going to speak about Rust implementation(crate) of Avro named
> "apache-avro"([crates.io|[https://crates.io/crates/apache-avro]).]
> Currently, union resolving is implemented as "iterate through listed schemas
> and find the first that matches given value". Process of finding requires
> schemas validation against that value. Validation method contains single
> "error!" macro invocation.
> So, even if union contains relevant schema as variant, previous bad matches
> would throw error! log macro. In result, with big unions, you get a flooded
> logs.
> My proposition is to write separate "validate" method that won't invoke
> error! macro and use it during union resolution.
> UPD: It seems that problem only occurs when complex types are included in
> union schema, see example in comments.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)