cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "T Jake Luciani (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-11615) cassandra-stress blocks when connecting to a big cluster
Date Wed, 20 Apr 2016 15:23:25 GMT

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

T Jake Luciani commented on CASSANDRA-11615:
--------------------------------------------

Was it deadlocked? Or just slow?

Regarding your fix
>From the driver javadocs:
{quote}
On the other hand, if that assumption turns out to be wrong and one host hasn't prepared a
given statement, it needs to be re-prepared on the fly the first time it gets executed; this
causes a performance penalty (one extra roundtrip to resend the query to prepare, and another
to retry the execution).
{quote}

Since this is a benchmark tool I'd prefer to not make this the default. Can you make it an
option?

> cassandra-stress blocks when connecting to a big cluster
> --------------------------------------------------------
>
>                 Key: CASSANDRA-11615
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11615
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>            Reporter: Eduard Tudenhoefner
>            Assignee: Eduard Tudenhoefner
>             Fix For: 3.0.x
>
>         Attachments: 11615-3.0.patch
>
>
> I had a *100* node cluster and was running 
> {code}
> cassandra-stress read n=100 no-warmup cl=LOCAL_QUORUM -rate 'threads=20' 'limit=1000/s'
> {code}
> Based on the thread dump it looks like it's been blocked at https://github.com/apache/cassandra/blob/cassandra-3.0/tools/stress/src/org/apache/cassandra/stress/util/JavaDriverClient.java#L96
> {code}
> "Thread-20" #245 prio=5 os_prio=0 tid=0x00007f3781822000 nid=0x46c4 waiting for monitor
entry [0x00007f36cc788000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>         at org.apache.cassandra.stress.util.JavaDriverClient.prepare(JavaDriverClient.java:96)
>         - waiting to lock <0x00000005c003d920> (a java.util.concurrent.ConcurrentHashMap)
>         at org.apache.cassandra.stress.operations.predefined.CqlOperation$JavaDriverWrapper.createPreparedStatement(CqlOperation.java:314)
>         at org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:77)
>         at org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:109)
>         at org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:261)
>         at org.apache.cassandra.stress.StressAction$Consumer.run(StressAction.java:327)
> "Thread-19" #244 prio=5 os_prio=0 tid=0x00007f3781820000 nid=0x46c3 waiting for monitor
entry [0x00007f36cc889000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>         at org.apache.cassandra.stress.util.JavaDriverClient.prepare(JavaDriverClient.java:96)
>         - waiting to lock <0x00000005c003d920> (a java.util.concurrent.ConcurrentHashMap)
>         at org.apache.cassandra.stress.operations.predefined.CqlOperation$JavaDriverWrapper.createPreparedStatement(CqlOperation.java:314)
>         at org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:77)
>         at org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:109)
>         at org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:261)
>         at org.apache.cassandra.stress.StressAction$Consumer.run(StressAction.java:327)
> {code}
> I was trying the same with with a smaller cluster (50 nodes) and it was working fine.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message