You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benjamin Lerer (JIRA)" <ji...@apache.org> on 2016/05/19 07:58:12 UTC

[jira] [Updated] (CASSANDRA-11393) dtest failure in upgrade_tests.upgrade_through_versions_test.ProtoV3Upgrade_2_1_UpTo_3_0_HEAD.rolling_upgrade_test

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

Benjamin Lerer updated CASSANDRA-11393:
---------------------------------------
    Attachment: 11393-3.0.txt

||utests||dtests||
|[3.0|https://cassci.datastax.com/view/Dev/view/blerer/job/blerer-11393-3.0-testall/lastCompletedBuild/testReport/]|[3.0|https://cassci.datastax.com/view/Dev/view/blerer/job/blerer-11393-3.0-dtest/lastCompletedBuild/testReport/]|
|[3.7|https://cassci.datastax.com/view/Dev/view/blerer/job/blerer-11393-3.7-testall/lastCompletedBuild/testReport/]|[3.7|https://cassci.datastax.com/view/Dev/view/blerer/job/blerer-11393-3.7-dtest/lastCompletedBuild/testReport/]|

The idea of the patch is to wait until the message is being send to decide which serializer must be used. 
It is possible that at the time where the connection is retrieved from the {{OutboundTcpConnectionPool}} the version has not been retrieved yet and the payload size is computed wrongly. If it is the case the wrong connection might be choosen but it should not cause the request to fail and the payload size will be recomputed properly later on.

One side effect of the patch is that the {{PAGED_RANGE}} verb will be used instead of the {{RANGE_SLICE}} one if the replica is a {{3.x}} one and the query is a partition range query. 

> dtest failure in upgrade_tests.upgrade_through_versions_test.ProtoV3Upgrade_2_1_UpTo_3_0_HEAD.rolling_upgrade_test
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-11393
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11393
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Philip Thompson
>            Assignee: Benjamin Lerer
>              Labels: dtest
>         Attachments: 11393-3.0.txt
>
>
> We are seeing a failure in the upgrade tests that go from 2.1 to 3.0
> {code}
> node2: ERROR [SharedPool-Worker-2] 2016-03-10 20:05:17,865 Message.java:611 - Unexpected exception during request; channel = [id: 0xeb79b477, /127.0.0.1:39613 => /127.0.0.2:9042]
> java.lang.AssertionError: null
> 	at org.apache.cassandra.db.ReadCommand$LegacyReadCommandSerializer.serializedSize(ReadCommand.java:1208) ~[main/:na]
> 	at org.apache.cassandra.db.ReadCommand$LegacyReadCommandSerializer.serializedSize(ReadCommand.java:1155) ~[main/:na]
> 	at org.apache.cassandra.net.MessageOut.payloadSize(MessageOut.java:166) ~[main/:na]
> 	at org.apache.cassandra.net.OutboundTcpConnectionPool.getConnection(OutboundTcpConnectionPool.java:72) ~[main/:na]
> 	at org.apache.cassandra.net.MessagingService.getConnection(MessagingService.java:609) ~[main/:na]
> 	at org.apache.cassandra.net.MessagingService.sendOneWay(MessagingService.java:758) ~[main/:na]
> 	at org.apache.cassandra.net.MessagingService.sendRR(MessagingService.java:701) ~[main/:na]
> 	at org.apache.cassandra.net.MessagingService.sendRRWithFailure(MessagingService.java:684) ~[main/:na]
> 	at org.apache.cassandra.service.AbstractReadExecutor.makeRequests(AbstractReadExecutor.java:110) ~[main/:na]
> 	at org.apache.cassandra.service.AbstractReadExecutor.makeDataRequests(AbstractReadExecutor.java:85) ~[main/:na]
> 	at org.apache.cassandra.service.AbstractReadExecutor$AlwaysSpeculatingReadExecutor.executeAsync(AbstractReadExecutor.java:330) ~[main/:na]
> 	at org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.doInitialQueries(StorageProxy.java:1699) ~[main/:na]
> 	at org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:1654) ~[main/:na]
> 	at org.apache.cassandra.service.StorageProxy.readRegular(StorageProxy.java:1601) ~[main/:na]
> 	at org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:1520) ~[main/:na]
> 	at org.apache.cassandra.db.SinglePartitionReadCommand.execute(SinglePartitionReadCommand.java:302) ~[main/:na]
> 	at org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:67) ~[main/:na]
> 	at org.apache.cassandra.service.pager.SinglePartitionPager.fetchPage(SinglePartitionPager.java:34) ~[main/:na]
> 	at org.apache.cassandra.cql3.statements.SelectStatement$Pager$NormalPager.fetchPage(SelectStatement.java:297) ~[main/:na]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:333) ~[main/:na]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:209) ~[main/:na]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:76) ~[main/:na]
> 	at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:206) ~[main/:na]
> 	at org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:472) ~[main/:na]
> 	at org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:449) ~[main/:na]
> 	at org.apache.cassandra.transport.messages.ExecuteMessage.execute(ExecuteMessage.java:130) ~[main/:na]
> 	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:507) [main/:na]
> 	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:401) [main/:na]
> 	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.0.23.Final]
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [netty-all-4.0.23.Final.jar:4.0.23.Final]
> 	at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.0.23.Final]
> 	at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.0.23.Final]
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_51]
> 	at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164) [main/:na]
> 	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [main/:na]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
> {code}
> example failure:
> http://cassci.datastax.com/job/upgrade_tests-all/24/testReport/upgrade_tests.upgrade_through_versions_test/ProtoV3Upgrade_2_1_UpTo_3_0_HEAD/rolling_upgrade_test
> Failed on CassCI build upgrade_tests-all #24
> The stack trace and context match that of CASSANDRA-10122. It looks like it may be the same issue.



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