Skip to content

Revert "Switch maven compiler version to 17 (#18751)"#18759

Merged
cryptoe merged 1 commit intoapache:masterfrom
cryptoe:revert_stuff
Nov 20, 2025
Merged

Revert "Switch maven compiler version to 17 (#18751)"#18759
cryptoe merged 1 commit intoapache:masterfrom
cryptoe:revert_stuff

Conversation

@cryptoe
Copy link
Copy Markdown
Contributor

@cryptoe cryptoe commented Nov 19, 2025

This reverts commit cf8f995.
as this breaks hadoop ingest.

@jtuglu1
Copy link
Copy Markdown
Contributor

jtuglu1 commented Nov 19, 2025

Odd. All UT/IT tests passed. Is there a way we can somehow conditionally enable this so people who don't use hadoop ingests get the benefit of a newer compiler? Doesn't seem ideal to be stuck on JDK 11 compiler for a feature that has been deprecated. This could be done potentially with the hadoop maven profiles.

@clintropolis
Copy link
Copy Markdown
Member

Odd. All UT/IT tests passed. Is there a way we can somehow conditionally enable this so people who don't use hadoop ingests get the benefit of a newer compiler? Doesn't seem ideal to be stuck on JDK 11 compiler for a feature that has been deprecated. This could be done potentially with the hadoop maven profiles.

If i understand things correctly, I think the issue is that it would allow using language level 17 features in Druid code which is what would actually break hadoop ingestion. We don't officially support java 11 anymore, but hadoop ingestion still works because none of the parts that run there need java 17 only stuff yet.

@jtuglu1
Copy link
Copy Markdown
Contributor

jtuglu1 commented Nov 19, 2025

Odd. All UT/IT tests passed. Is there a way we can somehow conditionally enable this so people who don't use hadoop ingests get the benefit of a newer compiler? Doesn't seem ideal to be stuck on JDK 11 compiler for a feature that has been deprecated. This could be done potentially with the hadoop maven profiles.

If i understand things correctly, I think the issue is that it would allow using language level 17 features in Druid code which is what would actually break hadoop ingestion. We don't officially support java 11 anymore, but hadoop ingestion still works because none of the parts that run there need java 17 only stuff yet.

Is there a way to just detect to use JDK 11 compiler when a Hadoop profile is being used? This way the project doesn't stagnate and isn't pinned down by deprecated features (for example, enabling virtual thread or other JDK 17+ features). Virtual thread is 21 but same point applies I guess.

@clintropolis
Copy link
Copy Markdown
Member

Is there a way to just detect to use JDK 11 compiler when a Hadoop profile is being used? This way the project doesn't stagnate and isn't pinned down by deprecated features (for example, enabling virtual thread or other JDK 17+ features). Virtual thread is 21 but same point applies I guess.

I think we are just doing this artificial language level restriction until Druid 37 which iirc is the current target for removing hadoop support from the dev list threads.

There is such a thing as multi-release jars which allow using new language features but still supporting older versions, but this are kind of tedious and only very very recently even supported by intellij (and I haven't had a chance to play around much with that support so unsure how usable it is yet.. also not sure about other ide support), so should be reserved for specific features where the benefits outweigh the cost in complexity I think.

@cryptoe cryptoe merged commit be10abd into apache:master Nov 20, 2025
56 of 57 checks passed
@kgyrtkirk kgyrtkirk added this to the 36.0.0 milestone Jan 19, 2026
@jtuglu1 jtuglu1 mentioned this pull request Feb 2, 2026
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants