OK, originally this was part of 
https://issues.apache.org/jira/browse/ARROW-12006 and I was going to just add 
some doc on flatc, but I will make this a new bug because it's a little bigger: 
https://issues.apache.org/jira/browse/ARROW-12111

On 2021/03/23 23:40:50, Micah Kornfield <emkornfi...@gmail.com> wrote: 
> >
> > I have a concern, though. Four other languages (Java would be five) check
> > in the generated flatbuffers code, and it appears (based on a quick scan of
> > Git logs) that this is done manually. Is there a danger that the binary
> > format could change, but some language might get forgotten, and thus be
> > working with the old format?
> 
> The format changes relatively slowly and any changes at this point should
> be backwards compatible.
> 
> 
> 
> > Or is there enough interop testing that the problem would get caught right
> > away?
> 
> In most cases I would expect integration tests to catch these types of
> error.
> 
> On Tue, Mar 23, 2021 at 4:26 PM bobtins <bobti...@gmail.com> wrote:
> 
> > I'm happy to check in the generated Java source. I would also update the
> > Java build info to reflect this change and document how to regenerate the
> > source as needed.
> >
> > I have a concern, though. Four other languages (Java would be five) check
> > in the generated flatbuffers code, and it appears (based on a quick scan of
> > Git logs) that this is done manually. Is there a danger that the binary
> > format could change, but some language might get forgotten, and thus be
> > working with the old format? Or is there enough interop testing that the
> > problem would get caught right away?
> >
> > I'm new to the project and don't know how big of an issue this is in
> > practice. Thanks for any enlightenment.
> >
> > On 2021/03/23 07:39:16, Micah Kornfield <emkornfi...@gmail.com> wrote:
> > > I think checking in the java files is fine and probably better then
> > relying
> > > on a third party package.  We should make sure there are instructions on
> > > how to regenerate them along with the PR
> > >
> > > On Monday, March 22, 2021, Antoine Pitrou <anto...@python.org> wrote:
> > >
> > > >
> > > > Le 22/03/2021 à 20:17, bobtins a écrit :
> > > >
> > > >> TL;DR: The Java implementation doesn't have generated flatbuffers code
> > > >> under source control, and the code generation depends on an
> > > >> unofficially-maintained Maven artifact. Other language
> > implementations do
> > > >> check in the generated code; would it make sense for this to be done
> > for
> > > >> Java as well?
> > > >>
> > > >> I'm currently focusing on Java development; I started building on
> > Windows
> > > >> and got a failure under java/format, because I couldn't download the
> > > >> flatbuffers compiler (flatc) to generate Java source.
> > > >> The artifact for the flatc binary is provided "unofficially" (not by
> > the
> > > >> flatbuffers project), and there was no Windows version, so I had to
> > jump
> > > >> through hoops to build it and proceed.
> > > >>
> > > >
> > > > While this does not answer the more general question of checking in the
> > > > generated Flatbuffers code (which sounds like a good idea, but I'm not
> > a
> > > > Java developer), note that you could workaround this by installing the
> > > > Conda-provided flatbuffers package:
> > > >
> > > >   $ conda install flatbuffers
> > > >
> > > > which should get you the `flatc` compiler, even on Windows.
> > > > (see https://docs.conda.io/projects/conda/en/latest/ for installing
> > conda)
> > > >
> > > > You may also try other package managers such as Chocolatey:
> > > >
> > > >   https://chocolatey.org/packages/flatc
> > > >
> > > > Regards
> > > >
> > > > Antoine.
> > > >
> > >
> >
> 

Reply via email to