cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-8592) Add WriteFailureException
Date Tue, 10 Mar 2015 18:22:40 GMT


Tyler Hobbs commented on CASSANDRA-8592:

bq. IOException is a checked exception so to rethrow it we need to change the signature of
IVerbHandler.doVerb(). Is this what you meant or did I misunderstand you?

Right, I think it would be fine to make it a checked exception.

bq. I found it easier to specify the keyspace that should have failed writes

That looks good to me.  Whatever negligible impact there is from checking a single, final
boolean here is worth it to be able to test the code.

bq. ccmlib/ needs to use JVM_OPTS instead of JVM_EXTRA_OPTS, as JVM_EXTRA_OPTS is not
used by bin/cassandra

Hmm, {{JVM_EXTRA_OPTS}} should still be picked by in {{}} when that's sourced.
 A quick test with ccm on the commandline seems to indicate that it works.

bq. {{python-driver/}} needed {{ReadFailure}} and {{WriteFailure}}

Those changes look good to me.  Thanks!

bq. I'm not sure how to best keep track of the changes in ccmlib, dtest and the python-driver.
I can create pull requests if required.

ccmlib changes can go in at any time (assuming we do need them).  Opening a pull request for
that is fine.

Dtests changes should normally be committed right after the Cassandra changes are committed.
 You can open a pull request for those as well.

As for the python driver, once the Cassandra changes are committed, we can start a ticket
at and link to a branch with our suggested
changes.  (The driver maintainer may want to take a different approach.)

A couple more review comments:
 * The javadoc for StorageProxy.hintMutations needs to be updated
 * Why did you make AbstractWriteResponseHandler generic?  It doesn't seem like that's required
or buys us anything.  If I've missed something and there is value in making it generic, it
looks like a few more changes are required (I spotted some usages in StorageProxy that don't
use the generic class version).
 * The new dtest module has a lot of unused imports
 * Since the dtest depends on having CURRENT_VERSION set to VERSION_4, go ahead and update
CURRENT_VERSION in your branch.

> Add WriteFailureException
> -------------------------
>                 Key: CASSANDRA-8592
>                 URL:
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: API, Core
>            Reporter: Tyler Hobbs
>            Assignee: Stefania
>              Labels: client-impacting
>             Fix For: 3.0
> Similar to what CASSANDRA-7886 did for reads, we should add a WriteFailureException and
have replicas signal a failure while handling a write to the coordinator.

This message was sent by Atlassian JIRA

View raw message