Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-16895

Build with Java 17

    XMLWordPrintableJSON

Details

    • Epic
    • Status: In Progress
    • Normal
    • Resolution: Unresolved
    • 5.x
    • Build
    • None
    • Support Java 17
    • Normal
    • All
    • None

    Description

        This ticket is intended to group all issues found to support Java 17 in the future.

      Upgrade steps:

      • Dependencies to be updated (not all but at least those that require an update in order to work with Java 17)
      • More encapsulated JDK internal APIs. Some of the issues might be solved with the dependencies updates
      • Currently trunk compiles if we remove the Nashorn dependency (ant script tag, used for the test environment; UDFs) . The oracle recommendation to use  Nashorn-core won't work for the project as it is under GPL 2.0. Most probably we will opt in for graal-sdk licensed under UPL
      • All tests to be cleaned
      • CI environment to be setup

      NOTE: GC tuning, performance testing were never agreed to be part of this ticket.

      Below is a snapshot of current CI failures with JDK17, it will be updated on a regular basis with a date of update

      July 15th 2023

        Failing Test Classes Ticket Numbers
        Python DTests  
      1 test_sjk CASSANDRA-18343
        Java Ditributed Tests  
      1-6 org.apache.cassandra.distributed.test.ReprepareOldBehaviourTest - all tests,
      org.apache.cassandra.distributed.test.PrepareBatchStatementsTest - all tests,
      org.apache.cassandra.distributed.test.IPMembershipTest - both tests,
      org.apache.cassandra.distributed.test.MixedModeFuzzTest, 
      org.apache.cassandra.distributed.test.ReprepareFuzzTest,
      org.apache.cassandra.distributed.test.ReprepareNewBehaviourTest
      CASSANDRA-16304
      7,8 org.apache.cassandra.distributed.test.NativeTransportEncryptionOptionsTest - all tests
      org.apache.cassandra.distributed.test.InternodeEncryptionOptionsTest - all tests
      Both tests suffer from CASSANDRA-18180 -
      ready to commit; blocked on being ready to drop JDK8
       
      fwiw, using the CASSANDRA-18180 branch, only the negotiatedProtocolMustBeAcceptedProtocolTest fails in both these tests.
       
      EDIT: We will need a ticket for this one post CASSANDRA-18180. TLSv1.1 failed to negotiate (netty complains about certificate_unknown). Changes in JDK17 config to be checked - done
       
      EDIT2: CASSANDRA-18540
      9 org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest - 2 tests CASSANDRA-18180 ready to commit; blocked on being ready to drop JDK8
        Unit Tests  
      1 org.apache.cassandra.repair.RepairJobTest - 1 test CASSANDRA-18329
      2 org.apache.cassandra.security.SSLFactoryTest - all tests CASSANDRA-17992
      3,4 org.apache.cassandra.db.memtable.MemtableSizeOffheapBuffersTest,
      org.apache.cassandra.utils.concurrent.RefCountedTest
      CASSANDRA-18329
      5,6 org.apache.cassandra.cql3.validation.entities.UFJavaTest,
      org.apache.cassandra.cql3.validation.entities.UFSecurityTest
      CASSANDRA-18190; ready to commit; blocked on being ready to drop JDK8
      7 org.apache.cassandra.cql3.EmptyValuesTest CASSANDRA-18436
      8 org.apache.cassandra.transport.MessagePayloadTest.jdk17- CASSANDRA-18437
      9 StandaloneSplitterWithCQLTesterTest/testSplittingMultipleSSTables CASSANDRA-18685
        Burn tests  
      1 org.apache.cassandra.transport.DriverBurnTest.measureLargeV4WithCompression CASSANDRA-18570

       

      Attachments

        Issue Links

          Activity

            People

              e.dimitrova Ekaterina Dimitrova
              e.dimitrova Ekaterina Dimitrova
              Ekaterina Dimitrova
              Votes:
              4 Vote for this issue
              Watchers:
              32 Start watching this issue

              Dates

                Created:
                Updated: