Here is the creation syntax for the entire schema.  The xyz table has about
2.1 billion keys and the def table has about 230 million keys.  Max row
size is about 3KB, mean row size is 700B.

CREATE KEYSPACE abc WITH replication = {'class': 'NetworkTopologyStrategy',
> 'us-east': 3};
> CREATE TABLE xyz (
>   id text,
>   secondary_id int,
>   data text,
>   PRIMARY KEY(id)
> )
>   WITH
>   compaction = { 'class': 'LeveledCompactionStrategy' }
>   and compression = {'class': 'LZ4Compressor'};
> CREATE INDEX secondary_id_index ON abc.xyz (secondary_id);
> CREATE TABLE def (
>   id text,
>   secondary_id int,
>   data text,
>   PRIMARY KEY(id)
> )
>   WITH
>   compaction = { 'class': 'LeveledCompactionStrategy' }
>   and compression = {'class': 'LZ4Compressor'};
> CREATE INDEX secondary_id_index_def ON abc.def (secondary_id);


On Fri, Mar 11, 2016 at 11:24 AM, Jack Krupansky <jack.krupan...@gmail.com>
wrote:

> What is your schema and data like - in particular, how wide are your
> partitions (number of rows and typical row size)?
>
> Maybe you just need (a lot) more heap for rows during the repair process.
>
> -- Jack Krupansky
>
> On Fri, Mar 11, 2016 at 11:19 AM, Adam Plumb <apl...@fiksu.com> wrote:
>
>> These are brand new boxes only running Cassandra.  Yeah the kernel is
>> what is killing the JVM, and this does appear to be a memory leak in
>> Cassandra.  And Cassandra is the only thing running, aside from the basic
>> services needed for Amazon Linux to run.
>>
>> On Fri, Mar 11, 2016 at 11:17 AM, Sebastian Estevez <
>> sebastian.este...@datastax.com> wrote:
>>
>>> Sacrifice child in dmesg is your OS killing the process with the most
>>> ram. That means you're actually running out of memory at the Linux level
>>> outside of the JVM.
>>>
>>> Are you running anything other than Cassandra on this box?
>>>
>>> If so, does it have a memory leak?
>>>
>>> all the best,
>>>
>>> Sebastián
>>> On Mar 11, 2016 11:14 AM, "Adam Plumb" <apl...@fiksu.com> wrote:
>>>
>>>> I've got a new cluster of 18 nodes running Cassandra 3.4 that I just
>>>> launched and loaded data into yesterday (roughly 2TB of total storage) and
>>>> am seeing runaway memory usage.  These nodes are EC2 c3.4xlarges with 30GB
>>>> RAM and the heap size is set to 8G with a new heap size of 1.6G.
>>>>
>>>> Last night I finished loading up the data, then ran an incremental
>>>> repair on one of the nodes just to ensure that everything was working
>>>> (nodetool repair).  Over night all 18 nodes ran out of memory and were
>>>> killed by the OOM killer.  I restarted them this morning and they all came
>>>> up fine, but just started churning through memory and got killed again.  I
>>>> restarted them again and they're doing the same thing.  I'm not getting any
>>>> errors in the system log, since the process is getting killed abruptly
>>>> (which makes me think this is a native memory issue, not heap)
>>>>
>>>> Obviously this behavior isn't the best.  I'm willing to provide any
>>>> data people need to help debug this, these nodes are still up and running.
>>>> I'm also in IRC if anyone wants to jump on there.
>>>>
>>>> Here is the output of ps aux:
>>>>
>>>> 497       64351  108 89.5 187156072 27642988 ?  SLl  15:13  62:15 java
>>>>> -ea -XX:+CMSClassUnloadingEnabled -XX:+UseThreadPriorities
>>>>> -XX:ThreadPriorityPolicy=42 -Xms7536M -Xmx7536M -Xmn1600M
>>>>> -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:StringTableSize=1000003
>>>>> -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled
>>>>> -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1
>>>>> -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly
>>>>> -XX:+UseTLAB -XX:MaxGCPauseMillis=200 
>>>>> -XX:InitiatingHeapOccupancyPercent=45
>>>>> -XX:-ParallelRefProcEnabled -XX:-AlwaysPreTouch -XX:+UseBiasedLocking
>>>>> -XX:+UseTLAB -XX:+ResizeTLAB -Djava.net.preferIPv4Stack=true
>>>>> -Dcom.sun.management.jmxremote.port=7199
>>>>> -Dcom.sun.management.jmxremote.rmi.port=7199
>>>>> -Dcom.sun.management.jmxremote.ssl=false
>>>>> -Dcom.sun.management.jmxremote.authenticate=false
>>>>> -XX:+CMSClassUnloadingEnabled -Dlogback.configurationFile=logback.xml -D
>>>>> *cas*sandra.logdir=/usr/local/*cas*sandra/logs -D*cas*
>>>>> sandra.storagedir=/usr/local/*cas*sandra/data -D*cas*
>>>>> sandra-pidfile=/var/run/*cas*sandra/*cas*sandra.pid -cp /usr/local/
>>>>> *cas*sandra/conf:/usr/local/*cas*sandra/build/classes/main:/usr/local/
>>>>> *cas*sandra/build/classes/thrift:/usr/local/*cas*
>>>>> sandra/lib/airline-0.6.jar:/usr/local/*cas*
>>>>> sandra/lib/antlr-runtime-3.5.2.jar:/usr/local/*cas*sandra/lib/apache-
>>>>> *cas*sandra-3.4.jar:/usr/local/*cas*sandra/lib/apache-*cas*
>>>>> sandra-clientutil-3.4.jar:/usr/local/*cas*sandra/lib/apache-*cas*
>>>>> sandra-thrift-3.4.jar:/usr/local/*cas*
>>>>> sandra/lib/asm-5.0.4.jar:/usr/local/*cas*sandra/lib/*cas*
>>>>> sandra-driver-core-3.0.0-shaded.jar:/usr/local/*ca*
>>>>> sandra/lib/commons-cli-1.1.jar:/usr/local/*cas*
>>>>> sandra/lib/commons-codec-1.2.jar:/usr/local/*cas*
>>>>> sandra/lib/commons-lang3-3.1.jar:/usr/local/*cas*
>>>>> sandra/lib/commons-math3-3.2.jar:/usr/local/*cas*
>>>>> sandra/lib/compress-lzf-0.8.4.jar:/usr/local/*cas*
>>>>> sandra/lib/concurrentlinkedhashmap-lru-1.4.jar:/usr/local/*cas*
>>>>> sandra/lib/concurrent-trees-2.4.0.jar:/usr/local/*cas*
>>>>> sandra/lib/disruptor-3.0.1.jar:/usr/local/*cas*
>>>>> sandra/lib/ecj-4.4.2.jar:/usr/local/*cas*
>>>>> sandra/lib/guava-18.0.jar:/usr/local/*cas*
>>>>> sandra/lib/high-scale-lib-1.0.6.jar:/usr/local/*cas*
>>>>> sandra/lib/hppc-0.5.4.jar:/usr/local/*cas*
>>>>> sandra/lib/jackson-core-asl-1.9.2.jar:/usr/local/*cas*
>>>>> sandra/lib/jackson-mapper-asl-1.9.2.jar:/usr/local/*cas*
>>>>> sandra/lib/jamm-0.3.0.jar:/usr/local/*cas*
>>>>> sandra/lib/javax.inject.jar:/usr/local/*cas*
>>>>> sandra/lib/jbcrypt-0.3m.jar:/usr/local/*cas*
>>>>> sandra/lib/jcl-over-slf4j-1.7.7.jar:/usr/local/*cas*
>>>>> sandra/lib/jflex-1.6.0.jar:/usr/local/*cas*
>>>>> sandra/lib/jna-4.0.0.jar:/usr/local/*cas*
>>>>> sandra/lib/joda-time-2.4.jar:/usr/local/*cas*
>>>>> sandra/lib/json-simple-1.1.jar:/usr/local/*cas*
>>>>> sandra/lib/libthrift-0.9.2.jar:/usr/local/*cas*
>>>>> sandra/lib/log4j-over-slf4j-1.7.7.jar:/usr/local/*cas*
>>>>> sandra/lib/logback-classic-1.1.3.jar:/usr/local/*cas*
>>>>> sandra/lib/logback-core-1.1.3.jar:/usr/local/*cas*
>>>>> sandra/lib/lz4-1.3.0.jar:/usr/local/*cas*
>>>>> sandra/lib/metrics-core-3.1.0.jar:/usr/local/*cas*
>>>>> sandra/lib/metrics-logback-3.1.0.jar:/usr/local/*cas*
>>>>> sandra/lib/netty-all-4.0.23.Final.jar:/usr/local/*cas*
>>>>> sandra/lib/ohc-core-0.4.2.jar:/usr/local/*cas*
>>>>> sandra/lib/ohc-core-j8-0.4.2.jar:/usr/local/*cas*
>>>>> sandra/lib/primitive-1.0.jar:/usr/local/*cas*
>>>>> sandra/lib/reporter-config3-3.0.0.jar:/usr/local/*cas*
>>>>> sandra/lib/reporter-config-base-3.0.0.jar:/usr/local/*cas*
>>>>> sandra/lib/sigar-1.6.4.jar:/usr/local/*cas*
>>>>> sandra/lib/slf4j-api-1.7.7.jar:/usr/local/*cas*
>>>>> sandra/lib/snakeyaml-1.11.jar:/usr/local/*cas*
>>>>> sandra/lib/snappy-java-1.1.1.7.jar:/usr/local/*cas*
>>>>> sandra/lib/snowball-stemmer-1.3.0.581.1.jar:/usr/local/*cas*
>>>>> sandra/lib/ST4-4.0.8.jar:/usr/local/*cas*
>>>>> sandra/lib/stream-2.5.2.jar:/usr/local/*cas*
>>>>> sandra/lib/thrift-server-0.3.7.jar:/usr/local/*cas*sandra/lib/jsr223/*/*.jar
>>>>> org.apache.*cas*sandra.service.CassandraDaemon
>>>>
>>>>
>>>>  Here is some dmesg output:
>>>>
>>>> [40003.010117] java invoked oom-killer: gfp_mask=0x280da, order=0,
>>>> oom_score_adj=0
>>>> [40003.013042] java cpuset=/ mems_allowed=0
>>>> [40003.014789] CPU: 3 PID: 37757 Comm: java Tainted: G            E
>>>> 4.1.7-15.23.amzn1.x86_64 #1
>>>> [40003.017852] Hardware name: Xen HVM domU, BIOS 4.2.amazon 12/07/2015
>>>> [40003.020066]  0000000000000000 ffff8800ebaaba18 ffffffff814da12c
>>>> 0000000000000000
>>>> [40003.022870]  ffff880763594c80 ffff8800ebaabac8 ffffffff814d7939
>>>> ffff8800ebaaba78
>>>> [40003.025674]  ffffffff811bf8f7 ffff880770679c00 ffff88077001c190
>>>> 0000000000000080
>>>> [40003.028660] Call Trace:
>>>> [40003.029613]  [<ffffffff814da12c>] dump_stack+0x45/0x57
>>>> [40003.031486]  [<ffffffff814d7939>] dump_header+0x7f/0x1fe
>>>> [40003.033390]  [<ffffffff811bf8f7>] ? mem_cgroup_iter+0x137/0x3d0
>>>> [40003.035475]  [<ffffffff8107f496>] ? __queue_work+0x136/0x320
>>>> [40003.037594]  [<ffffffff8115d11c>] oom_kill_process+0x1cc/0x3b0
>>>> [40003.039825]  [<ffffffff8115d67e>] __out_of_memory+0x31e/0x530
>>>> [40003.041938]  [<ffffffff8115da2b>] out_of_memory+0x5b/0x80
>>>> [40003.043857]  [<ffffffff81162a79>] __alloc_pages_nodemask+0x8a9/0x8d0
>>>> [40003.046105]  [<ffffffff811a48fa>] alloc_page_interleave+0x3a/0x90
>>>> [40003.048419]  [<ffffffff811a79c3>] alloc_pages_vma+0x143/0x200
>>>> [40003.050582]  [<ffffffff81188035>] handle_mm_fault+0x1355/0x1770
>>>> [40003.052674]  [<ffffffff8118e4c5>] ? do_mmap_pgoff+0x2f5/0x3c0
>>>> [40003.054737]  [<ffffffff8105dafc>] __do_page_fault+0x17c/0x420
>>>> [40003.056858]  [<ffffffff8118c976>] ? SyS_mmap_pgoff+0x116/0x270
>>>> [40003.059082]  [<ffffffff8105ddc2>] do_page_fault+0x22/0x30
>>>> [40003.061084]  [<ffffffff814e2ad8>] page_fault+0x28/0x30
>>>> [40003.062938] Mem-Info:
>>>> [40003.063762] active_anon:5437903 inactive_anon:1025 isolated_anon:0
>>>>  active_file:51 inactive_file:8 isolated_file:0
>>>>  unevictable:2088582 dirty:0 writeback:0 unstable:0
>>>>  slab_reclaimable:82028 slab_unreclaimable:12209
>>>>  mapped:31065 shmem:20 pagetables:37089 bounce:0
>>>>  free:35830 free_pcp:3141 free_cma:0
>>>> [40003.075549] Node 0 DMA free:15872kB min:8kB low:8kB high:12kB
>>>> active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB
>>>> unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15988kB
>>>> managed:15904kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB
>>>> slab_reclaimable:32kB slab_unreclaimable:0kB kernel_stack:0kB
>>>> pagetables:0kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB
>>>> free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes
>>>> [40003.090267] lowmem_reserve[]: 0 3746 30128 30128
>>>> [40003.092182] Node 0 DMA32 free:108236kB min:2756kB low:3444kB
>>>> high:4132kB active_anon:2400616kB inactive_anon:4060kB active_file:0kB
>>>> inactive_file:0kB unevictable:1049732kB isolated(anon):0kB
>>>> isolated(file):0kB present:3915776kB managed:3840296kB mlocked:1049732kB
>>>> dirty:4kB writeback:0kB mapped:16564kB shmem:12kB slab_reclaimable:243852kB
>>>> slab_unreclaimable:8832kB kernel_stack:1152kB pagetables:16532kB
>>>> unstable:0kB bounce:0kB free_pcp:5716kB local_pcp:220kB free_cma:0kB
>>>> writeback_tmp:0kB pages_scanned:5408 all_unreclaimable? yes
>>>> [40003.108802] lowmem_reserve[]: 0 0 26382 26382
>>>> [40003.110578] Node 0 Normal free:19212kB min:19412kB low:24264kB
>>>> high:29116kB active_anon:19350996kB inactive_anon:40kB active_file:212kB
>>>> inactive_file:80kB unevictable:7304596kB isolated(anon):0kB
>>>> isolated(file):0kB present:27525120kB managed:27015196kB mlocked:7304596kB
>>>> dirty:0kB writeback:0kB mapped:107696kB shmem:68kB slab_reclaimable:84228kB
>>>> slab_unreclaimable:40004kB kernel_stack:10000kB pagetables:131824kB
>>>> unstable:0kB bounce:0kB free_pcp:6848kB local_pcp:692kB free_cma:0kB
>>>> writeback_tmp:0kB pages_scanned:38332 all_unreclaimable? yes
>>>> [40003.128300] lowmem_reserve[]: 0 0 0 0
>>>> [40003.129844] Node 0 DMA: 0*4kB 0*8kB 0*16kB 2*32kB (UE) 3*64kB (UE)
>>>> 2*128kB (UE) 2*256kB (UE) 1*512kB (E) 2*1024kB (UE) 2*2048kB (ER) 2*4096kB
>>>> (M) = 15872kB
>>>> [40003.135917] Node 0 DMA32: 193*4kB (UEM) 254*8kB (UEM) 714*16kB (UE)
>>>> 1344*32kB (UEMR) 249*64kB (UEMR) 120*128kB (UER) 53*256kB (ER) 10*512kB
>>>> (ER) 1*1024kB (E) 0*2048kB 0*4096kB = 108244kB
>>>> [40003.142956] Node 0 Normal: 3956*4kB (UE) 0*8kB 1*16kB (R) 8*32kB (R)
>>>> 3*64kB (R) 2*128kB (R) 3*256kB (R) 0*512kB 0*1024kB 1*2048kB (R) 0*4096kB =
>>>> 19360kB
>>>> [40003.148749] Node 0 hugepages_total=0 hugepages_free=0
>>>> hugepages_surp=0 hugepages_size=2048kB
>>>> [40003.151777] 31304 total pagecache pages
>>>> [40003.153288] 0 pages in swap cache
>>>> [40003.154528] Swap cache stats: add 0, delete 0, find 0/0
>>>> [40003.156377] Free swap  = 0kB
>>>> [40003.157423] Total swap = 0kB
>>>> [40003.158465] 7864221 pages RAM
>>>> [40003.159522] 0 pages HighMem/MovableOnly
>>>> [40003.160984] 146372 pages reserved
>>>> [40003.162244] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds
>>>> swapents oom_score_adj name
>>>> [40003.165398] [ 2560]     0  2560     2804      181      11       3
>>>>     0         -1000 udevd
>>>> [40003.168638] [ 3976]     0  3976     2334      123       9       3
>>>>     0             0 dhclient
>>>> [40003.171895] [ 4017]     0  4017    11626       89      23       4
>>>>     0         -1000 auditd
>>>> [40003.175080] [ 4035]     0  4035    61861       99      23       3
>>>>     0             0 rsyslogd
>>>> [40003.178198] [ 4046]     0  4046     3462       98      10       3
>>>>     0             0 irqbalance
>>>> [40003.181559] [ 4052]     0  4052     1096       22       7       3
>>>>     0             0 rngd
>>>> [40003.184683] [ 4067]    32  4067     8815       99      22       3
>>>>     0             0 rpcbind
>>>> [40003.187772] [ 4084]    29  4084     9957      201      24       3
>>>>     0             0 rpc.statd
>>>> [40003.191099] [ 4115]    81  4115     5442       60      15       3
>>>>     0             0 dbus-daemon
>>>> [40003.194438] [ 4333]     0  4333    19452      522      40       3
>>>>     0         -1000 sshd
>>>> [40003.197432] [ 4361]    38  4361     7321      562      19       3
>>>>     0             0 ntpd
>>>> [40003.200609] [ 4376]     0  4376    22238      720      46       3
>>>>     0             0 sendmail
>>>> [40003.203868] [ 4384]    51  4384    20103      674      41       3
>>>>     0             0 sendmail
>>>> [40003.206963] [ 4515]     0  4515     4267       38      13       3
>>>>     0             0 atd
>>>> [40003.210100] [ 6730]     0  6730    29888      547      13       3
>>>>     0             0 crond
>>>> [40003.213267] [13533]   497 13533 47235415  7455314   36074     167
>>>>     0             0 java
>>>> [40003.216364] [13674]   498 13674    49154     3168      51       3
>>>>     0             0 supervisord
>>>> [40003.219721] [13680]   498 13680    51046     5350      69       3
>>>>     0             0 python
>>>> [40003.222908] [13682]   498 13682    36172     5602      75       3
>>>>     0             0 python
>>>> [40003.225952] [13683]   498 13683    32633     5319      68       3
>>>>     0             0 python
>>>> [40003.229108] [13684]   498 13684    29577     5003      63       3
>>>>     0             0 python
>>>> [40003.232263] [13719]   498 13719  1035920    41287     234       8
>>>>     0             0 java
>>>> [40003.235287] [13753]   498 13753    34605     5645      70       3
>>>>     0             0 python
>>>> [40003.238322] [14143]     0 14143     1615      420       9       3
>>>>     0             0 agetty
>>>> [40003.241582] [14145]     0 14145     1078      377       8       3
>>>>     0             0 mingetty
>>>> [40003.244752] [14147]     0 14147     1078      354       8       3
>>>>     0             0 mingetty
>>>> [40003.247833] [14149]     0 14149     1078      373       8       3
>>>>     0             0 mingetty
>>>> [40003.251193] [14151]     0 14151     1078      367       7       3
>>>>     0             0 mingetty
>>>> [40003.254342] [14153]     0 14153     1078      348       8       3
>>>>     0             0 mingetty
>>>> [40003.257443] [14154]     0 14154     2803      182      10       3
>>>>     0         -1000 udevd
>>>> [40003.260688] [14155]     0 14155     2803      182      10       3
>>>>     0         -1000 udevd
>>>> [40003.263782] [14157]     0 14157     1078      369       8       3
>>>>     0             0 mingetty
>>>> [40003.266895] Out of memory: Kill process 13533 (java) score 970 or
>>>> sacrifice child
>>>> [40003.269702] Killed process 13533 (java) total-vm:188941660kB,
>>>> anon-rss:29710828kB, file-rss:110428kB
>>>>
>>>>
>>
>

Reply via email to