[ 
https://issues.apache.org/jira/browse/AVRO-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17494213#comment-17494213
 ] 

ASF subversion and git services commented on AVRO-3405:
-------------------------------------------------------

Commit c2cc66aa84476139bd8629dda59e55dfac2f58fc in avro's branch 
refs/heads/branch-1.11 from Martin Grigorov
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=c2cc66a ]

AVRO-3405: Add API to write/read user metadata in .avro file (#1551)

* AVRO-3405 Extract duplicate code in a method

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3405 Add API to read/write user metadata in .avro files

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3405 Use 'user_metadata' consistently in the API

Simplify big method by splitting it into several ones.

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3405: Inline few trivial getters

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3405: Store user metadata as String->Bytes tuple

Fixes issues 1) and 2) from feedback at 
https://github.com/apache/avro/pull/1551#pullrequestreview-885412252

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3405: Enable builder API for Writer::user_meta_data

Add a unit test that could be used as an example how to pass the user
metadata to the builder API.
Fixes issue 3) from feedback at 
https://github.com/apache/avro/pull/1551#pullrequestreview-885412252

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3405: Test user metadata in Rust SDK interop tests

TODO: add this test to the other SDKs too

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3405: Fix an obsolete warning message

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3405: Fix formatting

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3405: Add read/write interop tests for user metadata to Perl & Java SDKs 
too

Now Rust, Perl & Java interop tests assert the values of 'stringKey' and
'bytesKey' user metadata.

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3405: Simplify the assertions of user metadata in Perl interop test

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3405: Return an error when trying to add user metadata with a key 
'avro.xyz'

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
(cherry picked from commit f888458721ce2573a6e04113a69a30ce785f8891)


> add API for user-provided metadata when writing to Object Container File
> ------------------------------------------------------------------------
>
>                 Key: AVRO-3405
>                 URL: https://issues.apache.org/jira/browse/AVRO-3405
>             Project: Apache Avro
>          Issue Type: Improvement
>          Components: rust
>    Affects Versions: 1.11.0
>         Environment: Rust Edition 2021
> avro-rs = "0.13.0"
>  
>            Reporter: Kevin
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> Other libraries provide an API for user-specified metadata to be written to 
> the header of an Avro Object Container File. In our case we have always done 
> this from Python but are now implementing new projects in Rust. This is 
> important to our use of Avro as the metadata provides critical context for 
> data handling from container files.
> As an example in Rust, see the {{avrow}} crate which [provides this 
> facility|https://docs.rs/avrow/0.2.1/avrow/struct.WriterBuilder.html] as a 
> method on its {{{}WriterBuilder{}}}. Something similar for {{avro-rs}} would 
> suit our needs.
> For a variety of reasons we are unable to use {{avrow}} in our Rust 
> development, so we need this Improvement in Apache {{{}avro-rs{}}}.
> Thank you for your consideration!



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to