Multiple threads can attempt hint handoff to the same target
------------------------------------------------------------
Key: CASSANDRA-3681
URL: https://issues.apache.org/jira/browse/CASSANDRA-3681
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 1.0.0
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
Fix For: 1.0.7
HintedHandOffManager attempts to prevent multiple threads sending hints to the
same target with the queuedDeliveries set, but the code is buggy. If two
handoffs *do* occur concurrently, the second thread can use an arbitrarily
large amount of memory skipping tombstones when it starts paging from the
beginning of the hint row, looking for the first live hint. (This is not a
problem with a single thread, since it always pages starting with the last-seen
hint column name, effectively skipping the tombstones. Then it compacts when
it's done.)
Technically this bug is present in all older Cassandra releases, but it only
causes problems in 1.0.x since the hint rows tend to be much larger (since
there is one hint per write containing the entire mutation, instead of just one
per row consisting of just the key).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira