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

Sylvain Lebresne commented on CASSANDRA-9790:
---------------------------------------------

A first problem was that the test hadn't been properly upgraded post-8099. 
Basically, it's trying to replay a commit log that was generated in 2.0 and 
2.1, but it wasn't using the proper table definition. I've pushed the simple 
fix for that as commit 
[15265689|http://git-wip-us.apache.org/repos/asf/cassandra/diff/15265689].

That said, the test is still failing, but with a more meaningful error.

Now, I'll continue looking, but I'm not all that familiar with the commit log, 
nor with this test (I don't know in particular how the commit log we're trying 
to recover have been generated, making it a bit harder to be sure of what we're 
expecting exactly). What I can tell is that the commit log does seems to be 
replaying properly, and some upgrade tests shows that commit logs from 2.1 can 
be replayed properly, at least to some extent. What fails in that case is that 
it seems more cells are replayed than is expected. If someone more familiar 
with the commit log want to have a look, in particular making sure stuff aren't 
replayed more than one by mistake, I would certainly appreciate.

> CommitLogUpgradeTest.test{20,21} failure
> ----------------------------------------
>
>                 Key: CASSANDRA-9790
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9790
>             Project: Cassandra
>          Issue Type: Sub-task
>            Reporter: Michael Shuler
>            Assignee: Sylvain Lebresne
>            Priority: Blocker
>              Labels: test-failure
>             Fix For: 3.0 beta 1
>
>
> These test failures started with the 8099 commit.
> {noformat}
> Stacktrace
> java.lang.IllegalArgumentException
>       at java.nio.Buffer.limit(Buffer.java:275)
>       at 
> org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:583)
>       at 
> org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:592)
>       at 
> org.apache.cassandra.db.marshal.CompositeType.splitName(CompositeType.java:197)
>       at 
> org.apache.cassandra.db.LegacyLayout.decodeClustering(LegacyLayout.java:235)
>       at 
> org.apache.cassandra.db.LegacyLayout.decodeCellName(LegacyLayout.java:127)
>       at 
> org.apache.cassandra.db.LegacyLayout.readLegacyCellBody(LegacyLayout.java:672)
>       at 
> org.apache.cassandra.db.LegacyLayout.readLegacyCell(LegacyLayout.java:643)
>       at 
> org.apache.cassandra.db.LegacyLayout$8.computeNext(LegacyLayout.java:713)
>       at 
> org.apache.cassandra.db.LegacyLayout$8.computeNext(LegacyLayout.java:702)
>       at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
>       at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
>       at 
> com.google.common.collect.Iterators$PeekingImpl.hasNext(Iterators.java:1149)
>       at 
> org.apache.cassandra.db.LegacyLayout.toUnfilteredRowIterator(LegacyLayout.java:310)
>       at 
> org.apache.cassandra.db.LegacyLayout.onWireCellstoUnfilteredRowIterator(LegacyLayout.java:298)
>       at 
> org.apache.cassandra.db.partitions.PartitionUpdate$PartitionUpdateSerializer.deserialize(PartitionUpdate.java:670)
>       at 
> org.apache.cassandra.db.Mutation$MutationSerializer.deserialize(Mutation.java:276)
>       at 
> org.apache.cassandra.db.commitlog.CommitLogTestReplayer.replayMutation(CommitLogTestReplayer.java:66)
>       at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.replaySyncSection(CommitLogReplayer.java:464)
>       at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:370)
>       at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:145)
>       at 
> org.apache.cassandra.db.commitlog.CommitLogUpgradeTest.testRestore(CommitLogUpgradeTest.java:105)
>       at 
> org.apache.cassandra.db.commitlog.CommitLogUpgradeTest.test21(CommitLogUpgradeTest.java:66)
> {noformat}



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

Reply via email to