[ 
https://issues.apache.org/jira/browse/CASSANDRA-16071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17236687#comment-17236687
 ] 

Michael Semb Wever commented on CASSANDRA-16071:
------------------------------------------------


Here is a manual migration you can use to avoid having to recreate the SASI, 
also while keeping it available during the upgrade.

- disable compactions on all nodes
- rolling upgrade all nodes (disabling again compactions upon restart)
- verify that the system.log files reported 
{noformat} ERROR [main] … IndexMode.java:196 - 
max_compaction_flush_memory_in_mb configured as … is above 100GB, reverting to 
default 1GB{noformat}
- verify the index still has the old setting
{code}cqlsh -e "select * from system_schema.indexes where keyspace_name = 
'<keyspace>' and table_name = '<table>';"{code}

- edit the indexes table to the correct max_compaction_flush_memory_in_mb 
value. It is important to get all the values here correct, including all those 
in {{OPTIONS}}. Failure to do this correctly can leave the node unable to start.
{code}cqlsh
> update system_schema.indexes set options = {'class_name': 
> 'org.apache.cassandra.index.sasi.SASIIndex', 
> 'max_compaction_flush_memory_in_mb': '<correct_value>', 'target': 
> '<column_name>'}  where keyspace_name = '<keyspace>' and table_name = 
> '<table>' and index_name = '<index_name>' ;{code}

- restart the node
- validate the ERROR message no longer appears during startup
- enable compactions on all nodes

> max_compaction_flush_memory_in_mb is interpreted as bytes
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-16071
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16071
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Feature/SASI
>            Reporter: Michael Semb Wever
>            Assignee: Michael Semb Wever
>            Priority: Normal
>             Fix For: 4.0, 3.11.8, 4.0-beta2, 4.0-beta4, 3.11.10
>
>
> In CASSANDRA-12662, [~scottcarey] 
> [reported|https://issues.apache.org/jira/browse/CASSANDRA-12662?focusedCommentId=17070055&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17070055]
>  that the {{max_compaction_flush_memory_in_mb}} setting gets incorrectly 
> interpreted in bytes rather than megabytes as its name implies.
> {quote}
> 1.  the setting 'max_compaction_flush_memory_in_mb' is a misnomer, it is 
> actually memory in BYTES.  If you take it at face value, and set it to say, 
> '512' thinking that means 512MB,  you will produce a million temp files 
> rather quickly in a large compaction, which will exhaust even large values of 
> max_map_count rapidly, and get the OOM: Map Error issue above and possibly 
> have a very difficult situation to get a cluster back into a place where 
> nodes aren't crashing while initilaizing or soon after.  This issue is minor 
> if you know about it in advance and set the value IN BYTES.
> {quote}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to