Skip to content

Helix - Upgrade JDK version from JDK1.8 to JDK11.#2350

Closed
desaikomal wants to merge 1 commit intoapache:masterfrom
desaikomal:kdesai/big
Closed

Helix - Upgrade JDK version from JDK1.8 to JDK11.#2350
desaikomal wants to merge 1 commit intoapache:masterfrom
desaikomal:kdesai/big

Conversation

@desaikomal
Copy link
Contributor

@desaikomal desaikomal commented Jan 24, 2023

Issues

Description

Since Helix is one of the core components, we were still using JDK 8 waiting for most of our customers to be already upgraded before us upgrading.

In October 2022, we proposed to upgrade the JDK version from 1.8 to JDK 11 which was approved by the Apache Helix chair/committer.
So this change is only introducing bumping up the version.
Rest of the optimization which JDK11 brings will be done as follow up changes.

  • Here are some details about my PR, including screenshots of any UI changes:

Tests

  • The following tests are written for this issue:

(List the names of added unit/integration tests)

  • The following is the result of the "mvn test" command on the appropriate module:

(If CI test fails due to known issue, please specify the issue and test PR locally. Then copy & paste the result of "mvn test" to here.)
[ERROR] Failures:
[ERROR] TestNoThrottleDisabledPartitions.testDisablingTopStateReplicaByDisablingInstance:98 expected: but was:
[ERROR] TestP2PNoDuplicatedMessage.testP2PStateTransitionEnabled:180 expected: but was:
[ERROR] TestMultiZkConnectionConfig>MultiZkTestBase.afterClass:137 expected: but was:
[ERROR] TestMultiZkConnectionConfig.testZKHelixManager:295->Object.wait:328->Object.wait:-2 » ThreadTimeout
[ERROR] TestWagedRebalanceFaultZone.testAddZone:270->validate:318->validateZoneAndTagIsolation:342 expected:<3> but was:<2>
[ERROR] TestRecurringJobQueue.testDeletingRecurrentQueueWithHistory:298 expected: but was:
[ERROR] TestTaskStateModelFactory.testZkClientCreationMultiZk:80 » Bind Address alread...
[INFO]
[ERROR] Tests run: 1325, Failures: 7, Errors: 0, Skipped: 6
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Apache Helix 1.0.5-SNAPSHOT:
[INFO]
[INFO] Apache Helix ....................................... SUCCESS [ 0.638 s]
[INFO] Apache Helix :: Metrics Common ..................... SUCCESS [ 2.960 s]
[INFO] Apache Helix :: Metadata Store Directory Common .... SUCCESS [ 13.954 s]
[INFO] Apache Helix :: ZooKeeper API ...................... SUCCESS [51:47 min]
[INFO] Apache Helix :: Helix Common ....................... SUCCESS [ 2.047 s]
[INFO] Apache Helix :: Core ............................... FAILURE [ 03:28 h]
[INFO] Apache Helix :: Admin Webapp ....................... SKIPPED
[INFO] Apache Helix :: Restful Interface .................. SKIPPED
[INFO] Apache Helix :: Distributed Lock ................... SKIPPED
[INFO] Apache Helix :: HelixAgent ......................... SKIPPED
[INFO] Apache Helix :: Recipes ............................ SKIPPED
[INFO] Apache Helix :: Recipes :: Rabbitmq Consumer Group . SKIPPED
[INFO] Apache Helix :: Recipes :: Rsync Replicated File Store SKIPPED
[INFO] Apache Helix :: Recipes :: distributed lock manager SKIPPED
[INFO] Apache Helix :: Recipes :: distributed task execution SKIPPED
[INFO] Apache Helix :: Recipes :: service discovery ....... SKIPPED
[INFO] Apache Helix :: View Aggregator .................... SKIPPED
[INFO] ------------------------------------------------------------------------

Changes that Break Backward Compatibility (Optional)

  • My PR contains changes that break backward compatibility or previous assumptions for certain methods or API. They include:

(Consider including all behavior changes for public methods or API. Also include these changes in merge description so that other developers are aware of these changes. This allows them to make relevant code changes in feature branches accounting for the new method/API behavior.)

Documentation (Optional)

  • In case of new functionality, my PR adds documentation in the following wiki page:

(Link the GitHub wiki you added)

Commits

  • My commits all reference appropriate Apache Helix GitHub issues in their subject lines. In addition, my commits follow the guidelines from "How to write a good git commit message":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters (not including Jira issue reference)
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. Body explains "what" and "why", not "how"

Code Quality

  • My diff has been formatted using helix-style.xml
    (helix-style-intellij.xml if IntelliJ IDE is used)

@gshantanu
Copy link

Thanks, @desaikomal . I see that we are making the JDK version change here, but don't see any related code changes to get things working with JDK 11. Couple of questions:

  • What other work was needed to make JDK 11 work?
  • Was there any notable impact of making this change (perf, memory, test pass rate, etc)?

@desaikomal
Copy link
Contributor Author

Thanks @gshantanu. Currently we are able to compile with JDK11 and upgraded the CI pipelines to use the newer version. Test failures needs to be investigated if they are same as earlier reported.

@helix-bot
Copy link
Contributor

@desaikomal Thank you for this contribution. Who was the Apache Helix chair/committer. that approved this change?

@desaikomal
Copy link
Contributor Author

@helix-bot

Mon, Oct 31, 2022, 9:09 AM
to user, william, dev@helix.apache.org

If no one has further concern about it, let's go for it. This would be the last call.
I would suggest having a release to wrap up all the fixes and changes in current 1.0.x and then let's make the major change for JDK 11 as lightweight as possible.

Best,

Junkai

Junkai who is the chair for Apache Helix.

@mgao0
Copy link
Contributor

mgao0 commented Jan 24, 2023

Thanks @desaikomal for making the change!
The mvn test seems to have some test failure which stopped the tests after helix-core module. Can we try to run it with -fae option so it won't stop on failure?

@desaikomal desaikomal closed this Mar 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade Helix JDK version from 1.8 to JDK 11

4 participants