You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Eduard Tudenhoefner (JIRA)" <ji...@apache.org> on 2016/11/22 09:12:59 UTC

[jira] [Comment Edited] (CASSANDRA-12938) cassandra-stress hangs on error

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

Eduard Tudenhoefner edited comment on CASSANDRA-12938 at 11/22/16 9:12 AM:
---------------------------------------------------------------------------

It looks like this got introduced with CASSANDRA-11853 (3.8) where we wait in https://github.com/apache/cassandra/blob/cassandra-3.X/tools/stress/src/org/apache/cassandra/stress/StressAction.java#L239-L239 until the consumers got started. 

The *start* is counted down in https://github.com/apache/cassandra/blob/cassandra-3.X/tools/stress/src/org/apache/cassandra/stress/StressAction.java#L443. The problem however is that if anything fails in https://github.com/apache/cassandra/blob/cassandra-3.X/tools/stress/src/org/apache/cassandra/stress/StressAction.java#L425-L440 because of wrong credentials / non-existing keyspace / ..., we wait forever.

My proposal is to move the count down above the mentioned code.

Here's the patch: https://github.com/nastra/cassandra/tree/CASSANDRA-12938-3.X




was (Author: eduard.tudenhoefner):
It looks like this got introduced with CASSANDRA-11853 (3.8) where we wait in https://github.com/apache/cassandra/blob/cassandra-3.X/tools/stress/src/org/apache/cassandra/stress/StressAction.java#L239-L239 until the consumers got started. 

The *start* is counted down in https://github.com/apache/cassandra/blob/cassandra-3.X/tools/stress/src/org/apache/cassandra/stress/StressAction.java#L443. The problem however is that if anything fails in https://github.com/apache/cassandra/blob/cassandra-3.X/tools/stress/src/org/apache/cassandra/stress/StressAction.java#L425-L440 (which is what's happening), we wait forever.

My proposal is to move the count down above the mentioned code.

Here's the patch: https://github.com/nastra/cassandra/tree/CASSANDRA-12938-3.X



> cassandra-stress hangs on error
> -------------------------------
>
>                 Key: CASSANDRA-12938
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12938
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>            Reporter: James Falcon
>            Assignee: Eduard Tudenhoefner
>             Fix For: 3.x
>
>
> After encountering a fatal error, cassandra-stress hangs. Having not run a previous stress write, can be reproduced with:
> {code}
> cassandra-stress read n=1000 -rate threads=2
> {code}
> Here's the full output
> {code}
> ******************** Stress Settings ********************
> Command:
>   Type: read
>   Count: 1,000
>   No Warmup: false
>   Consistency Level: LOCAL_ONE
>   Target Uncertainty: not applicable
>   Key Size (bytes): 10
>   Counter Increment Distibution: add=fixed(1)
> Rate:
>   Auto: false
>   Thread Count: 2
>   OpsPer Sec: 0
> Population:
>   Distribution: Gaussian:  min=1,max=1000,mean=500.500000,stdev=166.500000
>   Order: ARBITRARY
>   Wrap: false
> Insert:
>   Revisits: Uniform:  min=1,max=1000000
>   Visits: Fixed:  key=1
>   Row Population Ratio: Ratio: divisor=1.000000;delegate=Fixed:  key=1
>   Batch Type: not batching
> Columns:
>   Max Columns Per Key: 5
>   Column Names: [C0, C1, C2, C3, C4]
>   Comparator: AsciiType
>   Timestamp: null
>   Variable Column Count: false
>   Slice: false
>   Size Distribution: Fixed:  key=34
>   Count Distribution: Fixed:  key=5
> Errors:
>   Ignore: false
>   Tries: 10
> Log:
>   No Summary: false
>   No Settings: false
>   File: null
>   Interval Millis: 1000
>   Level: NORMAL
> Mode:
>   API: JAVA_DRIVER_NATIVE
>   Connection Style: CQL_PREPARED
>   CQL Version: CQL3
>   Protocol Version: V4
>   Username: null
>   Password: null
>   Auth Provide Class: null
>   Max Pending Per Connection: 128
>   Connections Per Host: 8
>   Compression: NONE
> Node:
>   Nodes: [localhost]
>   Is White List: false
>   Datacenter: null
> Schema:
>   Keyspace: keyspace1
>   Replication Strategy: org.apache.cassandra.locator.SimpleStrategy
>   Replication Strategy Pptions: {replication_factor=1}
>   Table Compression: null
>   Table Compaction Strategy: null
>   Table Compaction Strategy Options: {}
> Transport:
>   factory=org.apache.cassandra.thrift.TFramedTransportFactory; truststore=null; truststore-password=null; keystore=null; keystore-password=null; ssl-protocol=TLS; ssl-alg=SunX509; store-type=JKS; ssl-ciphers=TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA; 
> Port:
>   Native Port: 9042
>   Thrift Port: 9160
>   JMX Port: 9042
> Send To Daemon:
>   *not set*
> Graph:
>   File: null
>   Revision: unknown
>   Title: null
>   Operation: READ
> TokenRange:
>   Wrap: false
>   Split Factor: 1
> Sleeping 2s...
> Warming up READ with 250 iterations...
> Connected to cluster: falcon-test2, max pending requests per connection 128, max connections per host 8
> Datatacenter: Cassandra; Host: localhost/127.0.0.1; Rack: rack1
> Failed to connect over JMX; not collecting these stats
> Connected to cluster: falcon-test2, max pending requests per connection 128, max connections per host 8
> Datatacenter: Cassandra; Host: localhost/127.0.0.1; Rack: rack1
> com.datastax.driver.core.exceptions.InvalidQueryException: Keyspace 'keyspace1' does not exist
> Connected to cluster: falcon-test2, max pending requests per connection 128, max connections per host 8
> Datatacenter: Cassandra; Host: localhost/127.0.0.1; Rack: rack1
> com.datastax.driver.core.exceptions.InvalidQueryException: Keyspace 'keyspace1' does not exist
> {code}



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