[
https://issues.apache.org/jira/browse/CASSANDRA-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14355393#comment-14355393
]
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/node.py 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 {{cassandra-env.sh}} when
that's sourced. A quick test with ccm on the commandline seems to indicate
that it works.
bq. {{python-driver/_init_.py}} 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 https://datastax-oss.atlassian.net/projects/PYTHON 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: https://issues.apache.org/jira/browse/CASSANDRA-8592
> 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
(v6.3.4#6332)