cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thom Bartold (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-10821) OOM Killer terminates Cassandra when Compactions use too much memory then won't restart
Date Mon, 20 Jun 2016 19:06:57 GMT

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

Thom Bartold commented on CASSANDRA-10821:
------------------------------------------

Months later, in a new environment we are running into the OOM problem again.

We have upgraded to version 2.2.5 so the 'saved_chache_directory' problem is gone.

Our new configuration is 24 i2-xlarge AWS instances in 3 Availability zones. Our main data
set is about 1 billion records stored 3 times across the cluster, using EC2 Snitch and Network
topology 3 x us-east-1.

After an initial 'repair -pr' that ran from June 14 to June 17:

INFO  [Thread-5215] 2016-06-14 19:59:02,938 RepairRunnable.java:124 - Starting repair command
#1, repairing keyspace overlordprod with repair options (parallelism: parallel, primary range:
true, incremental: true, job threads: 1, ColumnFamilies: [], dataCenters: [], hosts: [], #
of ranges: 256)
INFO  [CompactionExecutor:663] 2016-06-17 01:59:25,742 RepairRunnable.java:309 - Repair command
#1 finished in 2 days 6 hours 0 minutes 22 seconds
INFO  [Thread-10147] 2016-06-17 01:59:25,853 RepairRunnable.java:124 - Starting repair command
#2, repairing keyspace system_traces with repair options (parallelism: parallel, primary range:
true, incremental: true, job threads: 1, ColumnFamilies: [], dataCenters: [], hosts: [], #
of ranges: 256)
INFO  [InternalResponseStage:70] 2016-06-17 02:25:40,721 RepairRunnable.java:309 - Repair
command #2 finished in 26 minutes 14 seconds

The number of compactions has gone up and down in the range 800-1500, but is now staying at
around 800.

In the last two days, Cassandra has been OOM killed twice:

Jun 19 15:22:27 ip-10-242-145-240 kernel: [5329487.278454] Killed process 16391 (java) total-vm:749879160kB,
anon-rss:28776424kB, file-rss:85040kB
Jun 20 07:36:18 ip-10-242-145-240 kernel: [5387918.072086] Killed process 15716 (java) total-vm:766699696kB,
anon-rss:28955732kB, file-rss:118336kB

We believe it is because it is working on one really big compaction:

pending tasks: 811
                                     id   compaction type       keyspace      table      completed
         total    unit   progress
   c8ff1fb0-3716-11e6-917f-93c4050661a3        Compaction   overlordprod   document     4875839081
    6753090774   bytes     72.20%
   f3344ec0-36b9-11e6-917f-93c4050661a3        Compaction   overlordprod   document   225617209930
  436848813618   bytes     51.65%
   fcec5120-3717-11e6-917f-93c4050661a3        Compaction   overlordprod   document     2025919777
   16765177436   bytes     12.08%
   d2a960b0-3717-11e6-917f-93c4050661a3        Compaction   overlordprod   document     2459846227
    6033377128   bytes     40.77%
Active compaction remaining time :   3h49m53s

We should be able to verify that the same compaction does not complete after the next OOM
kill.

Note that the i2-xlarge instances have only 800GB of disk, and this one is currently 85% full
which may be part o the problem. Other nodes in the cluster are not using more than 70%.

Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/xvdb      781029612 660898356 120131256  85% /data



> OOM Killer terminates Cassandra when Compactions use too much memory then won't restart
> ---------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-10821
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10821
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Compaction
>         Environment: EC2 32 x i2.xlarge split between us-east-1a,c and us-west 2a,b
> Linux  4.1.10-17.31.amzn1.x86_64 #1 SMP Sat Oct 24 01:31:37 UTC 2015 x86_64 x86_64 x86_64
GNU/Linux
> Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
> Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
> Cassandra version: 2.2.3
>            Reporter: Thom Bartold
>
> We were writing to the DB from EC2 instances in us-east-1 at a rate of about 3000 per
second, replication us-east:2 us-west:2, LeveledCompaction and DeflateCompressor.
> After about 48 hours some nodes had over 800 pending compactions and a few of them started
getting killed for Linux OOM. Priam attempts to restart the nodes, but they fail because of
corrupted saved_cahce files.
> Loading has finished, and the cluster is mostly idle, but 6 of the nodes were killed
again last night by OOM.
> This is the log message where the node won't restart:
> ERROR [main] 2015-12-05 13:59:13,754 CassandraDaemon.java:635 - Detected unreadable sstables
/media/ephemeral0/cassandra/saved_caches/KeyCache-ca.db, please check NEWS.txt and ensure
that you have upgraded through all required intermediate versions, running upgradesstables
> This is the dmesg where the node is terminated:
> [360803.234422] Out of memory: Kill process 10809 (java) score 949 or sacrifice child
> [360803.237544] Killed process 10809 (java) total-vm:438484092kB, anon-rss:29228012kB,
file-rss:107576kB
> This is what Compaction Stats look like currently:
> pending tasks: 1096
>                                      id   compaction type          keyspace      table
   completed          total    unit   progress
>    93eb3200-9b58-11e5-b9f1-ffef1041ec45        Compaction   overlordpreprod   document
  8670748796   839129219651   bytes      1.03%
>                                                Compaction            system      hints
          30     1921326518   bytes      0.00%
> Active compaction remaining time :  27h33m47s
> Only 6 of the 32 nodes have compactions pending, and all on the order of 1000.



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

Mime
View raw message