cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Stepura (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-7373) Commit logs no longer deleting and MemtablePostFlusher pending growing
Date Wed, 11 Jun 2014 22:49:02 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-7373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Mikhail Stepura updated CASSANDRA-7373:
---------------------------------------

    Attachment: 0002-Handle-possible-integer-overflow.patch
                0001-Move-latch.countDown-into-finally-block.patch

I'm attaching two patches for 1.2 to address those two issues.
Though I'm not fully convinced that  2nd issue (with unsafe "expand" for very large buffers)
is worth fixing 

> Commit logs no longer deleting and MemtablePostFlusher pending growing
> ----------------------------------------------------------------------
>
>                 Key: CASSANDRA-7373
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7373
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: RHEL 6.5
> Cassandra 1.12.16
> Replication factor of 3
>            Reporter: Francois Richard
>         Attachments: 0001-Move-latch.countDown-into-finally-block.patch, 0002-Handle-possible-integer-overflow.patch
>
>
> We have this issue where once in a while, we get into a situation where the MemtablePostFlusher
is not executing and the space used by the commit logs on disks keeps on increasing and increasing.
> We can observe the problem by invoking nodetool tpstats:
> {code}
> Pool Name                    Active   Pending      Completed   Blocked  All time blocked
> ReadStage                         6         6       46650213         0              
  0
> RequestResponseStage              0         0      130547421         0              
  0
> MutationStage                     2         2      116813206         0              
  0
> ReadRepairStage                   0         0        2322201         0              
  0
> ReplicateOnWriteStage             0         0              0         0              
  0
> GossipStage                       0         0         120780         0              
  0
> AntiEntropyStage                  0         0              0         0              
  0
> MigrationStage                    0         0              0         0              
  0
> MemoryMeter                       0         0            456         0              
  0
> MemtablePostFlusher               1       447           6344         0              
  0
> FlushWriter                       0         0           6132         0              
 62
> MiscStage                         0         0              0         0              
  0
> PendingRangeCalculator            0         0              6         0              
  0
> commitlog_archiver                0         0              0         0              
  0
> InternalResponseStage             0         0              0         0              
  0
> HintedHandoff                     2         2              4         0              
  0
> Message type           Dropped
> RANGE_SLICE                  0
> READ_REPAIR                  0
> BINARY                       0
> READ                         0
> MUTATION                     0
> _TRACE                       0
> REQUEST_RESPONSE             0
> COUNTER_MUTATION             0
> {code}
> Here is a potential error in the logs that can explain this:
> {code}
> ERROR [FlushWriter:2693] 2014-06-09 22:05:38,452 CassandraDaemon.java (line 191) Exception
in thread Thread[FlushWriter:2693,5,main]
> java.lang.NegativeArraySizeException
> 	at org.apache.cassandra.io.util.FastByteArrayOutputStream.expand(FastByteArrayOutputStream.java:104)
> 	at org.apache.cassandra.io.util.FastByteArrayOutputStream.write(FastByteArrayOutputStream.java:220)
> 	at java.io.DataOutputStream.write(DataOutputStream.java:107)
> 	at org.apache.cassandra.io.util.DataOutputBuffer.write(DataOutputBuffer.java:60)
> 	at org.apache.cassandra.utils.ByteBufferUtil.write(ByteBufferUtil.java:328)
> 	at org.apache.cassandra.utils.ByteBufferUtil.writeWithLength(ByteBufferUtil.java:315)
> 	at org.apache.cassandra.db.ColumnSerializer.serialize(ColumnSerializer.java:55)
> 	at org.apache.cassandra.db.ColumnSerializer.serialize(ColumnSerializer.java:30)
> 	at org.apache.cassandra.db.OnDiskAtom$Serializer.serializeForSSTable(OnDiskAtom.java:62)
> 	at org.apache.cassandra.db.ColumnIndex$Builder.add(ColumnIndex.java:181)
> 	at org.apache.cassandra.db.ColumnIndex$Builder.build(ColumnIndex.java:133)
> 	at org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:185)
> 	at org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:430)
> 	at org.apache.cassandra.db.Memtable$FlushRunnable.runWith(Memtable.java:385)
> 	at org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message