>
> I'm happy to make PR clarifying this.  I'm a little bit concerned that if
> validation doesn't exist in Java (and maybe other languages today) if we
> make the spec stricter it could break users.  How has the community handled
> issues like this in the past?


Something similar happened for the generic API and enums, IIRC, and we
handled it by only rolling it out in a major version for the libraries
(e.g. 1.y where y is the major version for Avro releases) and release
noting it.


On Thu, May 28, 2020 at 11:47 AM Micah Kornfield <emkornfi...@gmail.com>
wrote:

> I'm happy to make PR clarifying this.  I'm a little bit concerned that if
> validation doesn't exist in Java (and maybe other languages today) if we
> make the spec stricter it could break users.  How has the community handled
> issues like this in the past?
>
> Would someone familiar with the Java implementation be able to comment if
> there is validation around this (I couldn't find it on a quick search)?
>
> Thanks,
> Micah
>
> On Thu, May 28, 2020 at 9:23 AM Doug Cutting <cutt...@gmail.com> wrote:
>
> > Yes, the intent was to prohibit namespaces starting with a dot.
> >
> > <empty> | (<name>((<dot><name>)*))  was the intended grammar.
> >
> > Doug
> >
> > On Thu, May 28, 2020 at 1:50 AM Ryan Skraba <r...@skraba.com> wrote:
> >
> > > Hello!  Hmmm... reading through the spec (again), there is a small
> > > ambiguous point!  Good catch!
> > >
> > > Specifically, it specifically says that ".a" is not a valid namespace
> > > attribute:
> > >
> > > "A namespace is a dot-separated sequence of such [non-empty] names.
> > > The empty string may also be used as a namespace ..."
> > >
> > > But it could be a valid full name: made from a valid namespace (the
> > > empty string) and a valid name.
> > >
> > > I suspect that the original intention was that it should not be a
> > > valid fullname, with the consequence that all valid fullnames are
> > > valid Java class names.
> > >
> > > If it *were* a valid fullname, however, it would be useful to
> > > distinguish between specifying the default namespace versus inheriting
> > > a namespace from a parent record!  As far as I can tell, this
> > > behaviour isn't implemented anywhere or specified in the spec either.
> > >
> > > What do you think?  The spec could be clarified either way.
> > >
> > > Ryan
> > >
> > >
> > > On Wed, May 27, 2020 at 7:20 PM Micah Kornfield <emkornfi...@gmail.com
> >
> > > wrote:
> > > >
> > > > Hi Avro Dev,
> > > > I think there is a little bit of ambiguity in the requirements for
> the
> > > > namespace component of a full name in the specification [1].  In
> > > particular
> > > > it isn't clear whether namespaces like:
> > > > ".namespace" should be considered valid (i.e. a "null" namespace
> > > followed a
> > > > valid name).
> > > >
> > > > It appears the the C++ implementation does not think this is valid
> [2]
> > > but
> > > > I couldn't find a corresponding check in the Java code base (I'm
> still
> > > > familiarizing myself with both).
> > > >
> > > > Should ".namespace" be considered valid?
> > > >
> > > > Thanks,
> > > > Micah
> > > >
> > > > [1] https://avro.apache.org/docs/current/spec.html
> > > > [2]
> > >
> https://github.com/apache/avro/blob/master/lang/c%2B%2B/impl/Node.cc#L72
> > >
> >
>


-- 
Sean

Reply via email to