|
42 | 42 | All releases are built with the default JDK. |
43 | 43 | Builds with non-default JDKs are considered experimental and for development and testing purposes. |
44 | 44 | When building, javac's source and target flags are set to the jdk used, so lower JDKs are not supported at runtime. |
45 | | - The use of both CASSANDRA_USE_JDK11 and use-jdk11 is deprecated. |
46 | 45 | --> |
47 | 46 | <property name="java.default" value="11" /> |
48 | | - <property name="java.supported" value="11,17" /> |
| 47 | + <property name="java.supported" value="11,17,22" /> |
49 | 48 |
|
50 | 49 | <!-- directory details --> |
51 | 50 | <property name="basedir" value="."/> |
|
313 | 312 | <string>--add-opens java.base/java.lang=ALL-UNNAMED</string> |
314 | 313 | <string>--add-opens java.base/java.util=ALL-UNNAMED</string> |
315 | 314 | <string>--add-opens java.base/java.nio=ALL-UNNAMED</string> |
| 315 | + <string>--add-opens java.base/java.nio.file.attribute=ALL-UNNAMED</string> |
316 | 316 |
|
317 | 317 | <string>--add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED</string> |
318 | 318 | </resources> |
|
321 | 321 | <equals arg1="${ant.java.version}" arg2="17"/> |
322 | 322 | </condition> |
323 | 323 |
|
| 324 | + <resources id="_jvm22_arg_items"> |
| 325 | + <string>-XX:+UnlockDiagnosticVMOptions</string> |
| 326 | + <string>-Djdk.attach.allowAttachSelf=true</string> |
| 327 | + <string>-XX:+UseG1GC</string> |
| 328 | + <string>-XX:+ParallelRefProcEnabled</string> |
| 329 | + <!-- Below two are used in Cassandra, not in CNDB--> |
| 330 | + <!--<string>-XX:MaxTenuringThreshold=1</string> |
| 331 | + <string>-XX:G1HeapRegionSize=16m</string>--> |
| 332 | + <string>-XX:G1RSetUpdatingPauseTimePercent=5</string> |
| 333 | + <string>-XX:MaxGCPauseMillis=100</string> |
| 334 | + |
| 335 | + <!-- Copy-paste for now these options from cndb/docker-entrypoint.sh; we will verify later whether we |
| 336 | + want all of them for tests--> |
| 337 | + <string>-XX:-RestrictContended</string> |
| 338 | + <string>-XX:+UseThreadPriorities</string> |
| 339 | + <string>-XX:+DebugNonSafepoints</string> |
| 340 | + <string>-XX:+UseStringDeduplication</string> |
| 341 | + <string>-XX:StringTableSize=1000003</string> |
| 342 | + <string>-XX:+PerfDisableSharedMem</string> |
| 343 | + <string>-XX:+AlwaysPreTouch</string> |
| 344 | + <string>-XX:+UseTLAB</string> |
| 345 | + <string>-XX:+ResizeTLAB</string> |
| 346 | + <string>-XX:+UseNUMA</string> |
| 347 | + |
| 348 | + |
| 349 | + <string>--add-exports java.base/jdk.internal.misc=ALL-UNNAMED</string> |
| 350 | + <string>--add-exports java.base/jdk.internal.ref=ALL-UNNAMED</string> |
| 351 | + <string>--add-exports java.base/jdk.internal.perf=ALL-UNNAMED</string> |
| 352 | + <string>--add-exports java.base/sun.nio.ch=ALL-UNNAMED</string> |
| 353 | + <string>--add-exports java.management.rmi/com.sun.jmx.remote.internal.rmi=ALL-UNNAMED</string> |
| 354 | + <string>--add-exports java.rmi/sun.rmi.registry=ALL-UNNAMED</string> |
| 355 | + <string>--add-exports java.rmi/sun.rmi.server=ALL-UNNAMED</string> |
| 356 | + <string>--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</string> |
| 357 | + <string>--add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming</string> |
| 358 | + <string>--add-exports jdk.unsupported/sun.misc=ALL-UNNAMED</string> |
| 359 | + |
| 360 | + <string>--add-opens java.base/java.io=ALL-UNNAMED</string> |
| 361 | + <string>--add-opens java.base/java.lang=ALL-UNNAMED</string> |
| 362 | + <string>--add-opens java.base/java.lang.module=ALL-UNNAMED</string> |
| 363 | + <string>--add-opens java.base/java.lang.ref=ALL-UNNAMED</string> |
| 364 | + <string>--add-opens java.base/java.lang.reflect=ALL-UNNAMED</string> |
| 365 | + <string>--add-opens java.base/java.math=ALL-UNNAMED</string> |
| 366 | + <string>--add-opens java.base/java.net=ALL-UNNAMED</string> |
| 367 | + <string>--add-opens java.base/java.nio=ALL-UNNAMED</string> |
| 368 | + <string>--add-opens java.base/java.nio.file.spi=ALL-UNNAMED</string> |
| 369 | + <string>--add-opens java.base/java.util=ALL-UNNAMED</string> |
| 370 | + <string>--add-opens java.base/java.util.concurrent.locks=ALL-UNNAMED</string> |
| 371 | + <string>--add-opens java.base/jdk.internal.loader=ALL-UNNAMED</string> |
| 372 | + <string>--add-opens java.base/jdk.internal.math=ALL-UNNAMED</string> |
| 373 | + <string>--add-opens java.base/jdk.internal.module=ALL-UNNAMED</string> |
| 374 | + <string>--add-opens java.base/jdk.internal.ref=ALL-UNNAMED</string> |
| 375 | + <string>--add-opens java.base/jdk.internal.reflect=ALL-UNNAMED</string> |
| 376 | + <string>--add-opens java.base/jdk.internal.vm=ALL-UNNAMED</string> |
| 377 | + <string>--add-opens java.base/sun.nio.ch=ALL-UNNAMED</string> |
| 378 | + <string>--add-opens jdk.compiler/com.sun.tools.javac=ALL-UNNAMED</string> |
| 379 | + <string>--add-opens jdk.management.jfr/jdk.management.jfr=ALL-UNNAMED</string> |
| 380 | + <string>--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED</string> |
| 381 | + <string>--add-opens jdk.naming.dns/com.sun.jndi.dns=ALL-UNNAMED</string> |
| 382 | + <!-- required for org.apache.cassandra.Util.getSupportedMTimeGranularity--> |
| 383 | + <string>--add-opens java.base/java.nio.file.attribute=ALL-UNNAMED</string> |
| 384 | + |
| 385 | + <!-- below 2 were added to support jamm and fix BatchCommitLogTest --> |
| 386 | + <string>--add-opens java.base/java.util.concurrent=ALL-UNNAMED</string> |
| 387 | + <string>--add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED</string> |
| 388 | + <string>--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED</string> |
| 389 | + </resources> |
| 390 | + <pathconvert property="_jvm22_args_concat" refid="_jvm22_arg_items" pathsep=" "/> |
| 391 | + <condition property="java-jvmargs" value="${_jvm22_args_concat}"> |
| 392 | + <equals arg1="${ant.java.version}" arg2="22"/> |
| 393 | + </condition> |
| 394 | + |
324 | 395 | <!-- |
325 | 396 | JVM arguments for tests. |
326 | 397 |
|
|
348 | 419 | <condition property="_std-test-jvmargs" value="${_jvm17_test_arg_items_concat}"> |
349 | 420 | <equals arg1="${ant.java.version}" arg2="17"/> |
350 | 421 | </condition> |
| 422 | + <resources id="_jvm22_test_arg_items"> |
| 423 | + <string>-Djava.security.manager=allow</string> |
| 424 | + <string>-Dio.netty.tryReflectionSetAccessible=true</string> |
| 425 | + <string>-Dnet.bytebuddy.experimental=true</string> |
| 426 | + |
| 427 | + <!-- Enable vector incubator feature (simd support)--> |
| 428 | + <string>--add-modules jdk.incubator.vector</string> |
| 429 | + </resources> |
| 430 | + <pathconvert property="_jvm22_test_arg_items_concat" refid="_jvm22_test_arg_items" pathsep=" "/> |
| 431 | + <condition property="_std-test-jvmargs" value="${_jvm11_test_arg_items_concat}"> |
| 432 | + <equals arg1="${ant.java.version}" arg2="11"/> |
| 433 | + </condition> |
| 434 | + <condition property="_std-test-jvmargs" value="${_jvm22_test_arg_items_concat}"> |
| 435 | + <equals arg1="${ant.java.version}" arg2="22"/> |
| 436 | + </condition> |
351 | 437 |
|
352 | 438 | <!-- needed to compile org.apache.cassandra.utils.JMXServerUtils --> |
353 | 439 | <!-- needed to compile org.apache.cassandra.distributed.impl.Instance--> |
|
529 | 615 | <jvmarg value="-Dstorage-config=${test.conf}"/> |
530 | 616 | <jvmarg value="-Dcassandra.reads.thresholds.coordinator.defensive_checks_enabled=true" /> <!-- enable defensive checks --> |
531 | 617 | <jvmarg value="-javaagent:${build.dir.lib}/jars/jamm-${jamm.version}.jar" /> |
| 618 | + |
532 | 619 | <jvmarg value="-ea"/> |
533 | 620 | <jvmarg line="${java-jvmargs}"/> |
534 | 621 | </java> |
|
1212 | 1299 | <jvmarg value="-Dcassandra.use_nix_recursive_delete=${cassandra.use_nix_recursive_delete}"/> |
1213 | 1300 | <jvmarg value="-Dio.netty.allocator.useCacheForAllThreads=true"/> |
1214 | 1301 | <jvmarg value="-Dio.netty.allocator.maxOrder=11"/> |
| 1302 | + |
1215 | 1303 | <jvmarg line="${java-jvmargs}"/> |
1216 | 1304 | <!-- disable shrinks in quicktheories CASSANDRA-15554 --> |
1217 | 1305 | <jvmarg value="-DQT_SHRINKS=0"/> |
|
1263 | 1351 | <jvmarg value="-Dcassandra.ring_delay_ms=1000"/> |
1264 | 1352 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1265 | 1353 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 1354 | + |
1266 | 1355 | </testmacro> |
1267 | 1356 | <fileset dir="${test.unit.src}" /> |
1268 | 1357 | </target> |
|
1281 | 1370 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1282 | 1371 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
1283 | 1372 | <jvmarg value="-Xmx${maxMemory}"/> |
| 1373 | + |
1284 | 1374 | <jvmarg value="-Dlogback.configurationFile=file://${test.logback.configurationFile}"/> |
1285 | 1375 | </testmacrohelper> |
1286 | 1376 | </sequential> |
|
1305 | 1395 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1306 | 1396 | <jvmarg value="-Dcassandra.config=file:///${compressed_yaml}"/> |
1307 | 1397 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 1398 | + |
1308 | 1399 | <jvmarg value="-Dlogback.configurationFile=file://${test.logback.configurationFile}"/> |
1309 | 1400 | </testmacrohelper> |
1310 | 1401 | </sequential> |
|
1326 | 1417 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1327 | 1418 | <jvmarg value="-Dcassandra.config=file:///${cdc_yaml}"/> |
1328 | 1419 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 1420 | + |
1329 | 1421 | <jvmarg value="-Dlogback.configurationFile=file://${test.logback.configurationFile}"/> |
1330 | 1422 | </testmacrohelper> |
1331 | 1423 | </sequential> |
|
1371 | 1463 | <jvmarg value="-Dcassandra.config=file:///${scm_none_yaml}"/> |
1372 | 1464 | <jvmarg value="-Dcassandra.test.storage_compatibility_mode=NONE"/> |
1373 | 1465 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 1466 | + |
1374 | 1467 | <jvmarg value="-Dlogback.configurationFile=file://${test.logback.configurationFile}"/> |
1375 | 1468 | </testmacrohelper> |
1376 | 1469 | </sequential> |
|
1388 | 1481 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1389 | 1482 | <jvmarg value="-Dcassandra.config.loader=org.apache.cassandra.OffsetAwareConfigurationLoader"/> |
1390 | 1483 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 1484 | + |
1391 | 1485 | <jvmarg value="-Dcassandra.allow_cursor_compaction=false" /> |
1392 | 1486 | <jvmarg value="-Dunified_compaction.parallelize_output_shards=false" /> |
1393 | 1487 | <jvmarg value="-Dlogback.configurationFile=file://${test.logback.configurationFile}"/> |
|
1411 | 1505 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1412 | 1506 | <jvmarg value="-Dcassandra.config=file:///${system_keyspaces_directory_yaml}"/> |
1413 | 1507 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 1508 | + |
1414 | 1509 | <jvmarg value="-Dlogback.configurationFile=file://${test.logback.configurationFile}"/> |
1415 | 1510 | </testmacrohelper> |
1416 | 1511 | </sequential> |
|
1427 | 1522 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1428 | 1523 | <jvmarg value="-Dcassandra.sai.latest.version=aa"/> |
1429 | 1524 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 1525 | + |
1430 | 1526 | <jvmarg value="-Dlogback.configurationFile=file://${test.logback.configurationFile}"/> |
1431 | 1527 | </testmacrohelper> |
1432 | 1528 | </sequential> |
|
1442 | 1538 | <jvmarg value="-Dcassandra.ring_delay_ms=1000"/> |
1443 | 1539 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1444 | 1540 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 1541 | + |
1445 | 1542 | <jvmarg value="-Dlogback.configurationFile=file://\${test.logback.configurationFile}"/> |
1446 | 1543 | </testmacrohelper> |
1447 | 1544 | </sequential> |
|
1472 | 1569 | <jvmarg value="-Dcassandra.ring_delay_ms=1000"/> |
1473 | 1570 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1474 | 1571 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 1572 | + |
1475 | 1573 | </testmacro> |
1476 | 1574 | </target> |
1477 | 1575 |
|
|
1485 | 1583 | <test if="withoutMethods" name="${test.name}" todir="${build.test.dir}/output/" outfile="TEST-${test.name}"/> |
1486 | 1584 | <jvmarg value="-Dcassandra.ring_delay_ms=1000"/> |
1487 | 1585 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
| 1586 | + |
1488 | 1587 | </testmacro> |
1489 | 1588 | </target> |
1490 | 1589 |
|
|
1497 | 1596 | <test if="withMethods" name="${test.name}" methods="${test.methods}" todir="${build.test.dir}/output/" outfile="TEST-${test.name}-${test.methods}"/> |
1498 | 1597 | <test if="withoutMethods" name="${test.name}" todir="${build.test.dir}/output/" outfile="TEST-${test.name}"/> |
1499 | 1598 | <jvmarg value="-Dlogback.configurationFile=test/conf/logback-burntest.xml"/> |
| 1599 | + |
1500 | 1600 | </testmacro> |
1501 | 1601 | </target> |
1502 | 1602 |
|
|
1577 | 1677 | <testmacro inputdir="${test.unit.src}" |
1578 | 1678 | timeout="${test.timeout}" filter="**/SerializationsTest.java"> |
1579 | 1679 | <jvmarg value="-Dcassandra.test-serialization-writes=True"/> |
| 1680 | + |
1580 | 1681 | </testmacro> |
1581 | 1682 | </target> |
1582 | 1683 |
|
1583 | 1684 | <target name="msg-ser-test" depends="maybe-build-test" description="Tests message serializations"> |
1584 | 1685 | <testmacro inputdir="${test.unit.src}" timeout="${test.timeout}" |
1585 | 1686 | filter="**/SerializationsTest.java"/> |
| 1687 | + |
1586 | 1688 | </target> |
1587 | 1689 |
|
1588 | 1690 | <target name="msg-ser-test-7" depends="maybe-build-test" description="Generates message serializations"> |
1589 | 1691 | <testmacro inputdir="${test.unit.src}" |
1590 | 1692 | timeout="${test.timeout}" filter="**/SerializationsTest.java"> |
1591 | 1693 | <jvmarg value="-Dcassandra.version=0.7"/> |
| 1694 | + |
1592 | 1695 | </testmacro> |
1593 | 1696 | </target> |
1594 | 1697 |
|
1595 | 1698 | <target name="msg-ser-test-10" depends="maybe-build-test" description="Tests message serializations on 1.0 messages"> |
1596 | 1699 | <testmacro inputdir="${test.unit.src}" |
1597 | 1700 | timeout="${test.timeout}" filter="**/SerializationsTest.java"> |
1598 | 1701 | <jvmarg value="-Dcassandra.version=1.0"/> |
| 1702 | + |
1599 | 1703 | </testmacro> |
1600 | 1704 | </target> |
1601 | 1705 |
|
|
1610 | 1714 | timeout="${test.long.timeout}"> |
1611 | 1715 | <jvmarg value="-Dcassandra.ring_delay_ms=1000"/> |
1612 | 1716 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
| 1717 | + |
1613 | 1718 | </testmacro> |
1614 | 1719 | </target> |
1615 | 1720 |
|
1616 | 1721 | <target name="test-memory" depends="maybe-build-test" description="Execute functional tests"> |
1617 | 1722 | <testmacro inputdir="${test.memory.src}" |
1618 | 1723 | timeout="${test.memory.timeout}"> |
1619 | 1724 | <jvmarg value="-javaagent:${build.dir}/test/lib/jars/java-allocation-instrumenter-${allocation-instrumenter.version}.jar"/> |
| 1725 | + |
1620 | 1726 | </testmacro> |
1621 | 1727 | </target> |
1622 | 1728 |
|
|
1635 | 1741 | <jvmarg value="-Dcassandra.memtable_row_overhead_computation_step=100"/> |
1636 | 1742 | <jvmarg value="-Dcassandra.test.use_prepared=${cassandra.test.use_prepared}"/> |
1637 | 1743 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 1744 | + |
1638 | 1745 | <classpath> |
1639 | 1746 | <path refid="cassandra.classpath.test" /> |
1640 | 1747 | <pathelement location="${test.classes}"/> |
|
1681 | 1788 | <jvmarg value="-Dcassandra.test.use_prepared=${cassandra.test.use_prepared}"/> |
1682 | 1789 | <jvmarg value="-Dcassandra.memtable_row_overhead_computation_step=100"/> |
1683 | 1790 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 1791 | + |
1684 | 1792 | <classpath> |
1685 | 1793 | <path refid="cassandra.classpath.test" /> |
1686 | 1794 | <pathelement location="${test.classes}"/> |
|
1915 | 2023 | <jvmarg value="-Dcassandra.ring_delay_ms=10000"/> |
1916 | 2024 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1917 | 2025 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
| 2026 | + |
1918 | 2027 | </testmacro> |
1919 | 2028 | </target> |
1920 | 2029 |
|
|
1952 | 2061 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1953 | 2062 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
1954 | 2063 | <jvmarg value="-Xmx8G"/> |
| 2064 | + |
1955 | 2065 | </testmacro> |
1956 | 2066 | </target> |
1957 | 2067 |
|
|
1968 | 2078 | <jvmarg value="-Dcassandra.tolerate_sstable_size=true"/> |
1969 | 2079 | <jvmarg value="-Dcassandra.skip_sync=true" /> |
1970 | 2080 | <jvmarg value="-Xmx8G"/> |
| 2081 | + |
1971 | 2082 | </testmacro> |
1972 | 2083 | </target> |
1973 | 2084 |
|
|
2086 | 2197 | </project>]]></echo> |
2087 | 2198 | <antcall target="_maybe_update_idea_to_java11plus"/> |
2088 | 2199 | <echo> |
2089 | | - IDE configuration in .idea/ updated for use with JDK${ant.java.version}. |
| 2200 | + IDE configuration in .idea/ updated for use with JDK${ant.java.version}. |
2090 | 2201 |
|
2091 | | - In IntelliJ verify that the SDK is ${ant.java.version}, and its path is valid. |
2092 | | - This can be verified in 'Project Structure/Project Setting/Project' and 'Project Structure/Platform Setting/SDKs'. |
| 2202 | + In IntelliJ verify that the SDK is ${ant.java.version}, and its path is valid. |
| 2203 | + This can be verified in 'Project Structure/Project Setting/Project' and 'Project Structure/Platform Setting/SDKs'. |
2093 | 2204 | </echo> |
2094 | 2205 | </target> |
2095 | 2206 |
|
|
0 commit comments