[
https://issues.apache.org/jira/browse/CASSANDRA-1905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan Ellis updated CASSANDRA-1905:
--------------------------------------
Attachment: 1905.txt
The idea is simply, "when a message expires from our Map without a response,
count it at the maximum latency." ExpiringMap is thus extended with an
optional postExpireHook Function.
In MessagingService we add a "targets" multimap (since a message can be sent to
multiple recipients), and update that with the destinations for any message
with a callback. ResponseVerbHandler removes each destination from "targets"
when it gets a reply. We also combine the former "callbackMap_" and
"taskCompletionMap_" into a single "callbacks" object to avoid redundancy.
IMessageCallback is introduced to mean "IASyncCallback or IAsyncResult."
Also, for consistency, removing objects from "callbacks" is defined to be the
responsibility of the IMessageCallback, so I've moved that from the AsyncResult
section into AR, rather than RVH. It would be nice to do it in RVH but there
is not enough information there, in the case of quorum reads, to know when it's
safe to do the remove (RVH is per-message based, and quorum reads by definition
span multiple messages).
> count timeouts towards dynamicsnitch latencies
> ----------------------------------------------
>
> Key: CASSANDRA-1905
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1905
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6.6
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.6.9, 0.7.1
>
> Attachments: 1905.txt
>
>
> receiveTiming is only called by ResponseVerbHandler; we need to add timing
> information for timed-out requests as well.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.