I agree, it wouldn't help given the fact that we won't be able to use the
features in newer JDKs.

However, I think there is still a difference in the artifact compiled by
JDK8, vs compiled by JDK11 with --release=8, that might be useful. For
example, I came across this try with resource introduces unreachable byte
code issue
<https://stackoverflow.com/questions/25615417/try-with-resources-introduce-unreachable-bytecode/25746587#25746587>
which is fixed in JDK11, and some optimizations in JDK9 related to string
concatenation <https://openjdk.org/jeps/280>. Although Javac is not an
optimizing compiler and there should not be much difference in performance
of the jars produced by different compilers, these changes might be worth
for the project to declare a newer compile-time JDK across all modules, and
just always enforce --release flag to 8 to ensure people do not use newer
JDK features. But these are quite minor changes so I am not very
opinionated either way.

Any thoughts?

-Jack

On Mon, Apr 24, 2023 at 2:22 AM Zoltán Borók-Nagy <borokna...@apache.org>
wrote:

> Besides Hive, neither Impala is compatible with Java11 right now. This
> work is in-progress: https://issues.apache.org/jira/browse/IMPALA-11360
>
> - Zoltan
>
> On Mon, Apr 24, 2023 at 11:07 AM Mass Dosage <massdos...@gmail.com> wrote:
>
>> I agree with Ryan, unless you can change the source version there's not
>> that much point.
>>
>> On the Hive front, as you can see from that ticket it's been open for
>> 4(!) years and hasn't received much action recently. I think it's one of
>> the reasons AWS EMR still defaults to Java 8. It would be really great if
>> they could finally push that one over the finish line.
>>
>> On Sat, 22 Apr 2023 at 20:43, Ryan Blue <b...@tabular.io> wrote:
>>
>>> I think in order to publish multiple versions we would need to have
>>> different artifact names, like Scala uses (e.g. _2.12).
>>>
>>> It probably also wouldn't help. If we have to remain compatible with JDK
>>> 8, then publishing some artifacts for JDK 11 would still mean only using
>>> JDK 8 features. The source version is what we care about more, so if we
>>> can't change it then we can't really do anything else.
>>>
>>> On Sat, Apr 22, 2023 at 10:12 AM Jack Ye <yezhao...@gmail.com> wrote:
>>>
>>>> Would it be an option to use --release flag to control the release
>>>> target version, and publish 2 versions of the library to Maven, 1 for JDK8
>>>> and 1 for JDK11?
>>>>
>>>> Jack
>>>>
>>>> On Fri, Apr 21, 2023 at 5:17 PM Ryan Blue <b...@tabular.io> wrote:
>>>>
>>>>> Looks like Hive isn't quite done migrating to Java 11:
>>>>> https://issues.apache.org/jira/browse/HIVE-22415
>>>>>
>>>>> I'm not sure whether that's still a problem, but we currently don't
>>>>> build Hive 3 support unless we're using Java 8. That makes me think that
>>>>> dropping JDK 8 support would probably also make it a lot more difficult 
>>>>> for
>>>>> Hive to do releases based on Iceberg. Even with some of the integration
>>>>> moving into the Hive project, if we started shipping JDK 11 Jars then Hive
>>>>> would no longer be able to update.
>>>>>
>>>>> Ryan
>>>>>
>>>>> On Fri, Apr 21, 2023 at 5:02 PM Anton Okolnychyi
>>>>> <aokolnyc...@apple.com.invalid> wrote:
>>>>>
>>>>>> Sorry, I wasn’t clear that I also imply dropping JDK 8 (unless there
>>>>>> is a good reason to keep it?).
>>>>>>
>>>>>> - Anton
>>>>>>
>>>>>> On Apr 21, 2023, at 4:59 PM, Ryan Blue <b...@tabular.io> wrote:
>>>>>>
>>>>>> Would we also drop support for JDK 8?
>>>>>>
>>>>>> On Fri, Apr 21, 2023 at 4:58 PM Anton Okolnychyi <
>>>>>> aokolnyc...@apple.com.invalid> wrote:
>>>>>>
>>>>>>> Following up on the discussion in the Spark 2.4 thread, shall we
>>>>>>> move to JDK 11 for releases as Spark 2.4 support has been dropped?
>>>>>>>
>>>>>>> - Anton
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Ryan Blue
>>>>>> Tabular
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Ryan Blue
>>>>> Tabular
>>>>>
>>>>
>>>
>>> --
>>> Ryan Blue
>>> Tabular
>>>
>>

Reply via email to