cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-3957) Supercolumn serialization assertion failure
Date Fri, 24 Feb 2012 22:05:48 GMT

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

Jonathan Ellis commented on CASSANDRA-3957:
-------------------------------------------

I note that this is the Periodic commitlog executor, which does NOT block for CommitLog.add.
 So, if the CF is serialized (later) while another thread modifies it, we could hit this error.

We don't modify the mutation CF directly in CFS.apply, since we clone into the arena allocator.

The only place I see where we modify the mutation CF is in ignoreObsoleteMutations...  but
that only happens for indexed columns, so that can't be the cause here since it involves SuperColumns.

(Note that the mutation CF won't be changed by updateRowCache, since the mutation CF is never
inserted into the cache; it's only used to add to an existing cache row, if one exists.)

Am I missing something?

Perhaps it would be best to start by creating a test to serialize the above RowMutation and
see if it reproduces in the absence of concurrent activity, to rule out the possibility of
serializedSize simply having a bug w/ SuperColumns.
                
> Supercolumn serialization assertion failure
> -------------------------------------------
>
>                 Key: CASSANDRA-3957
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3957
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Jonathan Ellis
>            Assignee: Yuki Morishita
>             Fix For: 1.0.9
>
>
> As reported at http://mail-archives.apache.org/mod_mbox/cassandra-user/201202.mbox/%3CCADJL=w5kH5TEQXOwhTn5Jm3cmR4Rj=NfjcqLryXV7pLyASi95A@mail.gmail.com%3E,
> {noformat}
> ERROR 10:51:44,282 Fatal exception in thread
> Thread[COMMIT-LOG-WRITER,5,main]
> java.lang.AssertionError: Final buffer length 4690 to accomodate data size
> of 2347 (predicted 2344) for RowMutation(keyspace='Player',
> key='36336138643338652d366162302d343334392d383466302d356166643863353133356465',
> modifications=[ColumnFamily(PlayerCity [SuperColumn(owneditem_1019
> []),SuperColumn(owneditem_1024 []),SuperColumn(owneditem_1026
> []),SuperColumn(owneditem_1074 []),SuperColumn(owneditem_1077
> []),SuperColumn(owneditem_1084 []),SuperColumn(owneditem_1094
> []),SuperColumn(owneditem_1130 []),SuperColumn(owneditem_1136
> []),SuperColumn(owneditem_1141 []),SuperColumn(owneditem_1142
> []),SuperColumn(owneditem_1145 []),SuperColumn(owneditem_1218
> [636f6e6e6563746564:false:5@1329648704269002
> ,63757272656e744865616c7468:false:3@1329648704269006
> ,656e64436f6e737472756374696f6e54696d65:false:13@1329648704269007
> ,6964:false:4@1329648704269000,6974656d4964:false:15@1329648704269001
> ,6c61737444657374726f79656454696d65:false:1@1329648704269008
> ,6c61737454696d65436f6c6c6563746564:false:13@1329648704269005
> ,736b696e4964:false:7@1329648704269009,78:false:4@1329648704269003
> ,79:false:3@1329648704269004,]),SuperColumn(owneditem_133
> []),SuperColumn(owneditem_134 []),SuperColumn(owneditem_135
> []),SuperColumn(owneditem_141 []),SuperColumn(owneditem_147
> []),SuperColumn(owneditem_154 []),SuperColumn(owneditem_159
> []),SuperColumn(owneditem_171 []),SuperColumn(owneditem_253
> []),SuperColumn(owneditem_422 []),SuperColumn(owneditem_438
> []),SuperColumn(owneditem_515 []),SuperColumn(owneditem_521
> []),SuperColumn(owneditem_523 []),SuperColumn(owneditem_525
> []),SuperColumn(owneditem_562 []),SuperColumn(owneditem_61
> []),SuperColumn(owneditem_634 []),SuperColumn(owneditem_636
> []),SuperColumn(owneditem_71 []),SuperColumn(owneditem_712
> []),SuperColumn(owneditem_720 []),SuperColumn(owneditem_728
> []),SuperColumn(owneditem_787 []),SuperColumn(owneditem_797
> []),SuperColumn(owneditem_798 []),SuperColumn(owneditem_838
> []),SuperColumn(owneditem_842 []),SuperColumn(owneditem_847
> []),SuperColumn(owneditem_849 []),SuperColumn(owneditem_851
> []),SuperColumn(owneditem_852 []),SuperColumn(owneditem_853
> []),SuperColumn(owneditem_854 []),SuperColumn(owneditem_857
> []),SuperColumn(owneditem_858 []),SuperColumn(owneditem_874
> []),SuperColumn(owneditem_884 []),SuperColumn(owneditem_886
> []),SuperColumn(owneditem_908 []),SuperColumn(owneditem_91
> []),SuperColumn(owneditem_911 []),SuperColumn(owneditem_930
> []),SuperColumn(owneditem_934 []),SuperColumn(owneditem_937
> []),SuperColumn(owneditem_944 []),SuperColumn(owneditem_945
> []),SuperColumn(owneditem_962 []),SuperColumn(owneditem_963
> []),SuperColumn(owneditem_964 []),])])
>         at org.apache.cassandra.utils.FBUtilities.serialize(FBUtilities.java:682)
>         at org.apache.cassandra.db.RowMutation.getSerializedBuffer(RowMutation.java:279)
>         at org.apache.cassandra.db.commitlog.CommitLogSegment.write(CommitLogSegment.java:122)
>         at org.apache.cassandra.db.commitlog.CommitLog$LogRecordAdder.run(CommitLog.java:599)
>         at org.apache.cassandra.db.commitlog.PeriodicCommitLogExecutorService$1.runMayThrow(PeriodicCommitLogExecutorService.java:49)
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
>         at java.lang.Thread.run(Thread.java:662)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message