This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit 8413e9d6fdd114667deb81ea1d21d6eb486cb635 Merge: 45e00ea92f 7c86e18baf Author: Mick Semb Wever <m...@apache.org> AuthorDate: Fri Jan 20 13:13:54 2023 +0100 Merge branch 'cassandra-4.1' into trunk * cassandra-4.1: Update G1GC settings, and make it default in trunk CHANGES.txt | 1 + conf/jvm11-server.options | 32 +++++++++++++++++--------------- conf/jvm8-server.options | 38 ++++++++++++++++++++------------------ 3 files changed, 38 insertions(+), 33 deletions(-) diff --cc CHANGES.txt index 5bcf25667c,1352d00b26..36934c6454 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,102 -1,4 +1,103 @@@ -4.1.1 +4.2 ++ * Use G1GC by default, and update default G1GC settings (CASSANDRA-18027) + * SimpleSeedProvider can resolve multiple IP addresses per DNS record (CASSANDRA-14361) + * Remove mocking in InternalNodeProbe spying on StorageServiceMBean (CASSANDRA-18152) + * Add compaction_properties column to system.compaction_history table and nodetool compactionhistory command (CASSANDRA-18061) + * Remove ProtocolVersion entirely from the CollectionSerializer ecosystem (CASSANDRA-18114) + * Fix serialization error in new getsstables --show-levels option (CASSANDRA-18140) + * Use checked casts when reading vints as ints (CASSANDRA-18099) + * Add Mutation Serialization Caching (CASSANDRA-17998) + * Only reload compaction strategies if disk boundaries change (CASSANDRA-17874) + * CEP-10: Simulator Java11 Support (CASSANDRA-17178) + * Set the major compaction type correctly for compactionstats (CASSANDRA-18055) + * Print exception message without stacktrace when nodetool commands fail on probe.getOwnershipWithPort() (CASSANDRA-18079) + * Add option to print level in nodetool getsstables output (CASSANDRA-18023) + * Implement a guardrail for not having zero default_time_to_live on tables with TWCS (CASSANDRA-18042) + * Add CQL scalar functions for collection aggregation (CASSANDRA-18060) + * Make cassandra.replayList property for CommitLogReplayer possible to react on keyspaces only (CASSANDRA-18044) + * Add Mathematical functions (CASSANDRA-17221) + * Make incremental backup configurable per table (CASSANDRA-15402) + * Change shebangs of Python scripts to resolve Python 3 from env command (CASSANDRA-17832) + * Add reasons to guardrail messages and consider guardrails in the error message for needed ALLOW FILTERING (CASSANDRA-17967) + * Add support for CQL functions on collections, tuples and UDTs (CASSANDRA-17811) + * Add flag to exclude nodes from local DC when running nodetool rebuild (CASSANDRA-17870) + * Adding endpoint verification option to client_encryption_options (CASSANDRA-18034) + * Replace 'wcwidth.py' with pypi module (CASSANDRA-17287) + * Add nodetool forcecompact to remove tombstoned or ttl'd data ignoring GC grace for given table and partition keys (CASSANDRA-17711) + * Offer IF (NOT) EXISTS in cqlsh completion for CREATE TYPE, DROP TYPE, CREATE ROLE and DROP ROLE (CASSANDRA-16640) + * Nodetool bootstrap resume will now return an error if the operation fails (CASSANDRA-16491) + * Disable resumable bootstrap by default (CASSANDRA-17679) + * Include Git SHA in --verbose flag for nodetool version (CASSANDRA-17753) + * Update Byteman to 4.0.20 and Jacoco to 0.8.8 (CASSANDRA-16413) + * Add memtable option among possible tab completions for a table (CASSANDRA-17982) + * Adds a trie-based memtable implementation (CASSANDRA-17240) + * Further improves precision of memtable heap tracking (CASSANDRA-17240) + * Fix formatting of metrics documentation (CASSANDRA-17961) + * Keep sstable level when streaming for decommission and move (CASSANDRA-17969) + * Add Unavailables metric for CASWrite in the docs (CASSANDRA-16357) + * Make Cassandra logs able to be viewed in the virtual table system_views.system_logs (CASSANDRA-17946) + * IllegalArgumentException in Gossiper#order due to concurrent mutations to elements being applied (CASSANDRA-17908) + * Include estimated active compaction remaining write size when starting a new compaction (CASSANDRA-17931) + * Mixed mode support for internode authentication during TLS upgrades (CASSANDRA-17923) + * Revert Mockito downgrade from CASSANDRA-17750 (CASSANDRA-17496) + * Add --older-than and --older-than-timestamp options for nodetool clearsnapshots (CASSANDRA-16860) + * Fix "open RT bound as its last item" exception (CASSANDRA-17810) + * Fix leak of non-standard Java types in JMX MBeans `org.apache.cassandra.db:type=StorageService` + and `org.apache.cassandra.db:type=RepairService` as clients using JMX cannot handle them. More details in NEWS.txt (CASSANDRA-17668) + * Deprecate Throwables.propagate usage (CASSANDRA-14218) + * Allow disabling hotness persistence for high sstable counts (CASSANDRA-17868) + * Prevent NullPointerException when changing neverPurgeTombstones from true to false (CASSANDRA-17897) + * Add metrics around storage usage and compression (CASSANDRA-17898) + * Remove usage of deprecated javax certificate classes (CASSANDRA-17867) + * Make sure preview repairs don't optimise streams unless configured to (CASSANDRA-17865) + * Optionally avoid hint transfer during decommission (CASSANDRA-17808) + * Make disabling auto snapshot on selected tables possible (CASSANDRA-10383) + * Introduce compaction priorities to prevent upgrade compaction inability to finish (CASSANDRA-17851) + * Prevent a user from manually removing ephemeral snapshots (CASSANDRA-17757) + * Remove dependency on Maven Ant Tasks (CASSANDRA-17750) + * Update ASM(9.1 to 9.3), Mockito(1.10.10 to 1.12.13) and ByteBuddy(3.2.4 to 4.7.0) (CASSANDRA-17835) + * Add the ability for operators to loosen the definition of "empty" for edge cases (CASSANDRA-17842) + * Fix potential out of range exception on column index downsampling (CASSANDRA-17839) + * Introduce target directory to vtable output for sstable_tasks and for compactionstats (CASSANDRA-13010) + * Read/Write/Truncate throw RequestFailure in a race condition with callback timeouts, should return Timeout instead (CASSANDRA-17828) + * Add ability to log load profiles at fixed intervals (CASSANDRA-17821) + * Protect against Gossip backing up due to a quarantined endpoint without version information (CASSANDRA-17830) + * NPE in org.apache.cassandra.cql3.Attributes.getTimeToLive (CASSANDRA-17822) + * Add guardrail for column size (CASSANDRA-17151) + * When doing a host replacement, we need to check that the node is a live node before failing with "Cannot replace a live node..." (CASSANDRA-17805) + * Add support to generate a One-Shot heap dump on unhandled exceptions (CASSANDRA-17795) + * Rate-limit new client connection auth setup to avoid overwhelming bcrypt (CASSANDRA-17812) + * DataOutputBuffer#scratchBuffer can use off-heap or on-heap memory as a means to control memory allocations (CASSANDRA-16471) + * Add ability to read the TTLs and write times of the elements of a collection and/or UDT (CASSANDRA-8877) + * Removed Python < 2.7 support from formatting.py (CASSANDRA-17694) + * Cleanup pylint issues with pylexotron.py (CASSANDRA-17779) + * NPE bug in streaming checking if SSTable is being repaired (CASSANDRA-17801) + * Users of NativeLibrary should handle lack of JNA appropriately when running in client mode (CASSANDRA-17794) + * Warn on unknown directories found in system keyspace directory rather than kill node during startup checks (CASSANDRA-17777) + * Log duplicate rows sharing a partition key found in verify and scrub (CASSANDRA-17789) + * Add separate thread pool for Secondary Index building so it doesn't block compactions (CASSANDRA-17781) + * Added JMX call to getSSTableCountPerTWCSBucket for TWCS (CASSANDRA-17774) + * When doing a host replacement, -Dcassandra.broadcast_interval_ms is used to know when to check the ring but checks that the ring wasn't changed in -Dcassandra.ring_delay_ms, changes to ring delay should not depend on when we publish load stats (CASSANDRA-17776) + * When bootstrap fails, CassandraRoleManager may attempt to do read queries that fail with "Cannot read from a bootstrapping node", and increments unavailables counters (CASSANDRA-17754) + * Add guardrail to disallow DROP KEYSPACE commands (CASSANDRA-17767) + * Remove ephemeral snapshot marker file and introduce a flag to SnapshotManifest (CASSANDRA-16911) + * Add a virtual table that exposes currently running queries (CASSANDRA-15241) + * Allow sstableloader to specify table without relying on path (CASSANDRA-16584) + * Fix TestGossipingPropertyFileSnitch.test_prefer_local_reconnect_on_listen_address (CASSANDRA-17700) + * Add ByteComparable API (CASSANDRA-6936) + * Add guardrail for maximum replication factor (CASSANDRA-17500) + * Increment CQLSH to version 6.2.0 for release 4.2 (CASSANDRA-17646) + * Adding support to perform certificate based internode authentication (CASSANDRA-17661) + * Option to disable CDC writes of repaired data (CASSANDRA-17666) + * When a node is bootstrapping it gets the whole gossip state but applies in random order causing some cases where StorageService will fail causing an instance to not show up in TokenMetadata (CASSANDRA-17676) + * Add CQLSH command SHOW REPLICAS (CASSANDRA-17577) + * Add guardrail to allow disabling of SimpleStrategy (CASSANDRA-17647) + * Change default directory permission to 750 in packaging (CASSANDRA-17470) + * Adding support for TLS client authentication for internode communication (CASSANDRA-17513) + * Add new CQL function maxWritetime (CASSANDRA-17425) + * Add guardrail for ALTER TABLE ADD / DROP / REMOVE column operations (CASSANDRA-17495) + * Rename DisableFlag class to EnableFlag on guardrails (CASSANDRA-17544) +Merged from 4.1: * Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164) * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) diff --cc conf/jvm11-server.options index 7e78467853,1fc3503adb..0f73d4cfed --- a/conf/jvm11-server.options +++ b/conf/jvm11-server.options @@@ -11,39 -11,41 +11,41 @@@ ### CMS Settings ---XX:+UseConcMarkSweepGC ---XX:+CMSParallelRemarkEnabled ---XX:SurvivorRatio=8 ---XX:MaxTenuringThreshold=1 ---XX:CMSInitiatingOccupancyFraction=75 ---XX:+UseCMSInitiatingOccupancyOnly ---XX:CMSWaitDuration=10000 ---XX:+CMSParallelInitialMarkEnabled ---XX:+CMSEdenChunksRecordAlways ++##-XX:+UseConcMarkSweepGC ++##-XX:+CMSParallelRemarkEnabled ++##-XX:SurvivorRatio=8 ++##-XX:MaxTenuringThreshold=1 ++##-XX:CMSInitiatingOccupancyFraction=75 ++##-XX:+UseCMSInitiatingOccupancyOnly ++##-XX:CMSWaitDuration=10000 ++##-XX:+CMSParallelInitialMarkEnabled ++##-XX:+CMSEdenChunksRecordAlways ## some JVMs will fill up their heap when accessed via JMX, see CASSANDRA-6541 ---XX:+CMSClassUnloadingEnabled ++##-XX:+CMSClassUnloadingEnabled ### G1 Settings ## Use the Hotspot garbage-first collector. --#-XX:+UseG1GC --#-XX:+ParallelRefProcEnabled -#-XX:MaxTenuringThreshold=1 -#-XX:G1HeapRegionSize=16m ++-XX:+UseG1GC ++-XX:+ParallelRefProcEnabled ++-XX:MaxTenuringThreshold=1 ++-XX:G1HeapRegionSize=16m # ## Have the JVM do less remembered set work during STW, instead ## preferring concurrent GC. Reduces p99.9 latency. --#-XX:G1RSetUpdatingPauseTimePercent=5 ++-XX:G1RSetUpdatingPauseTimePercent=5 # ## Main G1GC tunable: lowering the pause target will lower throughput and vise versa. ## 200ms is the JVM default and lowest viable setting ## 1000ms increases throughput. Keep it smaller than the timeouts in cassandra.yaml. - #-XX:MaxGCPauseMillis=500 -#-XX:MaxGCPauseMillis=300 ++-XX:MaxGCPauseMillis=300 ## Optional G1 Settings # Save CPU time on large (>= 16GB) heaps by delaying region scanning # until the heap is 70% full. The default in Hotspot 8u40 is 40%. --#-XX:InitiatingHeapOccupancyPercent=70 ++-XX:InitiatingHeapOccupancyPercent=70 # For systems with > 8 cores, the default ParallelGCThreads is 5/8 the number of logical cores. # Otherwise equal to the number of cores when 8 or less. diff --cc conf/jvm8-server.options index 6214669eab,ba800db4b4..4c08439b0d --- a/conf/jvm8-server.options +++ b/conf/jvm8-server.options @@@ -18,38 -18,40 +18,40 @@@ ################# ### CMS Settings ---XX:+UseParNewGC ---XX:+UseConcMarkSweepGC ---XX:+CMSParallelRemarkEnabled ---XX:SurvivorRatio=8 ---XX:MaxTenuringThreshold=1 ---XX:CMSInitiatingOccupancyFraction=75 ---XX:+UseCMSInitiatingOccupancyOnly ---XX:CMSWaitDuration=10000 ---XX:+CMSParallelInitialMarkEnabled ---XX:+CMSEdenChunksRecordAlways ++##-XX:+UseParNewGC ++##-XX:+UseConcMarkSweepGC ++##-XX:+CMSParallelRemarkEnabled ++##-XX:SurvivorRatio=8 ++##-XX:MaxTenuringThreshold=1 ++##-XX:CMSInitiatingOccupancyFraction=75 ++##-XX:+UseCMSInitiatingOccupancyOnly ++##-XX:CMSWaitDuration=10000 ++##-XX:+CMSParallelInitialMarkEnabled ++##-XX:+CMSEdenChunksRecordAlways ## some JVMs will fill up their heap when accessed via JMX, see CASSANDRA-6541 ---XX:+CMSClassUnloadingEnabled ++##-XX:+CMSClassUnloadingEnabled ### G1 Settings ## Use the Hotspot garbage-first collector. --#-XX:+UseG1GC --#-XX:+ParallelRefProcEnabled -#-XX:MaxTenuringThreshold=1 -#-XX:G1HeapRegionSize=16m ++-XX:+UseG1GC ++-XX:+ParallelRefProcEnabled ++-XX:MaxTenuringThreshold=1 ++-XX:G1HeapRegionSize=16m ++ --# ## Have the JVM do less remembered set work during STW, instead ## preferring concurrent GC. Reduces p99.9 latency. --#-XX:G1RSetUpdatingPauseTimePercent=5 --# ++-XX:G1RSetUpdatingPauseTimePercent=5 ++ ## Main G1GC tunable: lowering the pause target will lower throughput and vise versa. ## 200ms is the JVM default and lowest viable setting ## 1000ms increases throughput. Keep it smaller than the timeouts in cassandra.yaml. - #-XX:MaxGCPauseMillis=500 -#-XX:MaxGCPauseMillis=300 ++-XX:MaxGCPauseMillis=300 ## Optional G1 Settings # Save CPU time on large (>= 16GB) heaps by delaying region scanning # until the heap is 70% full. The default in Hotspot 8u40 is 40%. --#-XX:InitiatingHeapOccupancyPercent=70 ++-XX:InitiatingHeapOccupancyPercent=70 # For systems with > 8 cores, the default ParallelGCThreads is 5/8 the number of logical cores. # Otherwise equal to the number of cores when 8 or less. --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org