You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2009/05/06 16:59:30 UTC
[jira] Created: (CASSANDRA-140) allow user to specify how many
nodes to block for on reads and writes
allow user to specify how many nodes to block for on reads and writes
---------------------------------------------------------------------
Key: CASSANDRA-140
URL: https://issues.apache.org/jira/browse/CASSANDRA-140
Project: Cassandra
Issue Type: Improvement
Reporter: Jonathan Ellis
Fix For: 0.4
currently you only have block for zero (or one, on reads) or quorum. block for one (on writes), and all are also useful values. allow user to specify this as a number.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-140) allow user to specify how many
nodes to block for on reads and writes
Posted by "Michael Greene (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Greene updated CASSANDRA-140:
-------------------------------------
Component/s: Core
> allow user to specify how many nodes to block for on reads and writes
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-140
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Sandeep Tata
> Fix For: 0.4
>
> Attachments: CASSANDRA-140-storage.patch
>
>
> currently you only have block for zero (or one, on reads) or quorum. block for one (on writes), and all are also useful values. allow user to specify this as a number.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-140) allow user to specify how many
nodes to block for on reads and writes
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12707118#action_12707118 ]
Jonathan Ellis commented on CASSANDRA-140:
------------------------------------------
I'd like to wait to apply this until after we do a 0.3 RC and create a maintenance svn branch for that (hopefully tomorrow, but I am still finding fairly obvious bugs).
> allow user to specify how many nodes to block for on reads and writes
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-140
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Jonathan Ellis
> Assignee: Sandeep Tata
> Fix For: 0.4
>
> Attachments: CASSANDRA-140-storage.patch
>
>
> currently you only have block for zero (or one, on reads) or quorum. block for one (on writes), and all are also useful values. allow user to specify this as a number.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-140) allow user to specify how many
nodes to block for on reads and writes
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12706520#action_12706520 ]
Jonathan Ellis commented on CASSANDRA-140:
------------------------------------------
that's true, but "assuming the client connects to a node that owns the right set of rows" is an assumption that isn't going to hold true in the general case today, fwiw.
> allow user to specify how many nodes to block for on reads and writes
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-140
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Jonathan Ellis
> Fix For: 0.4
>
>
> currently you only have block for zero (or one, on reads) or quorum. block for one (on writes), and all are also useful values. allow user to specify this as a number.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-140) allow user to specify how many
nodes to block for on reads and writes
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12709540#action_12709540 ]
Jonathan Ellis commented on CASSANDRA-140:
------------------------------------------
I can't get the 140 patch to apply against trunk now. Does it apply for you?
> allow user to specify how many nodes to block for on reads and writes
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-140
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Jonathan Ellis
> Assignee: Sandeep Tata
> Fix For: 0.4
>
> Attachments: CASSANDRA-140-storage.patch
>
>
> currently you only have block for zero (or one, on reads) or quorum. block for one (on writes), and all are also useful values. allow user to specify this as a number.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-140) allow user to specify how many
nodes to block for on reads and writes
Posted by "Sandeep Tata (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12709575#action_12709575 ]
Sandeep Tata commented on CASSANDRA-140:
----------------------------------------
I'll remake the patch against trunk and post in a bit.
> allow user to specify how many nodes to block for on reads and writes
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-140
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Jonathan Ellis
> Assignee: Sandeep Tata
> Fix For: 0.4
>
> Attachments: CASSANDRA-140-storage.patch
>
>
> currently you only have block for zero (or one, on reads) or quorum. block for one (on writes), and all are also useful values. allow user to specify this as a number.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-140) allow user to specify how many
nodes to block for on reads and writes
Posted by "Sandeep Tata (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12706484#action_12706484 ]
Sandeep Tata commented on CASSANDRA-140:
----------------------------------------
A useful special-case of this is CASSANDRA-132, where you block for the local write (assuming the client connects to a node that owns the right set of rows). That should give you session-consistency.
> allow user to specify how many nodes to block for on reads and writes
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-140
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Jonathan Ellis
> Fix For: 0.4
>
>
> currently you only have block for zero (or one, on reads) or quorum. block for one (on writes), and all are also useful values. allow user to specify this as a number.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-140) allow user to specify how many
nodes to block for on reads and writes
Posted by "Sandeep Tata (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12706555#action_12706555 ]
Sandeep Tata commented on CASSANDRA-140:
----------------------------------------
Yes, agreed.
Here are the options we have for writes and reads (assuming replication = 3):
non-blocking write: Send 3 messages, return
blocking write: Send 3 messages, wait for a quorum (2) to respond *after* applying the writes
block-on-k write: Send 3 messages, wait for k to respond *after* applying the writes
Other options:
block-on-1st-endpoint: Send 3 messages, wait for the *first* endpoint to respond *after* applying the writes
block-on-1st-if-local: Send 3 messages, if one of the endpoints is local, wait for local endpoint to respond *after* applying the writes (can be faster than the previous one if client connects appropriately => gets session consistency for cheaper because weak reads will be served locally)
block-on-1st-endpoint won't give you session consistency because the 1st endpoint *may* change between a write and a read if there's been a failure. Since this failure will be transparent to the client's session, it may read an old value.
This is, of course, completely uninteresting to an app that doesn't need session-level read-your-writes.
> allow user to specify how many nodes to block for on reads and writes
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-140
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Jonathan Ellis
> Fix For: 0.4
>
>
> currently you only have block for zero (or one, on reads) or quorum. block for one (on writes), and all are also useful values. allow user to specify this as a number.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-140) allow user to specify how many
nodes to block for on reads and writes
Posted by "Sandeep Tata (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sandeep Tata updated CASSANDRA-140:
-----------------------------------
Attachment: CASSANDRA-140-storage.patch
Part1: makes the changes needed in the StorageProxy and the QuorumResponseHandler to admit # of nodes to block on.
I haven't added any new unit tests -- any ideas?
I'll put the thrift interface related changes in part2 and attach.
> allow user to specify how many nodes to block for on reads and writes
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-140
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Jonathan Ellis
> Assignee: Sandeep Tata
> Fix For: 0.4
>
> Attachments: CASSANDRA-140-storage.patch
>
>
> currently you only have block for zero (or one, on reads) or quorum. block for one (on writes), and all are also useful values. allow user to specify this as a number.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (CASSANDRA-140) allow user to specify how many
nodes to block for on reads and writes
Posted by "Sandeep Tata (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sandeep Tata reassigned CASSANDRA-140:
--------------------------------------
Assignee: Sandeep Tata
> allow user to specify how many nodes to block for on reads and writes
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-140
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Jonathan Ellis
> Assignee: Sandeep Tata
> Fix For: 0.4
>
>
> currently you only have block for zero (or one, on reads) or quorum. block for one (on writes), and all are also useful values. allow user to specify this as a number.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.