mirror of https://github.com/apache/cassandra
Merge branch 'cassandra-3.11' into trunk
This commit is contained in:
commit
fcf293a61a
|
|
@ -9,6 +9,7 @@
|
|||
* Throw BufferOverflowException from DataOutputBuffer for better visibility (CASSANDRA-16214)
|
||||
* TLS connections to the storage port on a node without server encryption configured causes java.io.IOException accessing missing keystore (CASSANDRA-16144)
|
||||
Merged from 3.11:
|
||||
* SASI's `max_compaction_flush_memory_in_mb` settings over 100GB revert to default of 1GB (CASSANDRA-16071)
|
||||
Merged from 3.0:
|
||||
* Improved check of num_tokens against the length of initial_token (CASSANDRA-14477)
|
||||
* Fix a race condition on ColumnFamilyStore and TableMetrics (CASSANDRA-16228)
|
||||
|
|
|
|||
12
NEWS.txt
12
NEWS.txt
|
|
@ -280,6 +280,18 @@ Materialized Views
|
|||
to be NOT NULL, and no base primary key columns get automatically included in view definition. You have to
|
||||
specify them explicitly now.
|
||||
|
||||
3.11.10
|
||||
======
|
||||
|
||||
Upgrading
|
||||
---------
|
||||
- SASI's `max_compaction_flush_memory_in_mb` setting was previously getting interpreted in bytes. From 3.11.8
|
||||
it is correctly interpreted in megabytes, but prior to 3.11.10 previous configurations of this setting will
|
||||
lead to nodes OOM during compaction. From 3.11.10 previous configurations will be detected as incorrect,
|
||||
logged, and the setting reverted to the default value of 1GB. It is up to the user to correct the setting
|
||||
after an upgrade, via dropping and recreating the index. See CASSANDRA-16071 for details.
|
||||
|
||||
|
||||
3.11.6
|
||||
======
|
||||
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ public class IndexMode
|
|||
private static final String INDEX_IS_LITERAL_OPTION = "is_literal";
|
||||
private static final String INDEX_MAX_FLUSH_MEMORY_OPTION = "max_compaction_flush_memory_in_mb";
|
||||
private static final double INDEX_MAX_FLUSH_DEFAULT_MULTIPLIER = 0.15;
|
||||
private static final long DEFAULT_MAX_MEM_BYTES = (long) (1073741824 * INDEX_MAX_FLUSH_DEFAULT_MULTIPLIER); // 1G default for memtable
|
||||
|
||||
public final Mode mode;
|
||||
public final boolean isAnalyzed, isLiteral;
|
||||
|
|
@ -187,9 +188,14 @@ public class IndexMode
|
|||
}
|
||||
|
||||
long maxMemBytes = indexOptions.get(INDEX_MAX_FLUSH_MEMORY_OPTION) == null
|
||||
? (long) (1073741824 * INDEX_MAX_FLUSH_DEFAULT_MULTIPLIER) // 1G default for memtable
|
||||
? DEFAULT_MAX_MEM_BYTES
|
||||
: 1048576L * Long.parseLong(indexOptions.get(INDEX_MAX_FLUSH_MEMORY_OPTION));
|
||||
|
||||
if (maxMemBytes > 100L * 1073741824)
|
||||
{
|
||||
logger.error("{} configured as {} is above 100GB, reverting to default 1GB", INDEX_MAX_FLUSH_MEMORY_OPTION, maxMemBytes);
|
||||
maxMemBytes = DEFAULT_MAX_MEM_BYTES;
|
||||
}
|
||||
return new IndexMode(mode, isLiteral, isAnalyzed, analyzerClass, maxMemBytes);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue