Cassandra 2.0.10 and Datastax Java Driver 2.1.1

On Dec 16, 2014, at 4:48 PM, Ryan Svihla <rsvi...@datastax.com> wrote:

> What version of Cassandra?
> 
> On Dec 16, 2014 6:36 PM, "Arne Claassen" <a...@emotient.com> wrote:
> That's just the thing. There is nothing in the logs except the constant 
> ParNew collections like
> 
> DEBUG [ScheduledTasks:1] 2014-12-16 19:03:35,042 GCInspector.java (line 118) 
> GC for ParNew: 166 ms for 10 collections, 4400928736 used; max is 8000634888
> 
> But the load is staying continuously high.
> 
> There's always some compaction on just that one table, media_tracks_raw going 
> on and those values rarely changed (certainly the remaining time is 
> meaningless)
> 
> pending tasks: 17
>           compaction type        keyspace           table       completed     
>       total      unit  progress
>                Compaction           mediamedia_tracks_raw       444294932     
>  1310653468     bytes    33.90%
>                Compaction           mediamedia_tracks_raw       131931354     
>  3411631999     bytes     3.87%
>                Compaction           mediamedia_tracks_raw        30308970     
> 23097672194     bytes     0.13%
>                Compaction           mediamedia_tracks_raw       899216961     
>  1815591081     bytes    49.53%
> Active compaction remaining time :   0h27m56s
> 
> Here's a sample of a query trace:
> 
>  activity                                                                     
>                     | timestamp    | source        | source_elapsed
> --------------------------------------------------------------------------------------------------+--------------+---------------+----------------
>                                                                               
>  execute_cql3_query | 00:11:46,612 | 10.140.22.236 |              0
>  Parsing select * from media_tracks_raw where id 
> =74fe9449-8ac4-accb-a723-4bad024101e3 limit 100; | 00:11:46,612 | 
> 10.140.22.236 |             47
>                                                                               
> Preparing statement | 00:11:46,612 | 10.140.22.236 |            234
>                                                                  Sending 
> message to /10.140.21.54 | 00:11:46,619 | 10.140.22.236 |           7190
>                                                              Message received 
> from /10.140.22.236 | 00:11:46,622 |  10.140.21.54 |             12
>                                              Executing single-partition query 
> on media_tracks_raw | 00:11:46,644 |  10.140.21.54 |          21971
>                                                                      
> Acquiring sstable references | 00:11:46,644 |  10.140.21.54 |          22029
>                                                                       Merging 
> memtable tombstones | 00:11:46,644 |  10.140.21.54 |          22131
>                                                         Bloom filter allows 
> skipping sstable 1395 | 00:11:46,644 |  10.140.21.54 |          22245
>                                                         Bloom filter allows 
> skipping sstable 1394 | 00:11:46,644 |  10.140.21.54 |          22279
>                                                         Bloom filter allows 
> skipping sstable 1391 | 00:11:46,644 |  10.140.21.54 |          22293
>                                                         Bloom filter allows 
> skipping sstable 1381 | 00:11:46,644 |  10.140.21.54 |          22304
>                                                         Bloom filter allows 
> skipping sstable 1376 | 00:11:46,644 |  10.140.21.54 |          22317
>                                                         Bloom filter allows 
> skipping sstable 1368 | 00:11:46,644 |  10.140.21.54 |          22328
>                                                         Bloom filter allows 
> skipping sstable 1365 | 00:11:46,644 |  10.140.21.54 |          22340
>                                                         Bloom filter allows 
> skipping sstable 1351 | 00:11:46,644 |  10.140.21.54 |          22352
>                                                         Bloom filter allows 
> skipping sstable 1367 | 00:11:46,644 |  10.140.21.54 |          22363
>                                                         Bloom filter allows 
> skipping sstable 1380 | 00:11:46,644 |  10.140.21.54 |          22374
>                                                         Bloom filter allows 
> skipping sstable 1343 | 00:11:46,644 |  10.140.21.54 |          22386
>                                                         Bloom filter allows 
> skipping sstable 1342 | 00:11:46,644 |  10.140.21.54 |          22397
>                                                         Bloom filter allows 
> skipping sstable 1334 | 00:11:46,644 |  10.140.21.54 |          22408
>                                                         Bloom filter allows 
> skipping sstable 1377 | 00:11:46,644 |  10.140.21.54 |          22429
>                                                         Bloom filter allows 
> skipping sstable 1330 | 00:11:46,644 |  10.140.21.54 |          22441
>                                                         Bloom filter allows 
> skipping sstable 1329 | 00:11:46,644 |  10.140.21.54 |          22452
>                                                         Bloom filter allows 
> skipping sstable 1328 | 00:11:46,644 |  10.140.21.54 |          22463
>                                                         Bloom filter allows 
> skipping sstable 1327 | 00:11:46,644 |  10.140.21.54 |          22475
>                                                         Bloom filter allows 
> skipping sstable 1326 | 00:11:46,644 |  10.140.21.54 |          22488
>                                                         Bloom filter allows 
> skipping sstable 1320 | 00:11:46,644 |  10.140.21.54 |          22506
>                                                         Bloom filter allows 
> skipping sstable 1319 | 00:11:46,644 |  10.140.21.54 |          22518
>                                                         Bloom filter allows 
> skipping sstable 1318 | 00:11:46,644 |  10.140.21.54 |          22528
>                                                         Bloom filter allows 
> skipping sstable 1317 | 00:11:46,644 |  10.140.21.54 |          22540
>                                                         Bloom filter allows 
> skipping sstable 1316 | 00:11:46,644 |  10.140.21.54 |          22552
>                                                         Bloom filter allows 
> skipping sstable 1315 | 00:11:46,644 |  10.140.21.54 |          22563
>                                                         Bloom filter allows 
> skipping sstable 1314 | 00:11:46,644 |  10.140.21.54 |          22572
>                                                         Bloom filter allows 
> skipping sstable 1313 | 00:11:46,644 |  10.140.21.54 |          22583
>                                                         Bloom filter allows 
> skipping sstable 1312 | 00:11:46,644 |  10.140.21.54 |          22594
>                                                         Bloom filter allows 
> skipping sstable 1311 | 00:11:46,644 |  10.140.21.54 |          22605
>                                                         Bloom filter allows 
> skipping sstable 1310 | 00:11:46,644 |  10.140.21.54 |          22616
>                                                         Bloom filter allows 
> skipping sstable 1309 | 00:11:46,644 |  10.140.21.54 |          22628
>                                                         Bloom filter allows 
> skipping sstable 1308 | 00:11:46,644 |  10.140.21.54 |          22640
>                                                         Bloom filter allows 
> skipping sstable 1307 | 00:11:46,644 |  10.140.21.54 |          22651
>                                                         Bloom filter allows 
> skipping sstable 1306 | 00:11:46,644 |  10.140.21.54 |          22663
>                                                         Bloom filter allows 
> skipping sstable 1305 | 00:11:46,644 |  10.140.21.54 |          22674
>                                                         Bloom filter allows 
> skipping sstable 1304 | 00:11:46,644 |  10.140.21.54 |          22684
>                                                         Bloom filter allows 
> skipping sstable 1303 | 00:11:46,644 |  10.140.21.54 |          22696
>                                                         Bloom filter allows 
> skipping sstable 1302 | 00:11:46,644 |  10.140.21.54 |          22707
>                                                         Bloom filter allows 
> skipping sstable 1301 | 00:11:46,644 |  10.140.21.54 |          22718
>                                                         Bloom filter allows 
> skipping sstable 1300 | 00:11:46,644 |  10.140.21.54 |          22729
>                                                         Bloom filter allows 
> skipping sstable 1299 | 00:11:46,644 |  10.140.21.54 |          22740
>                                                         Bloom filter allows 
> skipping sstable 1298 | 00:11:46,644 |  10.140.21.54 |          22752
>                                                         Bloom filter allows 
> skipping sstable 1297 | 00:11:46,644 |  10.140.21.54 |          22763
>                                                         Bloom filter allows 
> skipping sstable 1296 | 00:11:46,644 |  10.140.21.54 |          22774
>                                                                    Key cache 
> hit for sstable 1295 | 00:11:46,644 |  10.140.21.54 |          22817
>                                                       Seeking to partition 
> beginning in data file | 00:11:46,644 |  10.140.21.54 |          22842
>                        Skipped 0/89 non-slice-intersecting sstables, included 
> 0 due to tombstones | 00:11:46,646 |  10.140.21.54 |          24109
>                                                        Merging data from 
> memtables and 1 sstables | 00:11:46,646 |  10.140.21.54 |          24238
>                                                              Read 101 live 
> and 0 tombstoned cells | 00:11:46,663 |  10.140.21.54 |          41389
>                                                              Enqueuing 
> response to /10.140.22.236 | 00:11:46,663 |  10.140.21.54 |          41831
>                                                                 Sending 
> message to /10.140.22.236 | 00:11:46,664 |  10.140.21.54 |          41972
>                                                               Message 
> received from /10.140.21.54 | 00:11:46,671 | 10.140.22.236 |          59498
>                                                            Processing 
> response from /10.140.21.54 | 00:11:46,672 | 10.140.22.236 |          59563
>                                                                               
>    Request complete | 00:11:46,704 | 10.140.22.236 |          92781
> 
> Every query I did always just had three mentions of tombstones
>   Merging memtable tombstones
>   Skipped 0/89 non-slice-intersecting sstables, included 0 due to tombstones  
>   Read 101 live and 0 tombstoned cells
> And unless i misread those, not of them claim that there are any tombstones.
> 
> 
> On Dec 16, 2014, at 4:26 PM, Ryan Svihla <rsvi...@datastax.com> wrote:
> 
>> manual forced compactions create more problems than they solve, if you have 
>> no evidence of tombstones in your selects (which seems odd, can you share 
>> some of the tracing output?), then I'm not sure what it would solve for you.
>> 
>> Compaction running could explain a high load, logs messages with ERRORS, 
>> WARN, GCInspector are all meaningful there, I suggest search jira for your 
>> version to see if there are any interesting bugs.
>> 
>> 
>> 
>> On Tue, Dec 16, 2014 at 6:14 PM, Arne Claassen <a...@emotient.com> wrote:
>> I just did a wide set of selects and ran across no tombstones. But while on 
>> the subject of gc_grace_seconds, any reason, on a small cluster not to set 
>> it to something low like a single day. It seems like 10 days is only need to 
>> large clusters undergoing long partition splits, or am i misunderstanding 
>> gc_grace_seconds.
>> 
>> Now, given all that, does any of this explain a high load when the cluster 
>> is idle? Is it compaction catching up and would manual forced compaction 
>> alleviate that?
>> 
>> thanks,
>> arne
>> 
>> 
>> On Dec 16, 2014, at 3:28 PM, Ryan Svihla <rsvi...@datastax.com> wrote:
>> 
>>> so a delete is really another write for gc_grace_seconds (default 10 days), 
>>> if you get enough tombstones it can make managing your cluster a challenge 
>>> as is. open up cqlsh, turn on tracing and try a few queries..how many 
>>> tombstones are scanned for a given query? It's possible the heap problems 
>>> you're seeing are actually happening on the query side and not on the 
>>> ingest side, the severity of this depends on driver and cassandra version, 
>>> but older drivers and versions of cassandra could easily overload heap with 
>>> expensive selects, when layered over tombstones it's certainly becomes a 
>>> possibility this is your root cause.
>>> 
>>> Now this will primarily create more load on compaction and depending on 
>>> your cassandra version there maybe some other issue at work, but something 
>>> I can tell you is every time I see 1 dropped mutation I see a cluster that 
>>> was overloaded enough it had to shed load. If I see 200k I see a 
>>> cluster/configuration/hardware that is badly overloaded.
>>> 
>>> I suggest the following
>>> trace some of the queries used in prod
>>> monitor your ingest rate, see at what levels you run into issues 
>>> (GCInspector log messages, dropped mutations, etc)
>>> heap configuration we mentioned earlier..go ahead and monitor heap usage, 
>>> if it hits 75% repeated this is an indication of heavy load
>>> monitor dropped mutations..any dropped mutation is evidence of an 
>>> overloaded server, again the root cause can be many other problems that are 
>>> solvable with current hardware, and LOTS of people runs with nodes with 
>>> similar configuration.
>>> 
>>> On Tue, Dec 16, 2014 at 5:08 PM, Arne Claassen <a...@emotient.com> wrote:
>>> Not using any secondary indicies and memtable_flush_queue_size is the 
>>> default 4.
>>> 
>>> But let me tell you how data is "mutated" right now, maybe that will give 
>>> you an insight on how this is happening
>>> 
>>> Basically the frame data table has the following primary key: PRIMARY KEY 
>>> ((id), trackid, "timestamp")
>>> 
>>> Generally data is inserted once. So day to day writes are all new rows.
>>> However, when out process for generating analytics for these rows changes, 
>>> we run the media back through again, causing overwrites.
>>> 
>>> Up until last night, this was just a new insert because the PK never 
>>> changed so it was always 1-to-1 overwrite of every row.
>>> 
>>> Last night was the first time that a new change went in where the PK could 
>>> actually change so now the process is always, DELETE by partition key, 
>>> insert all rows for partition key, repeat.
>>> 
>>> We two tables that have similar frame data projections and some other 
>>> aggregates with much smaller row count per partition key.
>>> 
>>> hope that helps,
>>> arne
>>> 
>>> On Dec 16, 2014, at 2:46 PM, Ryan Svihla <rsvi...@datastax.com> wrote:
>>> 
>>>> so you've got some blocked flush writers but you have a incredibly large 
>>>> number of dropped mutations, are you using secondary indexes? and if so 
>>>> how many? what is your flush queue set to?
>>>> 
>>>> On Tue, Dec 16, 2014 at 4:43 PM, Arne Claassen <a...@emotient.com> wrote:
>>>> Of course QA decided to start a test batch (still relatively low traffic), 
>>>> so I hope it doesn't throw the tpstats off too much
>>>> 
>>>> Node 1:
>>>> Pool Name                    Active   Pending      Completed   Blocked  
>>>> All time blocked
>>>> MutationStage                     0         0       13804928         0     
>>>>             0
>>>> ReadStage                         0         0          10975         0     
>>>>             0
>>>> RequestResponseStage              0         0        7725378         0     
>>>>             0
>>>> ReadRepairStage                   0         0           1247         0     
>>>>             0
>>>> ReplicateOnWriteStage             0         0              0         0     
>>>>             0
>>>> MiscStage                         0         0              0         0     
>>>>             0
>>>> HintedHandoff                     1         1             50         0     
>>>>             0
>>>> FlushWriter                       0         0            306         0     
>>>>            31
>>>> MemoryMeter                       0         0            719         0     
>>>>             0
>>>> GossipStage                       0         0         286505         0     
>>>>             0
>>>> CacheCleanupExecutor              0         0              0         0     
>>>>             0
>>>> InternalResponseStage             0         0              0         0     
>>>>             0
>>>> CompactionExecutor                4        14            159         0     
>>>>             0
>>>> ValidationExecutor                0         0              0         0     
>>>>             0
>>>> MigrationStage                    0         0              0         0     
>>>>             0
>>>> commitlog_archiver                0         0              0         0     
>>>>             0
>>>> AntiEntropyStage                  0         0              0         0     
>>>>             0
>>>> PendingRangeCalculator            0         0             11         0     
>>>>             0
>>>> MemtablePostFlusher               0         0           1781         0     
>>>>             0
>>>> 
>>>> Message type           Dropped
>>>> READ                         0
>>>> RANGE_SLICE                  0
>>>> _TRACE                       0
>>>> MUTATION                391041
>>>> COUNTER_MUTATION             0
>>>> BINARY                       0
>>>> REQUEST_RESPONSE             0
>>>> PAGED_RANGE                  0
>>>> READ_REPAIR                  0
>>>> 
>>>> Node 2:
>>>> Pool Name                    Active   Pending      Completed   Blocked  
>>>> All time blocked
>>>> MutationStage                     0         0         997042         0     
>>>>             0
>>>> ReadStage                         0         0           2623         0     
>>>>             0
>>>> RequestResponseStage              0         0         706650         0     
>>>>             0
>>>> ReadRepairStage                   0         0            275         0     
>>>>             0
>>>> ReplicateOnWriteStage             0         0              0         0     
>>>>             0
>>>> MiscStage                         0         0              0         0     
>>>>             0
>>>> HintedHandoff                     2         2             12         0     
>>>>             0
>>>> FlushWriter                       0         0             37         0     
>>>>             4
>>>> MemoryMeter                       0         0             70         0     
>>>>             0
>>>> GossipStage                       0         0          14927         0     
>>>>             0
>>>> CacheCleanupExecutor              0         0              0         0     
>>>>             0
>>>> InternalResponseStage             0         0              0         0     
>>>>             0
>>>> CompactionExecutor                4         7             94         0     
>>>>             0
>>>> ValidationExecutor                0         0              0         0     
>>>>             0
>>>> MigrationStage                    0         0              0         0     
>>>>             0
>>>> commitlog_archiver                0         0              0         0     
>>>>             0
>>>> AntiEntropyStage                  0         0              0         0     
>>>>             0
>>>> PendingRangeCalculator            0         0              3         0     
>>>>             0
>>>> MemtablePostFlusher               0         0            114         0     
>>>>             0
>>>> 
>>>> Message type           Dropped
>>>> READ                         0
>>>> RANGE_SLICE                  0
>>>> _TRACE                       0
>>>> MUTATION                     0
>>>> COUNTER_MUTATION             0
>>>> BINARY                       0
>>>> REQUEST_RESPONSE             0
>>>> PAGED_RANGE                  0
>>>> READ_REPAIR                  0
>>>> 
>>>> Node 3:
>>>> Pool Name                    Active   Pending      Completed   Blocked  
>>>> All time blocked
>>>> MutationStage                     0         0        1539324         0     
>>>>             0
>>>> ReadStage                         0         0           2571         0     
>>>>             0
>>>> RequestResponseStage              0         0         373300         0     
>>>>             0
>>>> ReadRepairStage                   0         0            325         0     
>>>>             0
>>>> ReplicateOnWriteStage             0         0              0         0     
>>>>             0
>>>> MiscStage                         0         0              0         0     
>>>>             0
>>>> HintedHandoff                     1         1             21         0     
>>>>             0
>>>> FlushWriter                       0         0             38         0     
>>>>             5
>>>> MemoryMeter                       0         0             59         0     
>>>>             0
>>>> GossipStage                       0         0          21491         0     
>>>>             0
>>>> CacheCleanupExecutor              0         0              0         0     
>>>>             0
>>>> InternalResponseStage             0         0              0         0     
>>>>             0
>>>> CompactionExecutor                4         9             85         0     
>>>>             0
>>>> ValidationExecutor                0         0              0         0     
>>>>             0
>>>> MigrationStage                    0         0              0         0     
>>>>             0
>>>> commitlog_archiver                0         0              0         0     
>>>>             0
>>>> AntiEntropyStage                  0         0              0         0     
>>>>             0
>>>> PendingRangeCalculator            0         0              6         0     
>>>>             0
>>>> MemtablePostFlusher               0         0            164         0     
>>>>             0
>>>> 
>>>> Message type           Dropped
>>>> READ                         0
>>>> RANGE_SLICE                  0
>>>> _TRACE                       0
>>>> MUTATION                205259
>>>> COUNTER_MUTATION             0
>>>> BINARY                       0
>>>> REQUEST_RESPONSE             0
>>>> PAGED_RANGE                  0
>>>> READ_REPAIR                 18
>>>> 
>>>> 
>>>> Compaction seems like the only thing consistently active and pending
>>>> 
>>>> On Tue, Dec 16, 2014 at 2:18 PM, Ryan Svihla <rsvi...@datastax.com> wrote:
>>>> Ok based on those numbers I have a theory..
>>>> 
>>>> can you show me nodetool tptats for all 3 nodes?
>>>> 
>>>> On Tue, Dec 16, 2014 at 4:04 PM, Arne Claassen <a...@emotient.com> wrote:
>>>> No problem with the follow up questions. I'm on a crash course here trying 
>>>> to understand what makes C* tick so I appreciate all feedback.
>>>> 
>>>> We reprocessed all media (1200 partition keys) last night where partition 
>>>> keys had somewhere between 4k and 200k "rows". After that completed, no 
>>>> traffic went to cluster at all for ~8 hours and throughout today, we may 
>>>> get a couple (less than 10) queries per second and maybe 3-4 write batches 
>>>> per hour.
>>>> 
>>>> I assume the last value in the Partition Size histogram is the largest row:
>>>> 
>>>> 20924300 bytes: 79
>>>> 25109160 bytes: 57
>>>> 
>>>> The majority seems clustered around 200000 bytes.
>>>> 
>>>> I will look at switching my inserts to unlogged batches since they are 
>>>> always for one partition key.
>>>> 
>>>> On Tue, Dec 16, 2014 at 1:47 PM, Ryan Svihla <rsvi...@datastax.com> wrote:
>>>> Can you define what is "virtual no traffic" sorry to be repetitive about 
>>>> that, but I've worked on a lot of clusters in the past year and people 
>>>> have wildly different ideas what that means.
>>>> 
>>>> unlogged batches of the same partition key are definitely a performance 
>>>> optimization. Typically async is much faster and easier on the cluster 
>>>> when you're using multip partition key batches.
>>>> 
>>>> nodetool cfhistograms <keyspace> <tablename>
>>>> 
>>>> On Tue, Dec 16, 2014 at 3:42 PM, Arne Claassen <a...@emotient.com> wrote:
>>>> Actually not sure why the machine was originally configured at 6GB since 
>>>> we even started it on an r3.large with 15GB.
>>>> 
>>>> Re: Batches
>>>> 
>>>> Not using batches. I actually have that as a separate question on the 
>>>> list. Currently I fan out async single inserts and I'm wondering if 
>>>> batches are better since my data is inherently inserted in blocks of 
>>>> ordered rows for a single partition key.
>>>> 
>>>> 
>>>> Re: Traffic
>>>> 
>>>> There isn't all that much traffic. Inserts come in as blocks per partition 
>>>> key, but then can be 5k-200k rows for that partition key. Each of these 
>>>> rows is less than 100k. It's small, lots of ordered rows. It's frame and 
>>>> sub-frame information for media. and rows for one piece of media is 
>>>> inserted at once (the partition key).
>>>> 
>>>> For the last 12 hours, where the load on all these machine has been stuck 
>>>> there's been virtually no traffic at all. This is the nodes basically 
>>>> sitting idle, except that they had  load of 4 each. 
>>>> 
>>>> BTW, how do you determine widest row or for that matter number of 
>>>> tombstones in a row?
>>>> 
>>>> thanks,
>>>> arne
>>>> 
>>>> On Tue, Dec 16, 2014 at 1:24 PM, Ryan Svihla <rsvi...@datastax.com> wrote:
>>>> So 1024 is still a good 2.5 times what I'm suggesting, 6GB is hardly 
>>>> enough to run Cassandra well in, especially if you're going full bore on 
>>>> loads. However, you maybe just flat out be CPU bound on your write 
>>>> throughput, how many TPS and what size writes do you have? Also what is 
>>>> your widest row?
>>>> 
>>>> Final question what is compaction throughput at?
>>>> 
>>>> 
>>>> On Tue, Dec 16, 2014 at 3:20 PM, Arne Claassen <a...@emotient.com> wrote:
>>>> The starting configuration I had, which is still running on two of the 
>>>> nodes, was 6GB Heap, 1024MB parnew which is close to what you are 
>>>> suggesting and those have been pegged at load 4 for the over 12 hours with 
>>>> hardly and read or write traffic. I will set one to 8GB/400MB and see if 
>>>> its load changes.
>>>> 
>>>> On Tue, Dec 16, 2014 at 1:12 PM, Ryan Svihla <rsvi...@datastax.com> wrote:
>>>> So heap of that size without some tuning will create a number of problems 
>>>> (high cpu usage one of them), I suggest either 8GB heap and 400mb parnew 
>>>> (which I'd only set that low for that low cpu count) , or attempt the 
>>>> tunings as indicated in 
>>>> https://issues.apache.org/jira/browse/CASSANDRA-8150
>>>> 
>>>> On Tue, Dec 16, 2014 at 3:06 PM, Arne Claassen <a...@emotient.com> wrote:
>>>> Changed the 15GB node to 25GB heap and the nice CPU is down to ~20% now. 
>>>> Checked my dev cluster to see if the ParNew log entries are just par for 
>>>> the course, but not seeing them there. However, both have the following 
>>>> every 30 seconds:
>>>> 
>>>> DEBUG [BatchlogTasks:1] 2014-12-16 21:00:44,898 BatchlogManager.java (line 
>>>> 165) Started replayAllFailedBatches
>>>> DEBUG [MemtablePostFlusher:1] 2014-12-16 21:00:44,899 
>>>> ColumnFamilyStore.java (line 866) forceFlush requested but everything is 
>>>> clean in batchlog
>>>> DEBUG [BatchlogTasks:1] 2014-12-16 21:00:44,899 BatchlogManager.java (line 
>>>> 200) Finished replayAllFailedBatches
>>>> 
>>>> Is that just routine scheduled house-keeping or a sign of something else?
>>>> 
>>>> On Tue, Dec 16, 2014 at 12:52 PM, Arne Claassen <a...@emotient.com> wrote:
>>>> Sorry, I meant 15GB heap on the one machine that has less nice CPU% now. 
>>>> The others are 6GB
>>>> 
>>>> On Tue, Dec 16, 2014 at 12:50 PM, Arne Claassen <a...@emotient.com> wrote:
>>>> AWS r3.xlarge, 30GB, but only using a Heap of 10GB, new 2GB because we 
>>>> might go c3.2xlarge instead if CPU is more important than RAM
>>>> Storage is optimized EBS SSD (but iostat shows no real IO going on)
>>>> Each node only has about 10GB with ownership of 67%, 64.7% & 68.3%.
>>>> 
>>>> The node on which I set the Heap to 10GB from 6GB the utlilization has 
>>>> dropped to 46%nice now, but the ParNew log messages still continue at the 
>>>> same pace. I'm gonna up the HEAP to 20GB for a bit, see if that brings 
>>>> that nice CPU further down.
>>>> 
>>>> No TombstoneOverflowingExceptions.
>>>> 
>>>> On Tue, Dec 16, 2014 at 11:50 AM, Ryan Svihla <rsvi...@datastax.com> wrote:
>>>> What's CPU, RAM, Storage layer, and data density per node? Exact heap 
>>>> settings would be nice. In the logs look for TombstoneOverflowingException
>>>> 
>>>> 
>>>> On Tue, Dec 16, 2014 at 1:36 PM, Arne Claassen <a...@emotient.com> wrote:
>>>> I'm running 2.0.10.
>>>> 
>>>> The data is all time series data and as we change our pipeline, we've been 
>>>> periodically been reprocessing the data sources, which causes each time 
>>>> series to be overwritten, i.e. every row per partition key is deleted and 
>>>> re-written, so I assume i've been collecting a bunch of tombstones.
>>>> 
>>>> Also, the presence of the ever present and never completing compaction 
>>>> types, i assumed were an artifact of tombstoning, but i fully admit to 
>>>> conjecture based on about ~20 blog posts and stackoverflow questions i've 
>>>> surveyed.
>>>> 
>>>> I doubled the Heap on one node and it changed nothing regarding the load 
>>>> or the ParNew log statements. New Generation Usage is 50%, Eden itself is 
>>>> 56%.
>>>> 
>>>> Anything else i should look at and report, let me know.
>>>> 
>>>> On Tue, Dec 16, 2014 at 11:14 AM, Jonathan Lacefield 
>>>> <jlacefi...@datastax.com> wrote:
>>>> Hello,
>>>> 
>>>>   What version of Cassandra are you running?  
>>>> 
>>>>   If it's 2.0, we recently experienced something similar with 8447 [1], 
>>>> which 8485 [2] should hopefully resolve.  
>>>> 
>>>>   Please note that 8447 is not related to tombstones.  Tombstone 
>>>> processing can put a lot of pressure on the heap as well. Why do you think 
>>>> you have a lot of tombstones in that one particular table?
>>>> 
>>>>   [1] https://issues.apache.org/jira/browse/CASSANDRA-8447
>>>>   [2] https://issues.apache.org/jira/browse/CASSANDRA-8485
>>>> 
>>>> Jonathan
>>>> 
>>>> 
>>>> Jonathan Lacefield
>>>> Solution Architect | (404) 822 3487 | jlacefi...@datastax.com
>>>> 
>>>>      
>>>> 
>>>> On Tue, Dec 16, 2014 at 2:04 PM, Arne Claassen <a...@emotient.com> wrote:
>>>> I have a three node cluster that has been sitting at a load of 4 (for each 
>>>> node), 100% CPI utilization (although 92% nice) for that last 12 hours, 
>>>> ever since some significant writes finished. I'm trying to determine what 
>>>> tuning I should be doing to get it out of this state. The debug log is 
>>>> just an endless series of:
>>>> 
>>>> DEBUG [ScheduledTasks:1] 2014-12-16 19:03:35,042 GCInspector.java (line 
>>>> 118) GC for ParNew: 166 ms for 10 collections, 4400928736 used; max is 
>>>> 8000634880
>>>> DEBUG [ScheduledTasks:1] 2014-12-16 19:03:36,043 GCInspector.java (line 
>>>> 118) GC for ParNew: 165 ms for 10 collections, 4440011176 used; max is 
>>>> 8000634880
>>>> DEBUG [ScheduledTasks:1] 2014-12-16 19:03:37,043 GCInspector.java (line 
>>>> 118) GC for ParNew: 135 ms for 8 collections, 4402220568 used; max is 
>>>> 8000634880
>>>> 
>>>> iostat shows virtually no I/O.
>>>> 
>>>> Compaction may enter into this, but i don't really know what to make of 
>>>> compaction stats since they never change:
>>>> 
>>>> [root@cassandra-37919c3a ~]# nodetool compactionstats
>>>> pending tasks: 10
>>>>           compaction type        keyspace           table       completed  
>>>>          total      unit  progress
>>>>                Compaction           mediamedia_tracks_raw       271651482  
>>>>      563615497     bytes    48.20%
>>>>                Compaction           mediamedia_tracks_raw        30308910  
>>>>    21676695677     bytes     0.14%
>>>>                Compaction           mediamedia_tracks_raw      1198384080  
>>>>     1815603161     bytes    66.00%
>>>> Active compaction remaining time :   0h22m24s
>>>> 
>>>> 5 minutes later:
>>>> 
>>>> [root@cassandra-37919c3a ~]# nodetool compactionstats
>>>> pending tasks: 9
>>>>           compaction type        keyspace           table       completed  
>>>>          total      unit  progress
>>>>                Compaction           mediamedia_tracks_raw       271651482  
>>>>      563615497     bytes    48.20%
>>>>                Compaction           mediamedia_tracks_raw        30308910  
>>>>    21676695677     bytes     0.14%
>>>>                Compaction           mediamedia_tracks_raw      1198384080  
>>>>     1815603161     bytes    66.00%
>>>> Active compaction remaining time :   0h22m24s
>>>> 
>>>> Sure the pending tasks went down by one, but the rest is identical. 
>>>> media_tracks_raw likely has a bunch of tombstones (can't figure out how to 
>>>> get stats on that).
>>>> 
>>>> Is this behavior something that indicates that i need more Heap, larger 
>>>> new generation? Should I be manually running compaction on tables with 
>>>> lots of tombstones?
>>>> 
>>>> Any suggestions or places to educate myself better on performance tuning 
>>>> would be appreciated.
>>>> 
>>>> arne
>>>> 
>>>> 
>>>> -- 
>>>> 
>>>> Ryan Svihla
>>>> Solution Architect
>>>> 
>>>>  
>>>> 
>>>> DataStax is the fastest, most scalable distributed database technology, 
>>>> delivering Apache Cassandra to the world’s most innovative enterprises. 
>>>> Datastax is built to be agile, always-on, and predictably scalable to any 
>>>> size. With more than 500 customers in 45 countries, DataStax is the 
>>>> database technology and transactional backbone of choice for the worlds 
>>>> most innovative companies such as Netflix, Adobe, Intuit, and eBay. 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> 
>>>> Ryan Svihla
>>>> Solution Architect
>>>> 
>>>>  
>>>> 
>>>> DataStax is the fastest, most scalable distributed database technology, 
>>>> delivering Apache Cassandra to the world’s most innovative enterprises. 
>>>> Datastax is built to be agile, always-on, and predictably scalable to any 
>>>> size. With more than 500 customers in 45 countries, DataStax is the 
>>>> database technology and transactional backbone of choice for the worlds 
>>>> most innovative companies such as Netflix, Adobe, Intuit, and eBay. 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> 
>>>> Ryan Svihla
>>>> Solution Architect
>>>> 
>>>>  
>>>> 
>>>> DataStax is the fastest, most scalable distributed database technology, 
>>>> delivering Apache Cassandra to the world’s most innovative enterprises. 
>>>> Datastax is built to be agile, always-on, and predictably scalable to any 
>>>> size. With more than 500 customers in 45 countries, DataStax is the 
>>>> database technology and transactional backbone of choice for the worlds 
>>>> most innovative companies such as Netflix, Adobe, Intuit, and eBay. 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> 
>>>> Ryan Svihla
>>>> Solution Architect
>>>> 
>>>>  
>>>> 
>>>> DataStax is the fastest, most scalable distributed database technology, 
>>>> delivering Apache Cassandra to the world’s most innovative enterprises. 
>>>> Datastax is built to be agile, always-on, and predictably scalable to any 
>>>> size. With more than 500 customers in 45 countries, DataStax is the 
>>>> database technology and transactional backbone of choice for the worlds 
>>>> most innovative companies such as Netflix, Adobe, Intuit, and eBay. 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> 
>>>> Ryan Svihla
>>>> Solution Architect
>>>> 
>>>>  
>>>> 
>>>> DataStax is the fastest, most scalable distributed database technology, 
>>>> delivering Apache Cassandra to the world’s most innovative enterprises. 
>>>> Datastax is built to be agile, always-on, and predictably scalable to any 
>>>> size. With more than 500 customers in 45 countries, DataStax is the 
>>>> database technology and transactional backbone of choice for the worlds 
>>>> most innovative companies such as Netflix, Adobe, Intuit, and eBay. 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> 
>>>> Ryan Svihla
>>>> Solution Architect
>>>> 
>>>>  
>>>> 
>>>> DataStax is the fastest, most scalable distributed database technology, 
>>>> delivering Apache Cassandra to the world’s most innovative enterprises. 
>>>> Datastax is built to be agile, always-on, and predictably scalable to any 
>>>> size. With more than 500 customers in 45 countries, DataStax is the 
>>>> database technology and transactional backbone of choice for the worlds 
>>>> most innovative companies such as Netflix, Adobe, Intuit, and eBay. 
>>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> 
>>> Ryan Svihla
>>> Solution Architect
>>> 
>>>  
>>> 
>>> DataStax is the fastest, most scalable distributed database technology, 
>>> delivering Apache Cassandra to the world’s most innovative enterprises. 
>>> Datastax is built to be agile, always-on, and predictably scalable to any 
>>> size. With more than 500 customers in 45 countries, DataStax is the 
>>> database technology and transactional backbone of choice for the worlds 
>>> most innovative companies such as Netflix, Adobe, Intuit, and eBay. 
>>> 
>> 
>> 
>> 
>> -- 
>> 
>> Ryan Svihla
>> Solution Architect
>> 
>>  
>> 
>> DataStax is the fastest, most scalable distributed database technology, 
>> delivering Apache Cassandra to the world’s most innovative enterprises. 
>> Datastax is built to be agile, always-on, and predictably scalable to any 
>> size. With more than 500 customers in 45 countries, DataStax is the database 
>> technology and transactional backbone of choice for the worlds most 
>> innovative companies such as Netflix, Adobe, Intuit, and eBay. 
>> 
> 

Reply via email to