[
https://issues.apache.org/jira/browse/CASSANDRA-14762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16628006#comment-16628006
]
Ariel Weisberg commented on CASSANDRA-14762:
--------------------------------------------
[Is this just a
clarification?|https://github.com/belliottsmith/cassandra/commit/0f8a736316feded871231e2ad571d53182d33ee2#diff-0920d7430e98bf3c6a3c4cb88056f8f5R293]
Maybe [~bdeggleston] should do a quick review as well since it is a small
change. I just want to sanity check that we should be reading from transient
replicas in both these cases.
It seems to me we use read repair to assemble the read after digest mismatch
between full replicas and that is why we it might send messages to transient
replicas? That is what it seems like to me. A minor out of scope improvement
would be to use the existing response and not repeat the read?
It seems to me also that we would read from transients as part of short read
protection (they are just another member of the group), and they aren't special
so we should issue them the query.
> Transient node receives full data requests in dtests
> ----------------------------------------------------
>
> Key: CASSANDRA-14762
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14762
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Ariel Weisberg
> Assignee: Benedict
> Priority: Major
> Fix For: 4.0
>
>
> I saw this running them on my laptop with rapid write protection disabled.
> Attached is a patch for disabling rapid write protection in the transient
> dtests.
> {noformat}
> .Exception in thread Thread-19:
> Traceback (most recent call last):
> File
> "/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py",
> line 916, in _bootstrap_inner
> self.run()
> File
> "/Users/aweisberg/repos/cassandra-dtest/venv/src/ccm/ccmlib/cluster.py", line
> 180, in run
> self.scan_and_report()
> File
> "/Users/aweisberg/repos/cassandra-dtest/venv/src/ccm/ccmlib/cluster.py", line
> 173, in scan_and_report
> on_error_call(errordata)
> File "/Users/aweisberg/repos/cassandra-dtest/dtest_setup.py", line 137, in
> _log_error_handler
> pytest.fail("Error details: \n{message}".format(message=message))
> File
> "/Users/aweisberg/repos/cassandra-dtest/venv/lib/python3.6/site-packages/_pytest/outcomes.py",
> line 96, in fail
> raise Failed(msg=msg, pytrace=pytrace)
> Failed: Error details:
> Errors seen in logs for: node3
> node3: ERROR [ReadStage-1] 2018-09-18 12:28:48,344
> AbstractLocalAwareExecutorService.java:167 - Uncaught exception on thread
> Thread[ReadStage-1,5,main]
> org.apache.cassandra.exceptions.InvalidRequestException: Attempted to serve
> transient data request from full node in
> org.apache.cassandra.db.ReadCommandVerbHandler@3c55e0ff
> at
> org.apache.cassandra.db.ReadCommandVerbHandler.validateTransientStatus(ReadCommandVerbHandler.java:104)
> at
> org.apache.cassandra.db.ReadCommandVerbHandler.doVerb(ReadCommandVerbHandler.java:53)
> at
> org.apache.cassandra.net.MessageDeliveryTask.process(MessageDeliveryTask.java:92)
> at
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:54)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:162)
> at
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:134)
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:110)
> at
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.lang.Thread.run(Thread.java:748)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]