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

DOAN DuyHai commented on CASSANDRA-11383:
-----------------------------------------

*Test case 2*

Ok [~xedin], I've found something really *fishy*

On the seed node, in the logs:

{noformat}
INFO  [GossipStage:1] 2016-03-26 16:35:22,020 Gossiper.java:1009 - InetAddress 
/46.105.104.166 is now DOWN
INFO  [GossipStage:1] 2016-03-26 16:36:18,474 Gossiper.java:1009 - InetAddress 
/5.39.73.149 is now DOWN
INFO  [GossipStage:1] 2016-03-26 16:36:27,285 Gossiper.java:1009 - InetAddress 
/5.39.72.230 is now DOWN
{noformat}

Inside system.log of *46.105.104.166*, around *2016-03-26 16:35:22,020*:
{noformat}
ERROR [SASI-General:2] 2016-03-26 16:35:22,017 CassandraDaemon.java:195 - 
Exception in thread Thread[SASI-General:2,5,main]
org.apache.cassandra.io.FSWriteError: java.io.IOException: Term - 
'-9140913758573873094' belongs to more than 5 keys in SPARSE mode, which is not 
allowed.
        at 
org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:301)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at 
org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:244)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at 
org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:227)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at 
org.apache.cassandra.index.sasi.disk.PerSSTableIndexWriter$Index.lambda$scheduleSegmentFlush$262(PerSSTableIndexWriter.java:262)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
~[na:1.8.0_74]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_74]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_74]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_74]
Caused by: java.io.IOException: Term - '-9140913758573873094' belongs to more 
than 5 keys in SPARSE mode, which is not allowed.
{noformat}

Inside system.log of *5.39.73.149*, around *2016-03-26 16:36:18,474*:
{noformat}
ERROR [SASI-General:2] 2016-03-26 16:36:18,473 CassandraDaemon.java:195 - 
Exception in thread Thread[SASI-General:2,5,main]
org.apache.cassandra.io.FSWriteError: java.io.IOException: Term - 
'-8889829184905116393' belongs to more than 5 keys in SPARSE mode, which is not 
allowed.
        at 
org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:301)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at 
org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:244)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at 
org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:227)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at 
org.apache.cassandra.index.sasi.disk.PerSSTableIndexWriter$Index.lambda$scheduleSegmentFlush$262(PerSSTableIndexWriter.java:262)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
~[na:1.8.0_74]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_74]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_74]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_74]
Caused by: java.io.IOException: Term - '-8889829184905116393' belongs to more 
than 5 keys in SPARSE mode, which is not allowed.
{noformat}

Inside system.log of *5.39.72.230*, around *2016-03-26 16:36:27,285*:
{noformat}
ERROR [SASI-General:2] 2016-03-26 16:36:27,281 CassandraDaemon.java:195 - 
Exception in thread Thread[SASI-General:2,5,main]
org.apache.cassandra.io.FSWriteError: java.io.IOException: Term - 
'-8574128631854799776' belongs to more than 5 keys in SPARSE mode, which is not 
allowed.
        at 
org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:301)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at 
org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:244)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at 
org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:227)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at 
org.apache.cassandra.index.sasi.disk.PerSSTableIndexWriter$Index.lambda$scheduleSegmentFlush$262(PerSSTableIndexWriter.java:262)
 ~[apache-cassandra-3.5-SNAPSHOT.jar:3.5-SNAPSHOT]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
~[na:1.8.0_74]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_74]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_74]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_74]
Caused by: java.io.IOException: Term - '-8574128631854799776' belongs to more 
than 5 keys in SPARSE mode, which is not allowed.
{noformat}

 I checked a couple of other nodes and the same error pattern is seen ...

 Look like the SASI exception raised on {{SPARSE}} index just kill the gossip. 
I don't see how, maybe the exception just bubble up the stack and kill the 
gossip stage ?

> Avoid index segment stitching in RAM which lead to OOM on big SSTable files 
> ----------------------------------------------------------------------------
>
>                 Key: CASSANDRA-11383
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11383
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL
>         Environment: C* 3.4
>            Reporter: DOAN DuyHai
>            Assignee: Jordan West
>              Labels: sasi
>             Fix For: 3.5
>
>         Attachments: CASSANDRA-11383.patch, 
> SASI_Index_build_LCS_1G_Max_SSTable_Size_logs.tar.gz, 
> new_system_log_CMS_8GB_OOM.log, system.log_sasi_build_oom
>
>
> 13 bare metal machines
> - 6 cores CPU (12 HT)
> - 64Gb RAM
> - 4 SSD in RAID0
>  JVM settings:
> - G1 GC
> - Xms32G, Xmx32G
> Data set:
>  - ≈ 100Gb/per node
>  - 1.3 Tb cluster-wide
>  - ≈ 20Gb for all SASI indices
> C* settings:
> - concurrent_compactors: 1
> - compaction_throughput_mb_per_sec: 256
> - memtable_heap_space_in_mb: 2048
> - memtable_offheap_space_in_mb: 2048
> I created 9 SASI indices
>  - 8 indices with text field, NonTokenizingAnalyser,  PREFIX mode, 
> case-insensitive
>  - 1 index with numeric field, SPARSE mode
>  After a while, the nodes just gone OOM.
>  I attach log files. You can see a lot of GC happening while index segments 
> are flush to disk. At some point the node OOM ...
> /cc [~xedin]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to