diff --git a/CHANGES.txt b/CHANGES.txt index 2501253fac..388fad1519 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.1 + * Add soft/hard limits to local reads to protect against reading too much data in a single query (CASSANDRA-16896) * Avoid token cache invalidation for removing a non-member node (CASSANDRA-15290) * Allow configuration of consistency levels on auth operations (CASSANDRA-12988) * Add number of sstables in a compaction to compactionstats output (CASSANDRA-16844) diff --git a/NEWS.txt b/NEWS.txt index 77a3e1bf72..bdd3dd6ffe 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -40,11 +40,14 @@ New features ------------ - Warn/abort thresholds added to read queries notifying clients when these thresholds trigger (by emitting a client warning or aborting the query). This feature is disabled by default, scheduled - to be enabled in 4.2; it is controlled with the configuration client_track_warnings_enabled, + to be enabled in 4.2; it is controlled with the configuration track_warnings.enabled, setting to true will enable this feature. Each check has its own warn/abort thresholds, currently - tombstones (tombstone_warn_threshold, and tombstone_failure_threshold) and coordinator result set - materialized size (client_large_read_warn_threshold_kb, and client_large_read_abort_threshold_kb) - are supported; more checks will be added over time. + tombstones (tombstone_warn_threshold, and tombstone_failure_threshold), coordinator result set + materialized size (track_warnings.coordinator_large_read.warn_threshold_kb, and + track_warnings.coordinator_large_read.abort_threshold_kb), local read materialized heap size + (track_warnings.local_read_size.warn_threshold_kb and track_warnings.local_read_size.abort_threshold_kb), + and RowIndexEntry estimated memory size (track_warnings.row_index_size.warn_threshold_kb and + track_warnings.row_index_size.abort_threshold_kb) are supported; more checks will be added over time. Upgrading --------- diff --git a/build.xml b/build.xml index 32eba7c26a..1dc1c035cd 100644 --- a/build.xml +++ b/build.xml @@ -859,6 +859,7 @@ + @@ -1370,6 +1371,7 @@ + diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index a868a4af0a..4e6db631be 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -1459,15 +1459,25 @@ enable_drop_compact_storage: false # - 127.0.0.0/31 # Enables tracking warnings/aborts across all replicas for reporting back to client. -# Scheduled to enable in 4.2 # See: CASSANDRA-16850 -# See: tombstone_warn_threshold, tombstone_failure_threshold, client_large_read_warn_threshold_kb, and client_large_read_abort_threshold_kb -#client_track_warnings_enabled: false - -# When client_track_warnings_enabled: true, this tracks the materialized size of a query on the -# coordinator. If client_large_read_warn_threshold_kb is greater than 0, this will emit a warning -# to clients with details on what query triggered this as well as the size of the result set; if -# client_large_read_abort_threshold_kb is greater than 0, this will abort the query after it -# has exceeded this threshold, returning a read error to the user. -#client_large_read_warn_threshold_kb: 0 -#client_large_read_abort_threshold_kb: 0 +#track_warnings: +# # Scheduled to enable in 4.2 +# enabled: false +# # When track_warnings.enabled: true, this tracks the materialized size of a query on the +# # coordinator. If coordinator_large_read.warn_threshold_kb is greater than 0, this will emit a warning +# # to clients with details on what query triggered this as well as the size of the result set; if +# # coordinator_large_read.abort_threshold_kb is greater than 0, this will abort the query after it +# # has exceeded this threshold, returning a read error to the user. +# coordinator_large_read: +# warn_threshold_kb: 0 +# abort_threshold_kb: 0 +# # When track_warnings.enabled: true, this tracks the size of the local read (as defined by +# # heap size), and will warn/abort based off these thresholds; 0 disables these checks. +# local_read_size: +# warn_threshold_kb: 0 +# abort_threshold_kb: 0 +# # When track_warnings.enabled: true, this tracks the expected memory size of the RowIndexEntry +# # and will warn/abort based off these thresholds; 0 disables these checks. +# row_index_size: +# warn_threshold_kb: 0 +# abort_threshold_kb: 0 diff --git a/ide/idea/workspace.xml b/ide/idea/workspace.xml index 41645f5ce9..73af47fcc8 100644 --- a/ide/idea/workspace.xml +++ b/ide/idea/workspace.xml @@ -143,7 +143,7 @@