You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Fokko (via GitHub)" <gi...@apache.org> on 2023/04/14 09:07:18 UTC

[GitHub] [thrift] Fokko opened a new pull request, #2785: THRIFT-5702: Support Java 8

Fokko opened a new pull request, #2785:
URL: https://github.com/apache/thrift/pull/2785

   <!-- Explain the changes in the pull request below: -->
   
   I think it makes sense to support Java 8 as well. It is still being supported until 2030, and it looks like we're not using any Java 11+ features.
   
   <!-- We recommend you review the checklist/tips before submitting a pull request. -->
   
   - [x] Did you create an [Apache Jira](https://issues.apache.org/jira/projects/THRIFT/issues/) ticket?  ([Request account here](https://selfserve.apache.org/jira-account.html), not required for trivial changes)
   - [x] If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
   - [x] Did you squash your changes to a single commit?  (not required, but preferred)
   - [x] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
   - [x] If your change does not involve any code, include `[skip ci]` anywhere in the commit message to free up build resources.
   
   <!--
     The Contributing Guide at:
     https://github.com/apache/thrift/blob/master/CONTRIBUTING.md
     has more details and tips for committing properly.
   -->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] ctubbsii commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1513703917

   > we kind of removed this not long ago. is there a possibility that downstream projects migrate to java 11?
   
   That's my thought as well. If projects aren't ready to migrate to Java 11, they can just continue using the older versions of Thrift. That shouldn't stop newer versions of Thrift from moving forward on Java 11. If all projects wait on all other projects, nobody ever moves forward.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] pan3793 commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1521119493

   > I'm not sure how this is relevant at all.
   
   @ctubbsii All things I listed prove that Java8 is adopted widely and has good support in the Hadoop ecosystem today, to be clear, I don't oppose thrift support new Java versions, I just think we should not drop Java8 support.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] ctubbsii commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1515702543

   I still think it's a mistake to move backwards. We're just going to hit up against this again and need to have the conversation all over again.
   
   There is value in moving the baseline, even if we haven't yet leveraged the newer Java features. If a contributor comes along and wants to make an improvement that uses Java 11, now they need to convince the community to move to Java 11 **and** adopt their changes. If we've already moved the baseline modestly (and 8 to 11 is pretty modest), then all they need to do is convince Thrift to adopt their changes on that newer baseline. If we don't move the baseline ahead of time, then we're asking contributors to justify moving to 11 whenever they want to make a change that uses 11. Those contributors are likely to face questions like: "can you rewrite this in a Java 8 way?" or "is this really important enough of a feature to justify moving to 11?". It's extra work for every contributor to justify the baseline move for *their* changes.
   
   Projects with requirements on older Java versions can just use older Thrift releases. They *don't have to upgrade* Thrift so aggressively. If they need Java 8, they can use a version of Thrift that is appropriate for Java 8. They don't have to use the newer version. What kind of project is updating its dependencies so aggressively, but insists on its dependencies update themselves conservatively? Either those projects can update aggressively, and expect their dependencies to do the same, or they can update conservatively, and stay on the older version. Either way, it should not be a problem for Thrift to update to a newer Java version for its next release. This is no different than with other libraries. Consider Jetty. Jetty 11 uses JakartaEE (jakarta) instead of JavaEE (javax) libraries. We would obviously recognize the argument as flawed if somebody insisted that Jetty 11 continue using JavaEE libraries because JavaEE is still ubiquitous. No, those projects needing to stay using
  JavaEE would just use Jetty 10, and not upgrade to Jetty 11. Again, I will say it: you do not have to update. But that's *your* choice because it's better for *your* project. Thrift should still be able to update in its next releases, because that's better for the Thrift project.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] pan3793 commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1521110264

   @ctubbsii it says support running on Java11, still supports Java8. And HADOOP-16795 is open, the latest Hadoop does not pass compiling in JDK11 now.
   
   The latest AWS EMR uses Java8 by default.
   https://docs.aws.amazon.com/emr/latest/ReleaseGuide/configuring-java8.html 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jens-G commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jens-G (via GitHub)" <gi...@apache.org>.
Jens-G commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1601618088

   > Did this ever make it to a mailing list conversation?
   
   Sure, It's in the archives. 
   
   BTW I wonder why one would need 3 tickets with the exact same content?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] ctubbsii commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1521091376

   > +1, Thrift is one the most important infrastructure components in Hadoop ecosystem, and the whole Hadoop ecosystem stays on Java8 today.
   
   Hadoop [specifically says it supports running on Java 11 for 3.3 and up]( https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions). It is not necessary to stay on Java 8 to work within the Hadoop ecosystem.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jens-G closed pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jens-G (via GitHub)" <gi...@apache.org>.
Jens-G closed pull request #2785: THRIFT-5702: Support Java 8
URL: https://github.com/apache/thrift/pull/2785


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jimexist (via GitHub)" <gi...@apache.org>.
Jimexist commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1511365367

   @ctubbsii and @fishy any concerns blocking this?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Fokko commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Fokko (via GitHub)" <gi...@apache.org>.
Fokko commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1514786347

   > could you fix the CI first?
   
   Done!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Fokko commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Fokko (via GitHub)" <gi...@apache.org>.
Fokko commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1521989175

   @Jimexist Done!
   
   > Can you find a counter argument that say maybe by 2024 it is a good time for thrift to upgrade to Java 11+? How about if later when I want to introduce https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.html into the package?
   
   I think using the HttpClient is reason enough to drop Java 8, I'm not against dropping it, but it feels silly to exclude Java 8 when it isn't needed.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] ctubbsii commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1521115782

   > @ctubbsii it says support running on Java11, still supports Java8. And HADOOP-16795 is open, the latest Hadoop does not pass compiling on JDK11 now.
   
   Yeah. That info was also at the link I provided. But it's not relevant. You don't need to build Thrift and Hadoop in the same environment for them to be compatible. You just need them to run in the same environment, and Hadoop runs just fine in Java 11.
   
   > The latest AWS EMR uses Java8 by default. https://docs.aws.amazon.com/emr/latest/ReleaseGuide/configuring-java8.html
   
   I'm not sure how this is relevant at all. EMR's default configuration has no bearing on whether Hadoop requires Thrift to stay on 8 or not. EMR can be configured to run on 11, and you can run Hadoop without EMR.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] ctubbsii commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1529180885

   > For this specific change, i wonder if we can leverage [maven artifact classifier](https://docs.gradle.org/current/userguide/feature_variants.html) to support both versions?
   
   That's not necessary, and a bit overkill for libthrift.jar to produce separate artifacts. The artifacts will basically be equivalent, as Thrift doesn't use any complicated language-specific features/assumptions. The only difference would be byte code version, and Java 8 byte code runs just fine in Java 11, so it's just not necessary.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Fokko commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Fokko (via GitHub)" <gi...@apache.org>.
Fokko commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1537069199

   @Jimexist Looks like Kotlin requires still Java 8+:
   
   ```
   ===============================================================================
   Error: A JNI error has occurred, please check your installation and try again
   Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/thrift/test/TestClientKt has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
   	at java.lang.ClassLoader.defineClass1(Native Method)
   	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
   	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
   	at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
   	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
   	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
   	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
   	at java.security.AccessController.doPrivileged(Native Method)
   	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
   	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
   	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
   	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
   	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)
   ===============================================================================
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] ctubbsii commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1523989739

   > > You can still keep up the latest version in any release series that you consider "currently active"
   > 
   > But that's what we do.- The most recent one.
   
   Maybe I wasn't clear enough. What I was trying to say is that you could have more than one release series considered "currently active" and leave up the most recent of *each* series. That would still be compatible with INFRA release distribution policy.
   
   For example, if the PMC decided that 0.9.x and 0.12.x are considered currently active in addition to the latest, 0.18.x, then you could have 0.9.3.1, 0.12.0, and 0.18.1 up there. INFRA distribution policy would only dictate that 0.18.0, 0.9.0, 0.9.1, 0.9.2, and 0.9.3 are archived (plus all 0.13.x-0.17.x). It doesn't require you to archive 0.9.3.1 and 0.12.0 if the PMC still considers those to be active.
   
   What seems to be happening today is that Thrift only considers 0.18.x to be currently active, so 0.18.1 is available, but nothing earlier. But that can change with a simple PMC decision.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] wgtmac commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "wgtmac (via GitHub)" <gi...@apache.org>.
wgtmac commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1509474501

   > we kind of removed this not long ago. is there a possibility that downstream projects migrate to java 11?
   
   That probably means `parquet-mr` cannot upgrade until java 8 is supported. Sigh.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Fokko commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Fokko (via GitHub)" <gi...@apache.org>.
Fokko commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1510824160

   @wgtmac I'm also all in for progressive upgrading of packages, but unfortunately, I think it is too early to drop Java 8.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jimexist (via GitHub)" <gi...@apache.org>.
Jimexist commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1517134748

   > @ctubbsii Don't think we're going to agree on this one.
   > 
   > > Those contributors are likely to face questions like: "can you rewrite this in a Java 8 way?" or "is this really important enough of a feature to justify moving to 11?".
   > 
   > This didn't happen since May 2022 since it still compiles perfectly fine against Java 8...
   > 
   > > Again, I will say it: you do not have to update. But that's your choice because it's better for your project. Thrift should still be able to update in its next releases, because that's better for the Thrift project.
   > 
   > I also disagree there. I think it is best for Thrift as well to cater to the widest possible audience. Interoperability?
   > 
   > > They don't have to upgrade Thrift so aggressively.
   > 
   > Of course, this is true, but as you can see in the maven central screenshot above, there are security vulnerabilities. Also, it potentially blocks upgrading the transitive dependencies of Thrift. Also, I like to use UUIDs.
   > 
   > Anyway. I've updated the CI. Against Kotlin it is still Java11+ because the formatter doesn't work with Java8.
   
   I think @ctubbsii has a point in that there's no perfect timing for thrift to upgrade - any time any one adds some new functionality it'll be hard to anyone still on Java 8 to pick it up if the upgrade is done. And sadly also there's no way to distribute with source instead of `.class` via maven central.
   
   Can you find a counter argument that say maybe by 2024 it is a good time for thrift to upgrade to Java 11+? How about if later when I want to introduce https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.html into the package?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] fishy commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "fishy (via GitHub)" <gi...@apache.org>.
fishy commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1513777235

   > So Java 8 has been removed since [May 2022 in Thrift](https://github.com/apache/thrift/commit/c4e96c75758d94a79dae925b1daae0c950823057), with the argument to start using Java 11 features. From today and onwards this hasn't been used (it still compiles with Java 8). Java 8 is still supported (for security patches) until 2030 and many projects are still using it.
   > 
   > According to Maven central many people are still on `1.16.0` or `1.14.1`: <img alt="image" width="703" src="https://user-images.githubusercontent.com/1134248/232896165-75dec1d4-00ba-4046-8fb3-2bb0e350ab62.png">
   > 
   > I took the time and effort to come over here to create a PR, but probably a lot of people don't care.
   > 
   > Why add another barrier to make it even harder for people to adopt newer versions? I think for `parquet-mr` it is very interesting to add support for UUIDs. However, we can't drop Java8 yet, and the price for not upgrading is not that high because the new features in the later Java versions are nice to have, but not required.
   > 
   > If Thrift cares about interoperability, and having support across many languages (including versions), then we should support Java8.
   
   The price is on both sides. Yes on one side dropping the support to java 8 means that projects still on java 8 can no longer update to newer version of thrift. But on the other side, not dropping the support to java 8 means that thrift project can not use any new feature that's introduced after java 8.
   
   This is a matter we discussed in [thrift's maillist](https://lists.apache.org/thread/qlrtxc1yvrzdjkf1gqd2zcnvr49lz5y7), @Jimexist listed some of the features we _plan_ to use that requires the dropping of java 8.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Fokko commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Fokko (via GitHub)" <gi...@apache.org>.
Fokko commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1516636548

   @ctubbsii Don't think we're going to agree on this one.
   
   > Those contributors are likely to face questions like: "can you rewrite this in a Java 8 way?" or "is this really important enough of a feature to justify moving to 11?".
   
   This didn't happen since May 2022 since it still compiles perfectly fine against Java 8...
   
   > Again, I will say it: you do not have to update. But that's your choice because it's better for your project. Thrift should still be able to update in its next releases, because that's better for the Thrift project.
   
   I also disagree there. I think it is best for Thrift as well to cater to the widest possible audience. Interoperability?
   
   >  They don't have to upgrade Thrift so aggressively. 
   
   Of course, this is true, but as you can see in the maven central screenshot above, there are security vulnerabilities. Also, it potentially blocks upgrading the transitive dependencies of Thrift. Also, I like to use UUIDs.
   
   Anyway. I've updated the CI. Against Kotlin it is still Java11+ because the formatter doesn't work with Java8.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] ctubbsii commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1522516313

   > Releases are currently done about twice a year, patches only when its really, really necessary. Although we have released patch versions in the past, the usual policy is to maintain only the last one.
   > 
   > Since we also got a nice email from INFRA some time ago in that regard, we now also consequently remove any old versions from the ASF download servers, i.e. you can't even download them anymore that way. Only whats out there and available through 3rd party package managers and CDNs like maven, nuget or the like, and of course [right here from GitHub](https://github.com/apache/thrift/releases).
   
   You can still keep up the latest version in any release series that you consider "currently active". Accumulo has the latest 1.10.x and 2.1.x right now. Hadoop has the latest 3.3.x, 3.2.x, and  2.10.x. ZooKeeper has 3.5.x, 3.6.x, 3.7.x, and 3.8.x (they might have a few extra that they need to remove, as per that INFRA policy, though). The Thrift PMC could make a similar decision to consider certain versions as "currently active", even if they are only active for critical fixes.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] pan3793 commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1521164034

   > Development on new versions of Thrift aren't for today. New releases of Thrift would be released to be adopted in the future.
   
   @ctubbsii That's a good point, but in the meanwhile, as a widely adopted component, *today*'s versions should get actively maintained too.
   
   What are the versions for *today*? And what's the support policy of *today*'s versions?
   
   Based on the statistics of [Maven Central](https://mvnrepository.com/artifact/org.apache.thrift/libthrift), the most adopted versions are 0.9.x and 0.12.x, can we treat them as versions for *today*? Can I request a security-patched/bug-fix version for them?
   
   <img width="1309" alt="image" src="https://user-images.githubusercontent.com/26535726/234173762-f2c40b42-7b57-4926-8591-ea0281f9aaf8.png">
   
   Thrift 0.13.0 made lots of [breaking changes](https://github.com/apache/thrift/blob/v0.13.0/CHANGES.md#breaking-changes) including THRIFT-4725 in Java, that's one of the reasons why the lower versions are adopted widely today, even they have known CVEs. Drops Java8 support is another significant breaking change.
   
   Another fact is the indirect consumer of Thrift may take a quite long time to adopt the new Thrift when breaking changes are introduced.
   
   Let's say that Apache Hive is a direct consumer of Apache Thrift, the latest stable release of Hive is [3.1.3](https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/3.1.3), which adopts Thrift 0.9.3.
   
   Apache Spark depends on Hive 2.3.9(which also uses Thrift 0.9.3) now, Spark adopts Thrift 0.12.0 because it is compatible w/ 0.9.3, but can not use 0.13 or any above versions, because of the breaking change THRIFT-4725. (See detail in SPARK-37090)
   
   Assume the next Hive stable version 4.0.0 available in 2023, which likely ships [Thrift 0.16](https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/4.0.0-alpha-2), because it still supports Java8. It may take several years for the downstream project(e.g. Spark) of Hive to adopt Hive 4.0 and therefore adopts Thrift 0.16. But what about the downstream of Spark? Will 0.16 get maintained on those days?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Fokko commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Fokko (via GitHub)" <gi...@apache.org>.
Fokko commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1601627150

   Thanks @Jens-G for pushing this forward, appreciate it 🙏🏻 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jimexist (via GitHub)" <gi...@apache.org>.
Jimexist commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1537045598

   At least I don't think Java and kotlin cross tests should fail - can you check that as well?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Fokko commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Fokko (via GitHub)" <gi...@apache.org>.
Fokko commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1508780726

   @Jimexist Eventually all projects will migrate, but this isn't the case today. Parquet, Iceberg, and Hadoop are still very much on Java 8, and probably many more.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Fokko commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Fokko (via GitHub)" <gi...@apache.org>.
Fokko commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1513756470

   So Java 8 has been removed since [May 2022 in Thrift](https://github.com/apache/thrift/commit/c4e96c75758d94a79dae925b1daae0c950823057), with the argument to start using Java 11 features. From today and onwards this hasn't been used (it still compiles with Java 8). Java 8 is still supported (for security patches) until 2030 and many projects are still using it.
   
   According to Maven central many people are still on `1.16.0` or `1.14.1`:
   <img width="703" alt="image" src="https://user-images.githubusercontent.com/1134248/232896165-75dec1d4-00ba-4046-8fb3-2bb0e350ab62.png">
   
   I took the time and effort to come over here to create a PR, but probably a lot of people don't care.
   
   Why add another barrier to make it even harder for people to adopt newer versions? I think for `parquet-mr` it is very interesting to add support for UUIDs. However, we can't drop Java8 yet, and the price for not upgrading is not that high because the new features in the later Java versions are nice to have, but not required.
   
   If Thrift cares about interoperability, and having support across many languages (including versions), then we should support Java8. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] ctubbsii commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1522346633

   > What are the versions for _today_? And what's the support policy of _today_'s versions?
   
   This is a relatively small project. I am not aware of any formal support policy, but I would happily embrace maintenance releases for recent versions with critical bugs to fix. That requires more active committers, and voting PMC members (not just regular contributors).
   
   > Based on the statistics of [Maven Central](https://mvnrepository.com/artifact/org.apache.thrift/libthrift), the most adopted versions are 0.9.x and 0.12.x, can we treat them as versions for _today_? Can I request a security-patched/bug-fix version for them?
   
   To make that happen, there needs to be sufficient demand for them, and more support to prepare releases. I've been following the mailing lists for some time now, and I have not seen a high demand for maintenance releases. Preparing release candidates seems to be done by relatively few people. That could change. I think the PMC should decide how they want to address that.
   
   > Thrift 0.13.0 made lots of [breaking changes](https://github.com/apache/thrift/blob/v0.13.0/CHANGES.md#breaking-changes) including THRIFT-4725 in Java, that's one of the reasons why the lower versions are adopted widely today, even they have known CVEs. Drops Java8 support is another significant breaking change.
   
   In my experience, *every* version of Thrift has been accompanied by a breaking change. This is one of the reasons why I don't understand why people seem to want to upgrade it so aggressively, such that they need to impose constraints on the anticipated future versions of Thrift. I would upgrade Thrift very conservatively, due to these breaking changes. By the time you upgrade to version of Thrift that requires Java 11, I would expect consuming projects to already be ready to move to 11, so it shouldn't be a problem.
   
   I think a better approach, rather than hold back future versions of Thrift, is to encourage more maintenance releases on previous versions. That would solve the Java dependency problem *and* solve the breaking change issues that appear in each Thrift release.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] ctubbsii commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1521126815

   > @ctubbsii All things I listed prove that Java8 is adopted widely and has good support in the Hadoop ecosystem today
   
   But nobody is disputing that Java 8 is widely adopted *today*. Development on new versions of Thrift aren't for *today*. New releases of Thrift would be released to be adopted in the *future*.
   
   The fact that Hadoop has been made to run on Java 11 means that related projects no longer need to be held back on Java 8 and risk being incompatible. It is now possible for projects like Thrift to move to 11, and still work with Hadoop and other projects. Hadoop does not require Thrift to stay on Java 8. So... if the Thrift project has other reasons for moving (like simplifying release test matrices, or lowering the burden on contributors who want to use Java 11, which I think are good reasons to move to 11), that should be possible and not be a problem for the Hadoop ecosystem (or other similarly situated projects and their respective ecosystems).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jimexist (via GitHub)" <gi...@apache.org>.
Jimexist commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1514495006

   @Fokko could you fix the CI first?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jimexist (via GitHub)" <gi...@apache.org>.
Jimexist commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1517132767

   how about updating the CI in this way:
   - supporting only latest LTS (Java 17) for building, testing, etc.
   - only verify that it compiles and runs with Java 8 within cross test task
   
   so that you don't need many if-else patches across gradle config
   
   @Fokko this will simplify the changes a lot


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] ctubbsii commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1523747821

   > > In my experience, every version of Thrift has been accompanied by a breaking change. This is one of the reasons why I don't understand why people seem to want to upgrade it so aggressively
   > 
   > @ctubbsii How do you handle the CVEs then? The security team in some companies forcibly bans the jars which were reported CVEs, even if the project which uses Thrift does not really get affected. Similar questions on bugs.
   
   Case-by-case mitigation, if affected. Can patch/local fork or mitigate in calling code, or mitigate with firewall, or something else. Just depends on the impact. Ideally, we advocate upstream do maintenance releases to make this easier on everybody downstream.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jimexist (via GitHub)" <gi...@apache.org>.
Jimexist commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1528932596

   For this specific change, i wonder if we can leverage [maven artifact classifier](https://docs.gradle.org/current/userguide/feature_variants.html) to support both versions?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] vinooganesh commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "vinooganesh (via GitHub)" <gi...@apache.org>.
vinooganesh commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1601037012

   > Propose to move that discussion to mailing list.
   
   Did this ever make it to a mailing list conversation? Was there a decision that you'd be able to message out? 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Fokko commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Fokko (via GitHub)" <gi...@apache.org>.
Fokko commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1536774211

   @Jimexist Ah, missed that. Done!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jimexist (via GitHub)" <gi...@apache.org>.
Jimexist commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1528926673

   can you also update https://github.com/apache/thrift/blob/4f63573f5a49fb564e7b65b9573769963511dbea/.github/workflows/build.yml#L438 to 8 to make sure it runs with JVM 8


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jimexist (via GitHub)" <gi...@apache.org>.
Jimexist commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1514495869

   i am leaning towards merging this pull request. i don't have a solid plan of introducing java 11 only code soon, if anyone has that plan he/she can restart the upgrade process later.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] pan3793 commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1522847794

   > In my experience, every version of Thrift has been accompanied by a breaking change. This is one of the reasons why I don't understand why people seem to want to upgrade it so aggressively
   
   @ctubbsii How do you handle the CVEs then? The security team in some companies forcibly bans the jars which were reported CVEs, even if the project which uses Thrift does not really get affected. Similar questions on bugs.
   
   > ... such that they need to impose constraints on the anticipated future versions of Thrift.
   > I think a better approach, rather than hold back future versions of Thrift, is to encourage more maintenance releases on previous versions.
   
   The fact is Thrift lacks support for *today*'s widely adopted version, in the meanwhile, it aggressively makes breaking changes, I suppose the option you suggested needs more community resources than "avoid breaking changes as much as possible".


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jens-G commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jens-G (via GitHub)" <gi...@apache.org>.
Jens-G commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1523953423

   > You can still keep up the latest version in any release series that you consider "currently active"
   
   But that's what we do.- The most recent one.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jens-G commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jens-G (via GitHub)" <gi...@apache.org>.
Jens-G commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1523995801

   Propose to move that discussion to mailing list.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] ctubbsii commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1513701286

   > I _thought_ the plan was that we are dropping support to java 8 then start using java 11 features.
   > 
   > If we don't have any plan for java 11 features, then sure.
   
   I thought that was the plan as well. I don't think there's a reason to stay at Java 8 for future releases.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] wgtmac commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "wgtmac (via GitHub)" <gi...@apache.org>.
wgtmac commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1514006469

   CMIW, at least it does not take too much work to add Java 8 support back to thrift 0.18.x version as Java 11 features are not yet used. Then downstream projects can have more time to migrate smoothly by upgrading to 0.18.x first and then prepare Java 11 upgrade. It would be harder for them to migrate from 0.16.x in the future.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jimexist (via GitHub)" <gi...@apache.org>.
Jimexist commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1508747097

   we kind of removed this not long ago. is there a possibility that downstream projects migrate to java 11?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] fishy commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "fishy (via GitHub)" <gi...@apache.org>.
fishy commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1511659613

   I _thought_ the plan was that we are dropping support to java 8 then start using java 11 features.
   
   If we don't have any plan for java 11 features, then sure.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jimexist commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jimexist (via GitHub)" <gi...@apache.org>.
Jimexist commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1514881655

   please also update the java version within GitHub workflow to ensure that java 8 jvm can run the generated jar


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Jens-G commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Jens-G (via GitHub)" <gi...@apache.org>.
Jens-G commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1522366573

   >  the most adopted versions are 0.9.x and 0.12.x, can we treat them as versions for today? Can I request a security-patched/bug-fix version for them?
   
   Releases are currently done about twice a year, patches only when its really, really necessary. Although we have released patch versions in the past, the usual policy is to maintain only the last one. 
   
   Since we also got a nice email from INFRA some time ago in that regard, we now also consequently remove any old versions from the ASF download servers, i.e. you can't even download them anymore that way. Only whats out there and available through 3rd party package managers and CDNs like maven, nuget or the like, and of course [right here from GitHub](https://github.com/apache/thrift/releases). 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [thrift] Fokko commented on pull request #2785: THRIFT-5702: Support Java 8

Posted by "Fokko (via GitHub)" <gi...@apache.org>.
Fokko commented on PR #2785:
URL: https://github.com/apache/thrift/pull/2785#issuecomment-1598803638

   Hey all, we would still love to get this in. With the last release of Parquet, a lot of people were struggling to get Thrift installed, so maintaining Java 8 support until we start using Java 11 features, would be awesome!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org