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

Brandon Williams commented on CASSANDRA-3681:
---------------------------------------------

The problem here is that now the schema check comes before the FD check:

{noformat}
ERROR 15:45:37,154 Fatal exception in thread Thread[HintedHandoff:1,1,main]
java.lang.RuntimeException: Didin't receive gossiped schema from /10.179.64.227 
in 60000ms
        at 
org.apache.cassandra.db.HintedHandOffManager.waitForSchemaAgreement(HintedHandOffManager.java:210)
        at 
org.apache.cassandra.db.HintedHandOffManager.deliverHintsToEndpoint(HintedHandOffManager.java:239)
        at 
org.apache.cassandra.db.HintedHandOffManager.access$200(HintedHandOffManager.java:84)
        at 
org.apache.cassandra.db.HintedHandOffManager$3.runMayThrow(HintedHandOffManager.java:385)
        at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
{noformat}

I added another FD check for this in the patch on CASSANDRA-3677 (which isn't 
the problem there) but something similar should work.
                
> 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
>              Labels: hintedhandoff
>             Fix For: 1.0.7
>
>         Attachments: 3681.txt
>
>
> 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

        

Reply via email to