[
https://issues.apache.org/jira/browse/CASSANDRA-11383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15202816#comment-15202816
]
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
[email protected] about that. So I went back to the orginal, pre-integration
doc (https://github.com/xedin/sasi) and see that there is separate,
non-integrated doc for SASI in the Cassandra source tree -
https://github.com/apache/cassandra/blob/trunk/doc/SASI.md, 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: https://issues.apache.org/jira/browse/CASSANDRA-11383
> 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
(v6.3.4#6332)