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

Jordan West commented on CASSANDRA-11383:
-----------------------------------------

bq.  Was the conclusion that a SPARSE SASI index would work well even for low 
cardinality data (as in the original reported case, for period_end_month_int), 
or was there some application-level change required to adapt to a SASI change 
as well?

{{period_end_month_int}} is still the incorrect use case for {{SPARSE}}. That 
did not change. {{SPARSE}} is still intended for indexes/terms where there are 
a large number of terms and a low number of tokens/keys per term (the token 
trees in the index are sparse). The {{period_end_month_int}} use-case is a 
dense index: there are few terms and each term has a large number of 
tokens/keys (the token trees in the index are dense). The merged patch improves 
memory overhead in either case when building indexes from a large sstable. 

What was modified is that indexes marked {{SPARSE}} that have more than 5 
tokens for any term in the index will fail to build and an exception will be 
logged. 

bq.  Is it now official that a non-SPARSE SASI index (e.g., PREFIX) can be used 
for non-TEXT data (int in particular), at least for the case of exact match 
lookup?

{{PREFIX}} mode has always been supported for numeric data and was/continues to 
be the default mode if none is specified. PREFIX mode should be considered "NOT 
SPARSE" for numerical data. 

> 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