cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-13025) dtest failure in upgrade_tests.cql_tests.TestCQLNodes3RF3_Upgrade_current_3_x_To_indev_3_x.static_columns_with_distinct_test
Date Mon, 26 Dec 2016 09:32:58 GMT

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

Sylvain Lebresne commented on CASSANDRA-13025:
----------------------------------------------

bq. To be honest, so far I can not see the another solution rather than fetching all statics
for compatibility reasons.

I don't either. I simply missed on CASSANDRA-12768 that this would be an issue on upgrade
and I apologize for that. Thanksfully we haven't released this yet but we should fix it before
we do so which is why I've marked this a blocker (note that CASSANDRA-12768 was committed
on 3.0 too so pretty sure it is affected too, don't know if it shows up in some 3.0 upgrade
tests, but it should).

I'll note that reverting to querying all statics isn't too hard but as the patch has been
used for the fix in CASSANDRA-12694, we'd have to update that fix too (the simplest option
probably being to revert to the very first patch that was posted on this issue, even if that's
slightly less efficient that we'd ideally want).

bq. We might special-case 3.X to return a "legacy" response

Well, that's what we should do but for trunk. We can't really do that on 3.X because we don't
really have a good and reliable to know if we're talking to a pre-CASSANDRA-12768 node or
not, as all 3.0 and 3.X node speak the same internode protocol version. For 4.0 though, we
do upgrade said version so we're fine. In other words, while I agree we should revert CASSANDRA-12768
in 3.0 and 3.X, I also really think we should preserve it (along with the current fix of CASSANDRA_12694)
in trunk. For trunk, we should update the serializer to translate things properly when a 4.x
node speaks to a 3.x node (as we usually do).


> dtest failure in upgrade_tests.cql_tests.TestCQLNodes3RF3_Upgrade_current_3_x_To_indev_3_x.static_columns_with_distinct_test
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-13025
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13025
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Testing
>            Reporter: Sean McCarthy
>            Assignee: Alex Petrov
>            Priority: Blocker
>              Labels: dtest, test-failure
>             Fix For: 3.0.11, 3.10
>
>
> example failure:
> http://cassci.datastax.com/job/cassandra-3.X_dtest_upgrade/28/testReport/upgrade_tests.cql_tests/TestCQLNodes3RF3_Upgrade_current_3_x_To_indev_3_x/static_columns_with_distinct_test
> {code}
> Error Message
> <Error from server: code=0000 [Server error] message="java.io.IOError: java.io.IOException:
Corrupt empty row found in unfiltered partition">
> {code}{code}
> Stacktrace
>   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
>     testMethod()
>   File "/home/automaton/cassandra-dtest/tools/decorators.py", line 46, in wrapped
>     f(obj)
>   File "/home/automaton/cassandra-dtest/upgrade_tests/cql_tests.py", line 4010, in static_columns_with_distinct_test
>     rows = list(cursor.execute("SELECT DISTINCT k, s1 FROM test2"))
>   File "/home/automaton/src/cassandra-driver/cassandra/cluster.py", line 1998, in execute
>     return self.execute_async(query, parameters, trace, custom_payload, timeout, execution_profile,
paging_state).result()
>   File "/home/automaton/src/cassandra-driver/cassandra/cluster.py", line 3784, in result
>     raise self._final_exception
> {code}{code}
> Standard Output
> http://git-wip-us.apache.org/repos/asf/cassandra.git git:7eac22dd41cb09e6d64fb5ac48b2cca3c8840cc8
> Unexpected error in node2 log, error: 
> ERROR [Native-Transport-Requests-2] 2016-12-08 03:20:04,861 Message.java:617 - Unexpected
exception during request; channel = [id: 0xf4c13f2c, L:/127.0.0.2:9042 - R:/127.0.0.1:52112]
> java.io.IOError: java.io.IOException: Corrupt empty row found in unfiltered partition
> 	at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer$1.computeNext(UnfilteredRowIteratorSerializer.java:224)
~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer$1.computeNext(UnfilteredRowIteratorSerializer.java:212)
~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) ~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:133) ~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.processPartition(SelectStatement.java:779)
~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:741)
~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:408)
~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:273)
~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:232)
~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:76)
~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:188)
~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:219) ~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:204) ~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:115)
~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:513)
[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:407)
[apache-cassandra-3.9.jar:3.9]
> 	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
[netty-all-4.0.39.Final.jar:4.0.39.Final]
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
[netty-all-4.0.39.Final.jar:4.0.39.Final]
> 	at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:35)
[netty-all-4.0.39.Final.jar:4.0.39.Final]
> 	at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:357)
[netty-all-4.0.39.Final.jar:4.0.39.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)
[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109) [apache-cassandra-3.9.jar:3.9]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
> Caused by: java.io.IOException: Corrupt empty row found in unfiltered partition
> 	at org.apache.cassandra.db.rows.UnfilteredSerializer.deserialize(UnfilteredSerializer.java:430)
~[apache-cassandra-3.9.jar:3.9]
> 	at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer$1.computeNext(UnfilteredRowIteratorSerializer.java:219)
~[apache-cassandra-3.9.jar:3.9]
> 	... 23 common frames omitted
> {code}
> Related failures: (~25)
> http://cassci.datastax.com/job/cassandra-3.X_dtest_upgrade/28/testReport/



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

Mime
View raw message