cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jack Krupansky (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-11383) SASI index build leads to massive OOM
Date Sat, 19 Mar 2016 15:44:33 GMT


Jack Krupansky commented on CASSANDRA-11383:

The terminology is a bit confusing here - everybody understands what a sparse matrix is, but
exactly what constitutes sparseness in a column is very unclear. What is clear is that  the
cardinality (number of distinct values) is low for that int field. A naive person (okay...
me) would have thought that sparse data meant few distinct values, which is what the int field
is (36 distinct values.)

I decided to check the doc to see what it says about SPARSE, but discovered that the doc doesn't
exist yet in the main Cassandra doc - I sent a message to about that. So
I went back to the orginal, pre-integration doc ( and see that
there is separate, non-integrated doc for SASI in the Cassandra source tree -,
which makes clear that "SPARSE, which is meant to improve performance of querying large, dense
number ranges like timestamps for data inserted every millisecond." Oops... SPARSE=dense,
but in any case SPARSE is designed for high cardinality of distinct values, which the int
field is clearly not.

I would argue that SASI should give a strongly-worded warning if the column data for a SPARSE
index has low cardinality - low number of distinct column values and high number of index
values per column value.

> SASI index build leads to massive OOM
> -------------------------------------
>                 Key: CASSANDRA-11383
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL
>         Environment: C* 3.4
>            Reporter: DOAN DuyHai
>         Attachments: CASSANDRA-11383.patch, 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

View raw message