[
https://issues.apache.org/jira/browse/CASSANDRA-7245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14011299#comment-14011299
]
Jason Brown commented on CASSANDRA-7245:
----------------------------------------
Hmm, unfortunately, this patch makes things worse for me :(. I still am seeing
the decorated key exception on compaction (including here since we haven'y so
far in the ticket):
{code}ERROR [CompactionExecutor:4] 2014-05-28 16:42:36,909
CassandraDaemon.java:166 - Exception in thread
Thread[CompactionExecutor:4,1,main]
java.lang.RuntimeException: Last written key DecoratedKey(-2628246975040818544,
30303030373145304638) >= current key DecoratedKey(-7730803788015025148,
30303030364642324138) writing into
/u/sdd/cassandra-jasobrown/data/Keyspace1/Standard1-48037880e68611e3865a919228363515/Keyspace1-Standard1-tmp-ka-22-Data.db
at
org.apache.cassandra.io.sstable.SSTableWriter.beforeAppend(SSTableWriter.java:172)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:196)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:109)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:177)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:74)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:64)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:235)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
~[na:1.7.0_13]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
~[na:1.7.0_13]
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
~[na:1.7.0_13]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
~[na:1.7.0_13]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[na:1.7.0_13]
at java.lang.Thread.run(Thread.java:722) [na:1.7.0_13]
{code}
But now I also ref counting exceptions:
{code}ERROR [Native-Transport-Requests:176] 2014-05-28 16:37:54,838
ErrorMessage.java:218 - Unexpected exception during request
io.netty.util.IllegalReferenceCountException: refCnt: 0, increment: 1
at
io.netty.buffer.AbstractReferenceCountedByteBuf.retain(AbstractReferenceCountedByteBuf.java:64)
~[netty-all-4.0.17.Final.jar:4.0.17.Final]
at org.apache.cassandra.transport.Frame.retain(Frame.java:60)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at org.apache.cassandra.db.Mutation.retain(Mutation.java:114)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.net.MessagingService.addCallback(MessagingService.java:584)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.net.MessagingService.sendRR(MessagingService.java:650)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.service.StorageProxy.sendToHintedEndpoints(StorageProxy.java:812)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.service.StorageProxy$2.apply(StorageProxy.java:122)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:703)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:467)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.service.StorageProxy.mutateWithTriggers(StorageProxy.java:537)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.cql3.statements.ModificationStatement.executeWithoutCondition(ModificationStatement.java:503)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:487)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:187)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:413)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.transport.messages.ExecuteMessage.execute(ExecuteMessage.java:133)
~[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:414)
[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:309)
[apache-cassandra-2.1.0-beta2-SNAPSHOT.jar:2.1.0-beta2-SNAPSHOT]
at
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
[netty-all-4.0.17.Final.jar:4.0.17.Final]
at
io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:340)
[netty-all-4.0.17.Final.jar:4.0.17.Final]
at
io.netty.channel.DefaultChannelHandlerContext.access$700(DefaultChannelHandlerContext.java:29)
[netty-all-4.0.17.Final.jar:4.0.17.Final]
at
io.netty.channel.DefaultChannelHandlerContext$8.run(DefaultChannelHandlerContext.java:331)
[netty-all-4.0.17.Final.jar:4.0.17.Final]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[na:1.7.0_13]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[na:1.7.0_13]
at java.lang.Thread.run(Thread.java:722) [na:1.7.0_13]
{code}
fwiw, it looks like the ref counting exception occurs when a memtable flush is
starting:
{code}INFO [SlabPoolCleaner] 2014-05-28 16:37:48,597
ColumnFamilyStore.java:857 - Enqueuing flush of Standard1: 836991055 (40%)
on-heap, 0 (0%) off-heap
INFO [MemtableFlushWriter:3] 2014-05-28 16:37:48,633 Memtable.java:331 -
Writing Memtable-Standard1@1182801803(255151849 serialized bytes, 7100814 ops,
40%/0% of on/off-heap limit)
INFO [MemtableFlushWriter:4] 2014-05-28 16:37:51,545 Memtable.java:365 -
Completed flushing
/u/sdd/cassandra-jasobrown/flush/Keyspace1/Standard1-48037880e68611e3865a919228363515/Keyspace1-Standard1-ka-2-Data.db
(313657615 bytes) for commitlog position
ReplayPosition(segmentId=1401294928141, position=20412051)
ERROR [Native-Transport-Requests:176] 2014-05-28 16:37:54,838
ErrorMessage.java:218 - Unexpected exception during request
io.netty.util.IllegalReferenceCountException: refCnt: 0, increment: 1
{code}
I could be wrong about this, but it anecdotally looks related.
> Out-of-Order keys with stress + CQL3
> ------------------------------------
>
> Key: CASSANDRA-7245
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7245
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Pavel Yaskevich
> Assignee: T Jake Luciani
> Fix For: 2.1 rc1
>
> Attachments: 7245.txt
>
>
> We have been generating data (stress with CQL3 prepared) for CASSANDRA-4718
> and found following problem almost in every SSTable generated (~200 GB of
> data and 821 SSTables).
> We set up they keys to be 10 bytes in size (default) and population between 1
> and 600000000.
> Once I ran 'sstablekeys' on the generated SSTable files I got following
> exceptions:
> _There is a problem with sorting of normal looking keys:_
> 30303039443538353645
> 30303039443745364242
> java.io.IOException: Key out of order! DecoratedKey(-217680888487824985,
> *30303039443745364242*) > DecoratedKey(-1767746583617597213,
> *30303039443437454333*)
> 00000a30303033343933
> 37344400001388343933
> java.io.IOException: Key out of order! DecoratedKey(5440473860101999581,
> *37344400001388343933*) > DecoratedKey(-7565486415339257200,
> *30303033344639443137*)
> 30303033354244363031
> 30303033354133423742
> java.io.IOException: Key out of order! DecoratedKey(2687072396429900180,
> *30303033354133423742*) > DecoratedKey(-7838239767410066684,
> *30303033354145344534*)
> 30303034313442354137
> 30343136353633340000
> java.io.IOException: Key out of order! DecoratedKey(1516003874415400462,
> *30343136353633340000*) > DecoratedKey(-9106177395653818217,
> *30303034313333444238*)
> 30303035373044373435
> 30303035373044334631
> java.io.IOException: Key out of order! DecoratedKey(-3645715702154616540,
> *30303035373044334631*) > DecoratedKey(-4296696226469000945,
> *30303035373132364138*)
> _And completely different ones:_
> 30303041333745373543
> 7cd045c59a90d7587d8d
> java.io.IOException: Key out of order! DecoratedKey(-3595402345023230196,
> *7cd045c59a90d7587d8d*) > DecoratedKey(-5146766422778260690,
> *30303041333943303232*)
> 30303033323144444144
> 30303033323346343932
> java.io.IOException: Key out of order! DecoratedKey(7071845511166615635,
> *30303033323346343932*) > DecoratedKey(5233296131921119414,
> *53d83e00000012287e03*)
> 30303034314531374431
> 3806734b256c27e41ec2
> java.io.IOException: Key out of order! DecoratedKey(-7720474642702543193,
> *3806734b256c27e41ec2*) > DecoratedKey(-8072288379146044663,
> *30303034314136413343*)
> _And sometimes there is no problem at all:_
> 30303033353144463637
> 0000002a31b3b31a1c2f
> 5d616dd38211ebb5d6ec
> 44423645000013880000
> 00001388138844463744
> 30303033353143394343
> It's worth to mention that we have got 22 timeout exceptions but number of
> out-of-order keys is much larger than that.
--
This message was sent by Atlassian JIRA
(v6.2#6252)