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] [Updated] (CASSANDRA-4578) Dead lock in mutation stage when many concurrent writes to few columns
Date Thu, 06 Sep 2012 13:04:07 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-4578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sylvain Lebresne updated CASSANDRA-4578:
----------------------------------------

    Attachment: 4578.txt

Attaching patch to use a callback (as it avoids creating lots of thread that just spend time
waiting on a condition) to send back the response from CMVH.
                
> Dead lock in mutation stage when many concurrent writes to few columns
> ----------------------------------------------------------------------
>
>                 Key: CASSANDRA-4578
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4578
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.8.0
>         Environment: 15 cassandra instances
> CentOS5
> 8 Core 64GB Memory
> java version "1.6.0_33"
> Java(TM) SE Runtime Environment (build 1.6.0_33-b04)
> Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)
>            Reporter: Suguru Namura
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 1.1.6
>
>         Attachments: 4578.txt, threaddump-1344957574788.tdump
>
>
> When I send many request to increment counters to few counter columns, sometimes mutation
stage cause dead lock. When it happened, all of mutation threads are locked and do not accept
updates any more.
> {noformat}
> "MutationStage:432" - Thread t@1389
>    java.lang.Thread.State: TIMED_WAITING
> 	at java.lang.Object.wait(Native Method)
> 	- waiting on <b90b45b> (a org.apache.cassandra.utils.SimpleCondition)
> 	at java.lang.Object.wait(Object.java:443)
> 	at java.util.concurrent.TimeUnit.timedWait(TimeUnit.java:292)
> 	at org.apache.cassandra.utils.SimpleCondition.await(SimpleCondition.java:54)
> 	at org.apache.cassandra.service.AbstractWriteResponseHandler.get(AbstractWriteResponseHandler.java:55)
> 	at org.apache.cassandra.db.CounterMutationVerbHandler.doVerb(CounterMutationVerbHandler.java:51)
> 	at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
> 	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)
>    Locked ownable synchronizers:
> 	- locked <4b1b0a6f> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message