cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-9061) Add backoff and recovery to cqlsh COPY FROM when write timeouts occur
Date Thu, 30 Apr 2015 20:02:06 GMT


Tyler Hobbs updated CASSANDRA-9061:
    Attachment: 9061-suggested.txt

I think we can take a somewhat simpler approach.  I've attached a patch that is untested but
demonstrates roughly what I'm thinking of.  (Most of the diff is just an indentation change.)

I don't think we really need to track in-progress or successful operations.  We can rely on
the connection's {{in_flight}} count to know if there are in-progress operations.  Successful
operations don't require any further action.  We don't need to track the request ID, because
it's automatically released by the connection when it gets a response, and we can easily get
a new one.  Am I missing something in my suggested approach?

I think we're going to need a dtest to exercise this.  You could start from {{cqlsh_tests.TestCqlsh.test_copy_to()}},
setting a low enough write timeout that a large number of operations fail.

> Add backoff and recovery to cqlsh COPY FROM when write timeouts occur
> ---------------------------------------------------------------------
>                 Key: CASSANDRA-9061
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Tools
>            Reporter: Tyler Hobbs
>            Assignee: Carl Yeksigian
>            Priority: Minor
>              Labels: cqlsh
>             Fix For: 2.1.x
>         Attachments: 9061-2.1.txt, 9061-suggested.txt
> Previous versions of COPY FROM didn't handle write timeouts because it was rarely fast
enough for that to matter.  Now that performance has improved, write timeouts are more likely
to occur.  We should handle these by backing off and retrying the operation.

This message was sent by Atlassian JIRA

View raw message