[jira] [Commented] (CASSANDRA-5062) Support CAS

2013-03-05 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13593211#comment-13593211
 ] 

Sylvain Lebresne commented on CASSANDRA-5062:
-

bq. When Acceptor receives proposal, if it doesn't check R, if Tm  Tn (clock 
mismatch) according to paxos it needs to send it's old accepted value

In my solution/proposal, a round is a fully separated Paxos instance (it's not 
just a proposal round for instance). Meaning that comparing a proposal 
timestamp Tn for Round R with a proposal timestamp Tm for another round R-1 
(which is the case you are talking about) makes no sense whatsoever and is thus 
never done. And it doesn't break Paxos exactly because we don't mix things from 
2 completely separated instance of the raw Paxos algorithm.



 Support CAS
 ---

 Key: CASSANDRA-5062
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5062
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Jonathan Ellis
 Fix For: 2.0

 Attachments: half-baked commit 1.jpg, half-baked commit 2.jpg, 
 half-baked commit 3.jpg


 Strong consistency is not enough to prevent race conditions.  The classic 
 example is user account creation: we want to ensure usernames are unique, so 
 we only want to signal account creation success if nobody else has created 
 the account yet.  But naive read-then-write allows clients to race and both 
 think they have a green light to create.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5310) New authentication module does not wok in multi datacenters in case of network outage

2013-03-05 Thread Cyril Scetbon (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-5310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cyril Scetbon updated CASSANDRA-5310:
-

Attachment: auth_fix_consistency.patch

Do not use QUORUM consistency with authentication

 New authentication module does not wok in multi datacenters in case of 
 network outage
 -

 Key: CASSANDRA-5310
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5310
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.2
 Environment: Ubuntu 12.04
 Cluster of 16 nodes in 2 datacenters (8 nodes in each datacenter)
Reporter: jal
Assignee: Aleksey Yeschenko
 Attachments: auth_fix_consistency.patch


 With 1.2.2, I am using the new authentication backend PasswordAuthenticator 
 with the authorizer CassandraAuthorizer
 In case of network outage, we are no more able to connect to Cassandra.
 Here is the error message we get when I want to connect through cqlsh:
 Traceback (most recent call last):
   File ./cqlsh, line 2262, in module
 main(*read_options(sys.argv[1:], os.environ))
   File ./cqlsh, line 2248, in main
 display_float_precision=options.float_precision)
   File ./cqlsh, line 483, in __init__
 cql_version=cqlver, transport=transport)
 File ./../lib/cql-internal-only-1.4.0.zip/cql-1.4.0/cql/connection.py, line 
 143, in connect
   File ./../lib/cql-internal-only-1.4.0.zip/cql-1.4.0/cql/connection.py, 
 line 59, in __init__
   File ./../lib/cql-internal-only-1.4.0.zip/cql-1.4.0/cql/thrifteries.py, 
 line 157, in establish_connection
   File 
 ./../lib/cql-internal-only-1.4.0.zip/cql-1.4.0/cql/cassandra/Cassandra.py, 
 line 455, in login
   File 
 ./../lib/cql-internal-only-1.4.0.zip/cql-1.4.0/cql/cassandra/Cassandra.py, 
 line 476, in recv_login
 cql.cassandra.ttypes.AuthenticationException: 
 AuthenticationException(why='org.apache.cassandra.exceptions.UnavailableException:
  Cannot achieve consistency level QUORUM')

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5062) Support CAS

2013-03-05 Thread Cristian Opris (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13593457#comment-13593457
 ] 

Cristian Opris commented on CASSANDRA-5062:
---

I understand what you mean by terminology but this is not where the confusion 
is coming from.

My commit C1,C2 etc is your learn, agreed. My accept is your commit.

It may be a bit confusing because I'm not detailing everything in the diagram

So when Z goes into C1, that implies: it receives accept from Y, it commits 
(i.e. writes) the value locally
and then it sends learn message to X and Y, which might fail without Z having 
any record of that.

I know this is not the exact behaviour in your algoritm. I'm not sure how the 
leader commits (learns) the value locally, is it because it ends 
up calling receive(LEARN) locally (i.e. acting as acceptor as well) ?

But this doesn't change my point.

*My point is the learn can fail without the leader being aware, which leads to 
a state where each replica is at a different 
stage of learning. Even if the paxos round states are correct in terms of 
accepted values (what you call commit), they are not finished in 
terms of learning*


 Support CAS
 ---

 Key: CASSANDRA-5062
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5062
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Jonathan Ellis
 Fix For: 2.0

 Attachments: half-baked commit 1.jpg, half-baked commit 2.jpg, 
 half-baked commit 3.jpg


 Strong consistency is not enough to prevent race conditions.  The classic 
 example is user account creation: we want to ensure usernames are unique, so 
 we only want to signal account creation success if nobody else has created 
 the account yet.  But naive read-then-write allows clients to race and both 
 think they have a green light to create.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-3929) Support row size limits

2013-03-05 Thread Ahmet AKYOL (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-3929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13593738#comment-13593738
 ] 

Ahmet AKYOL commented on CASSANDRA-3929:


[~rbranson]: thanks for the explanation. I also want to get it for free but 
what I tried to say is as a user, I am OK with extra cql if it's necessary  . 
I was thinking something similar to a redis pipeline which starts with adding 
data with zadd and after that limiting data with zremrangeByRank as in your 
words if the data is time-ordered 

About the requirement reading the entire row, let's first revisit our use 
cases for this limited row size type tables. Why we want them? Most probably 
we already have tables for our big data (that's why we use and love C*), but 
we need a special cache for hot data that's why it's a blocker to move from 
Redis to C* for some storage. So, what about C*'s row cache ? unfortunately, 
not an option because we may need data from many tables or we need only (most 
recent) portion of the wide rows, not all of them. So,once again, what we 
really want from this issue is indeed, a special cache table and that's why 
reading the entire row is not a problem beacuse we want the entire row on 
memory when it's hot.

once more, just my two cents, no intention to interrupt your development 
process. Just see me as the business (user) side and remember the principle 
business people and developers must work together daily throughout the 
project of [agile manifesto|http://agilemanifesto.org/principles.html]

 Support row size limits
 ---

 Key: CASSANDRA-3929
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3929
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Jonathan Ellis
Assignee: Dave Brosius
Priority: Minor
  Labels: ponies
 Fix For: 2.0

 Attachments: 3929_b.txt, 3929_c.txt, 3929_d.txt, 3929_e.txt, 
 3929_f.txt, 3929_g_tests.txt, 3929_g.txt, 3929.txt


 We currently support expiring columns by time-to-live; we've also had 
 requests for keeping the most recent N columns in a row.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira