You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Alan Gates <al...@gmail.com> on 2018/01/31 00:58:36 UTC

Yetus JDK version

I put code in the latest patch for HIVE-17983 that executes one of the
compiled classes as part of the maven build.  (It does this to
automatically generate the config template.)  This works locally and in the
ptest build.  But in the Yetus tests it fails with:

Exception in thread "main" java.lang.UnsupportedClassVersionError:
org/apache/hadoop/hive/metastore/conf/ConfTemplatePrinter : Unsupported
major.minor version 52.0

This means that it is compiling with JDK 1.8 but running it with 1.7.  How
do we switch the Yetus build so it runs maven with the correct JDK version?

Alan.

Re: Yetus JDK version

Posted by Adam Szita <sz...@cloudera.com>.
This should be fixed now, https://issues.apache.org/jira/browse/HIVE-18612
is committed and new war is deployed on our ptest server.
Alan, can you please go ahead and give it another go to see if it all works
fine?

Thanks,
Adam

On 2 February 2018 at 15:42, Adam Szita <sz...@cloudera.com> wrote:

> Hi,
>
> I've taken a look on this, and I think the problem is that although
> setting JAVA_HOME to 1.8 JDK makes maven use 1.8 java and javac, any
> subprocess forked only use "java" executable which is on PATH (and not
> checking JAVA_HOME value.)
> And on the server that is a 1.7 JRE so I'm proposing a fix in:
> https://issues.apache.org/jira/browse/HIVE-18612
> This is currently being tested, once it's good to go and the change is
> committed we'll also need to redeploy the hiveptest war on our precommit
> server.
>
> Thanks,
> Adam
>
> On 2 February 2018 at 07:29, Thejas Nair <th...@gmail.com> wrote:
>
>> + Peter, Adam (The Yetus experts)
>>
>>
>> On Thu, Feb 1, 2018 at 9:49 AM, Alan Gates <al...@gmail.com> wrote:
>>
>>> Ok, looking briefly at it, it looks like if we changed
>>> testutils/…/TestScripts.java line 76 to set javaHome to 1.8 instead of
>>> 1.7
>>> that we’ll be running ptest with 1.8.  I’m not familiar with ptest, but
>>> I’m
>>> guessing that someone would need to make this change and then re-deploy
>>> ptest in our test infrastructure.  Is there anything else we need to do?
>>> We clearly already have 1.8 installed on the test machines because the
>>> code
>>> compiles with 1.8, but I don’t know what the path is, etc.
>>>
>>> Alan.
>>>
>>> On Tue, Jan 30, 2018 at 4:58 PM, Alan Gates <al...@gmail.com>
>>> wrote:
>>>
>>> > I put code in the latest patch for HIVE-17983 that executes one of the
>>> > compiled classes as part of the maven build.  (It does this to
>>> > automatically generate the config template.)  This works locally and
>>> in the
>>> > ptest build.  But in the Yetus tests it fails with:
>>> >
>>> > Exception in thread "main" java.lang.UnsupportedClassVersionError:
>>> > org/apache/hadoop/hive/metastore/conf/ConfTemplatePrinter :
>>> Unsupported
>>> > major.minor version 52.0
>>> >
>>> > This means that it is compiling with JDK 1.8 but running it with 1.7.
>>> How
>>> > do we switch the Yetus build so it runs maven with the correct JDK
>>> version?
>>> >
>>> > Alan.
>>> >
>>>
>>
>>
>

Re: Yetus JDK version

Posted by Adam Szita <sz...@cloudera.com>.
Hi,

I've taken a look on this, and I think the problem is that although setting
JAVA_HOME to 1.8 JDK makes maven use 1.8 java and javac, any subprocess
forked only use "java" executable which is on PATH (and not checking
JAVA_HOME value.)
And on the server that is a 1.7 JRE so I'm proposing a fix in:
https://issues.apache.org/jira/browse/HIVE-18612
This is currently being tested, once it's good to go and the change is
committed we'll also need to redeploy the hiveptest war on our precommit
server.

Thanks,
Adam

On 2 February 2018 at 07:29, Thejas Nair <th...@gmail.com> wrote:

> + Peter, Adam (The Yetus experts)
>
>
> On Thu, Feb 1, 2018 at 9:49 AM, Alan Gates <al...@gmail.com> wrote:
>
>> Ok, looking briefly at it, it looks like if we changed
>> testutils/…/TestScripts.java line 76 to set javaHome to 1.8 instead of 1.7
>> that we’ll be running ptest with 1.8.  I’m not familiar with ptest, but
>> I’m
>> guessing that someone would need to make this change and then re-deploy
>> ptest in our test infrastructure.  Is there anything else we need to do?
>> We clearly already have 1.8 installed on the test machines because the
>> code
>> compiles with 1.8, but I don’t know what the path is, etc.
>>
>> Alan.
>>
>> On Tue, Jan 30, 2018 at 4:58 PM, Alan Gates <al...@gmail.com> wrote:
>>
>> > I put code in the latest patch for HIVE-17983 that executes one of the
>> > compiled classes as part of the maven build.  (It does this to
>> > automatically generate the config template.)  This works locally and in
>> the
>> > ptest build.  But in the Yetus tests it fails with:
>> >
>> > Exception in thread "main" java.lang.UnsupportedClassVersionError:
>> > org/apache/hadoop/hive/metastore/conf/ConfTemplatePrinter : Unsupported
>> > major.minor version 52.0
>> >
>> > This means that it is compiling with JDK 1.8 but running it with 1.7.
>> How
>> > do we switch the Yetus build so it runs maven with the correct JDK
>> version?
>> >
>> > Alan.
>> >
>>
>
>

Re: Yetus JDK version

Posted by Thejas Nair <th...@gmail.com>.
+ Peter, Adam (The Yetus experts)


On Thu, Feb 1, 2018 at 9:49 AM, Alan Gates <al...@gmail.com> wrote:

> Ok, looking briefly at it, it looks like if we changed
> testutils/…/TestScripts.java line 76 to set javaHome to 1.8 instead of 1.7
> that we’ll be running ptest with 1.8.  I’m not familiar with ptest, but I’m
> guessing that someone would need to make this change and then re-deploy
> ptest in our test infrastructure.  Is there anything else we need to do?
> We clearly already have 1.8 installed on the test machines because the code
> compiles with 1.8, but I don’t know what the path is, etc.
>
> Alan.
>
> On Tue, Jan 30, 2018 at 4:58 PM, Alan Gates <al...@gmail.com> wrote:
>
> > I put code in the latest patch for HIVE-17983 that executes one of the
> > compiled classes as part of the maven build.  (It does this to
> > automatically generate the config template.)  This works locally and in
> the
> > ptest build.  But in the Yetus tests it fails with:
> >
> > Exception in thread "main" java.lang.UnsupportedClassVersionError:
> > org/apache/hadoop/hive/metastore/conf/ConfTemplatePrinter : Unsupported
> > major.minor version 52.0
> >
> > This means that it is compiling with JDK 1.8 but running it with 1.7.
> How
> > do we switch the Yetus build so it runs maven with the correct JDK
> version?
> >
> > Alan.
> >
>

Re: Yetus JDK version

Posted by Alan Gates <al...@gmail.com>.
Ok, looking briefly at it, it looks like if we changed
testutils/…/TestScripts.java line 76 to set javaHome to 1.8 instead of 1.7
that we’ll be running ptest with 1.8.  I’m not familiar with ptest, but I’m
guessing that someone would need to make this change and then re-deploy
ptest in our test infrastructure.  Is there anything else we need to do?
We clearly already have 1.8 installed on the test machines because the code
compiles with 1.8, but I don’t know what the path is, etc.

Alan.

On Tue, Jan 30, 2018 at 4:58 PM, Alan Gates <al...@gmail.com> wrote:

> I put code in the latest patch for HIVE-17983 that executes one of the
> compiled classes as part of the maven build.  (It does this to
> automatically generate the config template.)  This works locally and in the
> ptest build.  But in the Yetus tests it fails with:
>
> Exception in thread "main" java.lang.UnsupportedClassVersionError:
> org/apache/hadoop/hive/metastore/conf/ConfTemplatePrinter : Unsupported
> major.minor version 52.0
>
> This means that it is compiling with JDK 1.8 but running it with 1.7.  How
> do we switch the Yetus build so it runs maven with the correct JDK version?
>
> Alan.
>