I mentioned earlier that Hadoop requires protobuf to be installed.  It is a 
little inconvenient but it’s a 1 time setup.  We can add a bit more 
documentation with all the full steps on how to install it and where to get it. 
I’ve worked on projects before in the past where I need mysql setup and 
running.  I work on the Hadoop KMS/keyprovider and I have to modify my JRE by 
installing the Unlimited JCE jars.  So at least in my experience, there has 
always been some external dependency required before I can start developing.  
It’s annoying, but not a problem as long as the instructions are clear and 
complete.

>This also may confuse IDEs people use (since there are files that needs to be 
>built in order to be seen.
I’m not sure about most, but I’d expect nearly all devs to do a build of the 
project as soon as they check it out.  Then it will generate those files. The 
thrift generation is now part of the default mvn profile so they can’t not not 
have it generated for a full build.

As far as using 0.9.3, is there a reason as to why we’re on this version? Can 
we update to a later release?

> On Mar 27, 2018, at 7:51 PM, Alexander Kolbasov <ak...@cloudera.com> wrote:
> 
> I have some concerns there. It is, indeed, a problem every time you need to
> do thrift changes, but so fat this was usually a rare event. Having thrift
> as a requirement makes life inconvenient - for example the thrift version
> that I have on my laptop is 0.11.0 and I have to do something special to
> get outdated thrift 0.9.3. This also may confuse IDEs people use (since
> there are files that needs to be built in order to be seen.
> 
> On the plus side all thrift changes will work automatically and people
> wouldn't incidentally apply changes to thrift files.
> 
> On Tue, Mar 27, 2018 at 1:34 PM, Stephen Moist <mo...@cloudera.com> wrote:
> 
>> Looks like it about 5 seconds.
>> 
>> org.apache.thrift.tools:maven-thrift-plugin
>> 
>>> On Mar 27, 2018, at 3:27 PM, Sergio Pena <sergio.p...@cloudera.com>
>> wrote:
>>> 
>>> Thanks  Stephen for stepping into this issue. I've seen this issue before
>>> and it is tedious to manually roll back each file. But because I don't
>>> generate thrift sources too often, then I didn't care at that time.
>>> 
>>> Anyway, thrift apis are in source control to the time generating them in
>>> every compile I assume.
>>> How much extra time we'll have if we send them to the target/ directory
>> and
>>> generate them on every compilation?
>>> 
>>> What maven plugin are you talking about?
>>> 
>>> On Tue, Mar 27, 2018 at 1:59 PM, Stephen Moist <mo...@cloudera.com>
>> wrote:
>>> 
>>>> Hey all, I’ve started writing some skeleton apis for ABAC.  In the
>>>> process, I’ve had to regenerate the Thrift api.  Anytime that happens,
>> it
>>>> regenerates all the files and gives it a new timestamp.  So when I look
>> in
>>>> git, it shows 75+ files have changed in addition to my new set of
>> apis.  I
>>>> then have to manually roll back each file.  As a development process
>> this
>>>> is terrible.  So…
>>>> 
>>>> 1) Is there any reason why we need thrift apis in source control?
>>>> 2) Anyone object to using a newer maven plugin to generate the thrift
>> apis
>>>> on build time?
>>>> 2a) This requires all developers to install thrift 0.9.3.   I personally
>>>> don’t see a problem as I have to have protobuf installed to compile
>>>> hadoop.  (Most sentry devs probably already have it anyway)
>>>> 2b) This will impact build systems to have thrift compiler installed.
>>>> 3) This prevents the above headache and makes it far simpler and faster
>> to
>>>> develop for Sentry.  And makes for happier devs.
>>>> 4) Dumping generated code into target/generated-sources is a standard
>>>> development practice when working against a known schema.
>> 
>> 

Reply via email to