You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by Robert Yokota <ra...@gmail.com> on 2022/08/25 14:25:11 UTC

Help needed from C# committers

Hi Avro community,

I am an engineer at Confluent.  We've noticed that not many of the
per-language implementations have support for JSON encoding/decoding.  This
is an issue for us since some of our offerings rely on the JSON
encoding/decoding functionality.  For example, one of our customers has
filed https://issues.apache.org/jira/browse/AVRO-3274.

I've submitted a PR to implement C# support for the JSON
encoding/decoding.  In the future, we may contribute PRs for other
languages that are missing such support.  We could always fork the Avro
repo but would rather work with the community to get it into the Apache
project for everyone to benefit.

The way I proceeded was to use a tool to automatically generate C# for all
the Java classes. This got me about 80% there.   Then I separated out only
the classes required by the JSON encoder/decoder, and went through each
class and fixed any remaining issues.  This led me to make a few changes to
some other existing C# files, including some fixes for logical types.  In
the end, the functionality should be exactly the same as the Java
functionality.  I verified this by also porting over the Java unit tests
for the JSON encoder/decoder.

In any case, I've received a very helpful review from @KalleOlaviNiemitalo
but I understand this person is not a committer.  I've heard from a
committer but was told that a C# committer should merge the PR.
Unfortunately, I don't know who the C# committers are, and therefore don't
know how to proceed.

Is there a C# committer that can help me?

https://github.com/apache/avro/pull/1833

Thank you very much in advance,
Robert Yokota

Re: Help needed from C# committers

Posted by Martin Grigorov <mg...@apache.org>.
Hi,

I'd be happy to merge a C# PR if there are at least two approvals by other
C# users.
C# looks like Java, so I can read and understand most of the changes but
often I miss details which only someone who has previous experience can see.

My main problem is that very often C# contributors suggest API breaks. I am
not sure whether it is something really needed or just personal preference.
It would be much easier if there is an automatic tool that checks the API
compatibility as a CI job and helps us make a decision.

Martin

On Thu, Aug 25, 2022 at 6:40 PM Ryan Skraba <ry...@skraba.com> wrote:

> Hello!  I have set the fix version on the JIRA to 1.12.0 -- this
> doesn't help very much with the review, but it is a reassurance that
> we won't do a major release without addressing why the PR wasn't
> looked at. (I don't feel qualified to review C# PRs).
>
> All my best, Ryan
>
>
> On Thu, Aug 25, 2022 at 4:25 PM Robert Yokota <ra...@gmail.com> wrote:
> >
> > Hi Avro community,
> >
> > I am an engineer at Confluent.  We've noticed that not many of the
> > per-language implementations have support for JSON encoding/decoding.
> This
> > is an issue for us since some of our offerings rely on the JSON
> > encoding/decoding functionality.  For example, one of our customers has
> > filed https://issues.apache.org/jira/browse/AVRO-3274.
> >
> > I've submitted a PR to implement C# support for the JSON
> > encoding/decoding.  In the future, we may contribute PRs for other
> > languages that are missing such support.  We could always fork the Avro
> > repo but would rather work with the community to get it into the Apache
> > project for everyone to benefit.
> >
> > The way I proceeded was to use a tool to automatically generate C# for
> all
> > the Java classes. This got me about 80% there.   Then I separated out
> only
> > the classes required by the JSON encoder/decoder, and went through each
> > class and fixed any remaining issues.  This led me to make a few changes
> to
> > some other existing C# files, including some fixes for logical types.  In
> > the end, the functionality should be exactly the same as the Java
> > functionality.  I verified this by also porting over the Java unit tests
> > for the JSON encoder/decoder.
> >
> > In any case, I've received a very helpful review from
> @KalleOlaviNiemitalo
> > but I understand this person is not a committer.  I've heard from a
> > committer but was told that a C# committer should merge the PR.
> > Unfortunately, I don't know who the C# committers are, and therefore
> don't
> > know how to proceed.
> >
> > Is there a C# committer that can help me?
> >
> > https://github.com/apache/avro/pull/1833
> >
> > Thank you very much in advance,
> > Robert Yokota
>

Re: Help needed from C# committers

Posted by Ryan Skraba <ry...@skraba.com>.
Hello!  I have set the fix version on the JIRA to 1.12.0 -- this
doesn't help very much with the review, but it is a reassurance that
we won't do a major release without addressing why the PR wasn't
looked at. (I don't feel qualified to review C# PRs).

All my best, Ryan


On Thu, Aug 25, 2022 at 4:25 PM Robert Yokota <ra...@gmail.com> wrote:
>
> Hi Avro community,
>
> I am an engineer at Confluent.  We've noticed that not many of the
> per-language implementations have support for JSON encoding/decoding.  This
> is an issue for us since some of our offerings rely on the JSON
> encoding/decoding functionality.  For example, one of our customers has
> filed https://issues.apache.org/jira/browse/AVRO-3274.
>
> I've submitted a PR to implement C# support for the JSON
> encoding/decoding.  In the future, we may contribute PRs for other
> languages that are missing such support.  We could always fork the Avro
> repo but would rather work with the community to get it into the Apache
> project for everyone to benefit.
>
> The way I proceeded was to use a tool to automatically generate C# for all
> the Java classes. This got me about 80% there.   Then I separated out only
> the classes required by the JSON encoder/decoder, and went through each
> class and fixed any remaining issues.  This led me to make a few changes to
> some other existing C# files, including some fixes for logical types.  In
> the end, the functionality should be exactly the same as the Java
> functionality.  I verified this by also porting over the Java unit tests
> for the JSON encoder/decoder.
>
> In any case, I've received a very helpful review from @KalleOlaviNiemitalo
> but I understand this person is not a committer.  I've heard from a
> committer but was told that a C# committer should merge the PR.
> Unfortunately, I don't know who the C# committers are, and therefore don't
> know how to proceed.
>
> Is there a C# committer that can help me?
>
> https://github.com/apache/avro/pull/1833
>
> Thank you very much in advance,
> Robert Yokota