Java 11 support in Cassandra 3.11 would be fantastic. Is this something the 
Cassandra project will follow-up or is this a dead-end in favor of Cassandra 
4.0, although Java 11 is marked as "experimental" there. Not sure what this 
means for production usage. 😊

Thanks,
Thomas


-----Original Message-----
From: Kornel Pal <kornel...@gmail.com>
Sent: Sonntag, 23. Mai 2021 20:45
To: dev@cassandra.apache.org
Subject: Enable running Cassandra 3.11 on Java 11

Hi,

As an experiment, I tried to backport part of CASSANDRA-9608 and 
CASSANDRA-14607 that are needed to run Cassandra 3.11 on Java 11. For the most 
part it was quite straightforward; the results are available at 
https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fcassandra%2Fcompare%2Fcassandra-3.11...kornelpal%3Acassandra-3.11-java11&amp;data=04%7C01%7Cthomas.steinmaurer%40dynatrace.com%7C906d5dac19614ee93a2308d91e1ba1c5%7C70ebe3a35b30435d9d677716d74ca190%7C1%7C0%7C637573926313720862%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=mCCV2zkph7Wc36oX3HnDGvZ%2FlZI3%2BAVuEuEhasvA%2Bxg%3D&amp;reserved=0

To minimize the scope and risk, I only backported code changes needed to run on 
Java 11, not changes needed to compile on Java 11. I also did not update 
library versions and did not backport the script and config changes. Those 
might be higher risk, and Cassandra administrators should be able to manually 
replace library binaries and apply config changes from 4.0 for Java 11 support.

Both "ant test" and "ant long-test" had the same results with and without the 
changes on Java 8 that is very promising.

AtomicBTreePartition was somewhat challenging; CASSANDRA-14607 replaced all the 
relevant changes made in CASSANDRA-9608 and CASSANDRA-15367 has a 4.0 specific 
version. I changed CommitLogReader - that is not present in 4.0 - to use 
FileUtils.createTempFile for consistency. I did not apply the UFSecurityTest 
changes as those were failing, probably because are dependent on a newer 
library version.

I believe that these changes could enable Cassandra 3.11 to run on modern Java 
versions with reasonable effort and with no code changes, while also would 
bring the shared code base closer to 4.0 that would reduce the risk and 
complexity of future code changes on the 3.11 branch.

Could you please comment on whether this or a similar change could be accepted 
to the mainline Cassandra 3.11 source code.

Thank you,
Kornel

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
For additional commands, e-mail: dev-h...@cassandra.apache.org

This email may contain confidential information. If it appears this message was 
sent to you by mistake, please let us know of the error. In this case, we also 
ask that you do not further forward the content and delete it. Thank you for 
your cooperation and understanding. Dynatrace Austria GmbH (registration number 
FN 91482h) is a company registered in Linz whose registered office is at 4020 
Linz, Austria, Am Fünfundzwanziger Turm 20.

Reply via email to