git commit: ninja very slightly tweak cqlsh completion

2012-11-28 Thread aleksey
Updated Branches:
  refs/heads/cassandra-1.2.0 5a3eb1a6c - 25d95377d


ninja very slightly tweak cqlsh completion


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/25d95377
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/25d95377
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/25d95377

Branch: refs/heads/cassandra-1.2.0
Commit: 25d95377dba23b7918d2c6902a89ed063e30b503
Parents: 5a3eb1a
Author: Aleksey Yeschenko alek...@apache.org
Authored: Wed Nov 28 13:55:55 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Wed Nov 28 13:55:55 2012 +0300

--
 pylib/cqlshlib/cql3handling.py |   15 +--
 1 files changed, 9 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/25d95377/pylib/cqlshlib/cql3handling.py
--
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 1ef9dcb..254e62a 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -251,9 +251,7 @@ JUNK ::= /([ 
\t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
   | selectStatement
   | dataChangeStatement
   | schemaChangeStatement
-  | grantStatement
-  | revokeStatement
-  | listGrantsStatement
+  | authorizationStatement
   ;
 
 dataChangeStatement ::= insertStatement
@@ -273,6 +271,11 @@ JUNK ::= /([ 
\t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
   | alterKeyspaceStatement
   ;
 
+authorizationStatement ::= | grantStatement
+ | revokeStatement
+ | listPermissionsStatement
+ ;
+
 # timestamp is included here, since it's also a keyword
 simpleStorageType ::= typename=( identifier | stringLiteral | 
K_TIMESTAMP ) ;
 
@@ -1237,9 +1240,9 @@ syntax_rules += r'''
 revokeStatement ::= REVOKE permissionExpr ON resource FROM 
username
 ;
 
-listGrantsStatement ::= LIST permissionExpr
-  ( ON resource )? ( OF username )? 
NORECURSIVE?
-;
+listPermissionsStatement ::= LIST permissionExpr
+( ON resource )? ( OF username )? 
NORECURSIVE?
+ ;
 
 permission ::= AUTHORIZE
| CREATE



[1/2] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-11-28 Thread aleksey
Updated Branches:
  refs/heads/cassandra-1.2 fbd640063 - 3a92236a2


Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3a92236a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3a92236a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3a92236a

Branch: refs/heads/cassandra-1.2
Commit: 3a92236a249a6f8a0808736e5171b9debdb2a979
Parents: fbd6400 25d9537
Author: Aleksey Yeschenko alek...@apache.org
Authored: Wed Nov 28 13:56:58 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Wed Nov 28 13:56:58 2012 +0300

--
 pylib/cqlshlib/cql3handling.py |   15 +--
 1 files changed, 9 insertions(+), 6 deletions(-)
--




[2/2] git commit: ninja very slightly tweak cqlsh completion

2012-11-28 Thread aleksey
ninja very slightly tweak cqlsh completion


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/25d95377
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/25d95377
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/25d95377

Branch: refs/heads/cassandra-1.2
Commit: 25d95377dba23b7918d2c6902a89ed063e30b503
Parents: 5a3eb1a
Author: Aleksey Yeschenko alek...@apache.org
Authored: Wed Nov 28 13:55:55 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Wed Nov 28 13:55:55 2012 +0300

--
 pylib/cqlshlib/cql3handling.py |   15 +--
 1 files changed, 9 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/25d95377/pylib/cqlshlib/cql3handling.py
--
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 1ef9dcb..254e62a 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -251,9 +251,7 @@ JUNK ::= /([ 
\t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
   | selectStatement
   | dataChangeStatement
   | schemaChangeStatement
-  | grantStatement
-  | revokeStatement
-  | listGrantsStatement
+  | authorizationStatement
   ;
 
 dataChangeStatement ::= insertStatement
@@ -273,6 +271,11 @@ JUNK ::= /([ 
\t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
   | alterKeyspaceStatement
   ;
 
+authorizationStatement ::= | grantStatement
+ | revokeStatement
+ | listPermissionsStatement
+ ;
+
 # timestamp is included here, since it's also a keyword
 simpleStorageType ::= typename=( identifier | stringLiteral | 
K_TIMESTAMP ) ;
 
@@ -1237,9 +1240,9 @@ syntax_rules += r'''
 revokeStatement ::= REVOKE permissionExpr ON resource FROM 
username
 ;
 
-listGrantsStatement ::= LIST permissionExpr
-  ( ON resource )? ( OF username )? 
NORECURSIVE?
-;
+listPermissionsStatement ::= LIST permissionExpr
+( ON resource )? ( OF username )? 
NORECURSIVE?
+ ;
 
 permission ::= AUTHORIZE
| CREATE



[1/3] git commit: Merge branch 'cassandra-1.2' into trunk

2012-11-28 Thread aleksey
Updated Branches:
  refs/heads/trunk 9c0a1986a - be3a22906


Merge branch 'cassandra-1.2' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/be3a2290
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/be3a2290
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/be3a2290

Branch: refs/heads/trunk
Commit: be3a229068ddea7af334beb53175ebb02ce06174
Parents: 9c0a198 3a92236
Author: Aleksey Yeschenko alek...@apache.org
Authored: Wed Nov 28 13:57:45 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Wed Nov 28 13:57:45 2012 +0300

--
 pylib/cqlshlib/cql3handling.py |   15 +--
 1 files changed, 9 insertions(+), 6 deletions(-)
--




[2/3] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-11-28 Thread aleksey
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3a92236a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3a92236a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3a92236a

Branch: refs/heads/trunk
Commit: 3a92236a249a6f8a0808736e5171b9debdb2a979
Parents: fbd6400 25d9537
Author: Aleksey Yeschenko alek...@apache.org
Authored: Wed Nov 28 13:56:58 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Wed Nov 28 13:56:58 2012 +0300

--
 pylib/cqlshlib/cql3handling.py |   15 +--
 1 files changed, 9 insertions(+), 6 deletions(-)
--




[3/3] git commit: ninja very slightly tweak cqlsh completion

2012-11-28 Thread aleksey
ninja very slightly tweak cqlsh completion


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/25d95377
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/25d95377
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/25d95377

Branch: refs/heads/trunk
Commit: 25d95377dba23b7918d2c6902a89ed063e30b503
Parents: 5a3eb1a
Author: Aleksey Yeschenko alek...@apache.org
Authored: Wed Nov 28 13:55:55 2012 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Wed Nov 28 13:55:55 2012 +0300

--
 pylib/cqlshlib/cql3handling.py |   15 +--
 1 files changed, 9 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/25d95377/pylib/cqlshlib/cql3handling.py
--
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 1ef9dcb..254e62a 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -251,9 +251,7 @@ JUNK ::= /([ 
\t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
   | selectStatement
   | dataChangeStatement
   | schemaChangeStatement
-  | grantStatement
-  | revokeStatement
-  | listGrantsStatement
+  | authorizationStatement
   ;
 
 dataChangeStatement ::= insertStatement
@@ -273,6 +271,11 @@ JUNK ::= /([ 
\t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
   | alterKeyspaceStatement
   ;
 
+authorizationStatement ::= | grantStatement
+ | revokeStatement
+ | listPermissionsStatement
+ ;
+
 # timestamp is included here, since it's also a keyword
 simpleStorageType ::= typename=( identifier | stringLiteral | 
K_TIMESTAMP ) ;
 
@@ -1237,9 +1240,9 @@ syntax_rules += r'''
 revokeStatement ::= REVOKE permissionExpr ON resource FROM 
username
 ;
 
-listGrantsStatement ::= LIST permissionExpr
-  ( ON resource )? ( OF username )? 
NORECURSIVE?
-;
+listPermissionsStatement ::= LIST permissionExpr
+( ON resource )? ( OF username )? 
NORECURSIVE?
+ ;
 
 permission ::= AUTHORIZE
| CREATE



[jira] [Commented] (CASSANDRA-4651) RangeStreamer fails the bootstrap process if any node streaming data fails.

2012-11-28 Thread Ivan Sobolev (JIRA)

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

Ivan Sobolev commented on CASSANDRA-4651:
-

Also it seems that as a result newjoiner node may accept responsibility for 
token range it has no/partial data for. 

 RangeStreamer fails the bootstrap process if any node streaming data fails.
 ---

 Key: CASSANDRA-4651
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4651
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.1.5
Reporter: sankalp kohli
Priority: Minor

 If any node streaming the data fails, RangeStreamer throws a Runtime 
 exception and aborts the bootstrap. If the N = 3, it can stream data from 
 some other node and need not fail the bootstrap process. 

--
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-4999) CQL2 returns empty results from song_tags

2012-11-28 Thread Kristine Hahn (JIRA)

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

Kristine Hahn updated CASSANDRA-4999:
-

Summary: CQL2 returns empty results from song_tags  (was: 1.2.0-beta2 does 
returns empty results from song_tags in CQL2)

 CQL2 returns empty results from song_tags
 -

 Key: CASSANDRA-4999
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4999
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 2
Reporter: Kristine Hahn
Priority: Trivial

 To reproduce the problem:
 1. start CQL2 ./cqlsh --cql2
 Connected to Test Cluster at localhost:9160.
 [cqlsh 2.3.0 | Cassandra 0.0.0 | CQL spec 2.0.0 | Thrift protocol 19.35.0]
 2. create a keyspace and use it.
 3. create the tables and insert data:
 CREATE COLUMNFAMILY songs (id uuid PRIMARY KEY, title text, album text, 
 artist text, data blob);
 CREATE COLUMNFAMILY song_tags (id uuid PRIMARY KEY) WITH comparator=text;
 insert into songs (id, title, artist, album) values 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', 'La Grange', 'ZZ Top', 'Tres 
 Hombres');
 insert into songs (id, title, artist, album) values 
 ('8a172618-b121-4136-bb10-f665cfc469eb', 'Moving in Stereo', 'Fu Manchu', 'We 
 Must Obey');
 insert into songs (id, title, artist, album) values 
 ('62c36092-82a1-3a00-93d1-46196ee77204', 'Outside Woman Blues', 'Back Door 
 Slam', 'Roll Away');
 insert into song_tags ('id', 'blues', '1973') values 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', '', '');
 insert into song_tags ('id', 'covers', '2007') values 
 ('8a172618-b121-4136-bb10-f665cfc469eb', '', '');
 4. Select * from song_tags;
 Expected result: 
 id,8a172618-b121-4136-bb10-f665cfc469eb | 2007, | covers,
 id,a3e64f8f-bd44-4f28-b8d9-6938726e34d4 | 1973, | blues,
 Actual result:
 none

--
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-4482) In-memory merkle trees for repair

2012-11-28 Thread Stefan Fleiter (JIRA)

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

Stefan Fleiter commented on CASSANDRA-4482:
---

This solutions seems conceptionally simpler and more robust to me than hinted 
handoff.
* No additional write load is added
* No necessary knowledge of other nodes state
* Repair can be controlled by each node themselves
* If a repair gets interrupted it can be restarted easily
* Existing Hinted Handoff problems are large in count
** A search for open Cassandra Hinted Handoff bugs results in a list of over 
500 issues

So a usage scenario for In-memory merkle trees for repair might be to let 
this replace HH entirely.

 In-memory merkle trees for repair
 -

 Key: CASSANDRA-4482
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4482
 Project: Cassandra
  Issue Type: New Feature
Reporter: Marcus Eriksson

 this sounds cool, we should reimplement it in the open source cassandra;
 http://www.acunu.com/2/post/2012/07/incremental-repair.html

--
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-4762) Support multiple OR clauses for CQL3 Compact storage

2012-11-28 Thread T Jake Luciani (JIRA)

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

T Jake Luciani updated CASSANDRA-4762:
--

Attachment: 4762-1.txt

 Support multiple OR clauses for CQL3 Compact storage
 

 Key: CASSANDRA-4762
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4762
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: T Jake Luciani
Assignee: T Jake Luciani
 Fix For: 1.2.1

 Attachments: 4762-1.txt


 Given CASSANDRA-3885
 It seems it should be possible to store multiple ranges for many predicates 
 even the inner parts of a composite column.
 They could be expressed as a expanded set of filter queries.
 example:
 {code}
 CREATE TABLE test (
name text,
tdate timestamp,
tdate2 timestamp,
tdate3 timestamp,
num double,
PRIMARY KEY(key,tdate,tdate2,tdate3)
  ) WITH COMPACT STORAGE;
 SELECT * FROM test WHERE 
   name IN ('a','b') and
   tdate IN ('2010-01-01','2011-01-01') and
   tdate2 IN ('2010-01-01','2011-01-01') and
   tdate3 IN ('2010-01-01','2011-01-01') and
   num  1.0
 {code}

--
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] [Created] (CASSANDRA-5000) Null pointer exception in SecondaryIndexManager.getIndexKeyFor in Cassandra 1.1.x

2012-11-28 Thread David Tootill (JIRA)
David Tootill created CASSANDRA-5000:


 Summary: Null pointer exception in 
SecondaryIndexManager.getIndexKeyFor in Cassandra 1.1.x 
 Key: CASSANDRA-5000
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5000
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.6, 1.1.5, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1.0
 Environment: Linux (exact environment doesn't appear to be relevant; 
reproduced on RedHat and Centos)
Reporter: David Tootill
Priority: Critical


Cassandra 1.1.0 and following releases gets an NPE in SecondaryIndexManager 
writing a CF with multiple secondary keys.   Problem did not occur in 1.0.x, 
and can be resolved by downgrading the Cassandra server.   Stack trace is:

ERROR [MutationStage:47] 2012-11-28 11:24:30,865 AbstractCassandraDaemon.java 
(line 134) Exception in thread Thread[MutationStage:47,5,main]
java.lang.RuntimeException: java.lang.NullPointerException
at 
org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1254)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NullPointerException
at 
org.apache.cassandra.db.index.SecondaryIndexManager.getIndexKeyFor(SecondaryIndexManager.java:299)
at 
org.apache.cassandra.db.index.SecondaryIndexManager.applyIndexUpdates(SecondaryIndexManager.java:463)
at org.apache.cassandra.db.Table.apply(Table.java:459)
at org.apache.cassandra.db.Table.apply(Table.java:384)
at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:294)
at 
org.apache.cassandra.service.StorageProxy$6.runMayThrow(StorageProxy.java:453)
at 
org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1250)

Client stack trace is:

me.prettyprint.hector.api.exceptions.HTimedOutException: TimedOutException()
at 
me.prettyprint.cassandra.service.ExceptionsTranslatorImpl.translate(ExceptionsTranslatorImpl.java:35)[hector-core-1.0-5.jar:]
at 
me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:264)[hector-core-1.0-5.jar:]
at 
me.prettyprint.cassandra.model.ExecutingKeyspace.doExecuteOperation(ExecutingKeyspace.java:97)[hector-core-1.0-5.jar:]
at 
me.prettyprint.cassandra.model.MutatorImpl.execute(MutatorImpl.java:243)[hector-core-1.0-5.jar:]
... 3 more

--
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-5000) Null pointer exception in SecondaryIndexManager.getIndexKeyFor in Cassandra 1.1.x

2012-11-28 Thread David Tootill (JIRA)

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

David Tootill updated CASSANDRA-5000:
-

Attachment: stdlog.txt
system.log

system.log is Cassandra 1.1.4 system.log
stdlog.txt is client log

 Null pointer exception in SecondaryIndexManager.getIndexKeyFor in Cassandra 
 1.1.x 
 --

 Key: CASSANDRA-5000
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5000
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6
 Environment: Linux (exact environment doesn't appear to be relevant; 
 reproduced on RedHat and Centos)
Reporter: David Tootill
Priority: Critical
 Attachments: stdlog.txt, system.log


 Cassandra 1.1.0 and following releases gets an NPE in SecondaryIndexManager 
 writing a CF with multiple secondary keys.   Problem did not occur in 1.0.x, 
 and can be resolved by downgrading the Cassandra server.   Stack trace is:
 ERROR [MutationStage:47] 2012-11-28 11:24:30,865 AbstractCassandraDaemon.java 
 (line 134) Exception in thread Thread[MutationStage:47,5,main]
 java.lang.RuntimeException: java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1254)
   at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   at java.lang.Thread.run(Thread.java:722)
 Caused by: java.lang.NullPointerException
   at 
 org.apache.cassandra.db.index.SecondaryIndexManager.getIndexKeyFor(SecondaryIndexManager.java:299)
   at 
 org.apache.cassandra.db.index.SecondaryIndexManager.applyIndexUpdates(SecondaryIndexManager.java:463)
   at org.apache.cassandra.db.Table.apply(Table.java:459)
   at org.apache.cassandra.db.Table.apply(Table.java:384)
   at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:294)
   at 
 org.apache.cassandra.service.StorageProxy$6.runMayThrow(StorageProxy.java:453)
   at 
 org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1250)
 Client stack trace is:
 me.prettyprint.hector.api.exceptions.HTimedOutException: TimedOutException()
   at 
 me.prettyprint.cassandra.service.ExceptionsTranslatorImpl.translate(ExceptionsTranslatorImpl.java:35)[hector-core-1.0-5.jar:]
   at 
 me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:264)[hector-core-1.0-5.jar:]
   at 
 me.prettyprint.cassandra.model.ExecutingKeyspace.doExecuteOperation(ExecutingKeyspace.java:97)[hector-core-1.0-5.jar:]
   at 
 me.prettyprint.cassandra.model.MutatorImpl.execute(MutatorImpl.java:243)[hector-core-1.0-5.jar:]
   ... 3 more

--
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] [Created] (CASSANDRA-5001) Generated time-based UUID don't conform to the spec

2012-11-28 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-5001:
---

 Summary: Generated time-based UUID don't conform to the spec
 Key: CASSANDRA-5001
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5001
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.0


When UUIDGen layout the clock sequence and and node part of version 1 UUID, it 
does so with
{noformat}
private long getClockSeqAndNode(InetAddress addr)
{
long lsb = 0;
lsb |= (clock  0x3f00L)  56; // was 58?
lsb |= 0x0080;
lsb |= (clock  0x00ffL)  48;
lsb |= makeNode(addr);
return lsb;
}
{noformat}
This is not correct however, as this layout the clock seq (and variant) on the 
right-most part of the lsb while it should be on the left-most one.

At a minimum, the generated UUID don't fully respect the spec since the variant 
is not set correctly. But it also means that the clock seq bits end up being 
all 0's (as can be trivially seen in the string representation of the generated 
UUIDs).

Note that none of those is a huge huge deal as there is still largely enough 
random bytes to ensure that two different nodes won't end up with the same lsb. 
And having the variant wrong has probably no practical implementation. There is 
no reason not to fix those though.

One other small details is that the getAdjustedTimestamp as a sign error so 
that it returns completely broken timestamps. That being said the method is 
currently unused so that's not a big deal. I'm attaching a fix for that part 
too because that method might be useful someday but I won't shed a tear if we 
prefer just removing it.

I'm marking this for 1.2 because I'm not sure it's worth bothering with 1.1.

--
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-5001) Generated time-based UUID don't conform to the spec

2012-11-28 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-5001:


Attachment: 5001.txt

 Generated time-based UUID don't conform to the spec
 ---

 Key: CASSANDRA-5001
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5001
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.0

 Attachments: 5001.txt


 When UUIDGen layout the clock sequence and and node part of version 1 UUID, 
 it does so with
 {noformat}
 private long getClockSeqAndNode(InetAddress addr)
 {
 long lsb = 0;
 lsb |= (clock  0x3f00L)  56; // was 58?
 lsb |= 0x0080;
 lsb |= (clock  0x00ffL)  48;
 lsb |= makeNode(addr);
 return lsb;
 }
 {noformat}
 This is not correct however, as this layout the clock seq (and variant) on 
 the right-most part of the lsb while it should be on the left-most one.
 At a minimum, the generated UUID don't fully respect the spec since the 
 variant is not set correctly. But it also means that the clock seq bits end 
 up being all 0's (as can be trivially seen in the string representation of 
 the generated UUIDs).
 Note that none of those is a huge huge deal as there is still largely enough 
 random bytes to ensure that two different nodes won't end up with the same 
 lsb. And having the variant wrong has probably no practical implementation. 
 There is no reason not to fix those though.
 One other small details is that the getAdjustedTimestamp as a sign error so 
 that it returns completely broken timestamps. That being said the method is 
 currently unused so that's not a big deal. I'm attaching a fix for that part 
 too because that method might be useful someday but I won't shed a tear if we 
 prefer just removing it.
 I'm marking this for 1.2 because I'm not sure it's worth bothering with 1.1.

--
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-4999) CQL2 returns empty results from song_tags

2012-11-28 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-4999:
-

This appears to just be a problem in cqlsh, if you only insert one tag it 
works, but with more it just seems to print whitespace.

 CQL2 returns empty results from song_tags
 -

 Key: CASSANDRA-4999
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4999
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 2
Reporter: Kristine Hahn
Priority: Trivial

 To reproduce the problem:
 1. start CQL2 ./cqlsh --cql2
 Connected to Test Cluster at localhost:9160.
 [cqlsh 2.3.0 | Cassandra 0.0.0 | CQL spec 2.0.0 | Thrift protocol 19.35.0]
 2. create a keyspace and use it.
 3. create the tables and insert data:
 CREATE COLUMNFAMILY songs (id uuid PRIMARY KEY, title text, album text, 
 artist text, data blob);
 CREATE COLUMNFAMILY song_tags (id uuid PRIMARY KEY) WITH comparator=text;
 insert into songs (id, title, artist, album) values 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', 'La Grange', 'ZZ Top', 'Tres 
 Hombres');
 insert into songs (id, title, artist, album) values 
 ('8a172618-b121-4136-bb10-f665cfc469eb', 'Moving in Stereo', 'Fu Manchu', 'We 
 Must Obey');
 insert into songs (id, title, artist, album) values 
 ('62c36092-82a1-3a00-93d1-46196ee77204', 'Outside Woman Blues', 'Back Door 
 Slam', 'Roll Away');
 insert into song_tags ('id', 'blues', '1973') values 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', '', '');
 insert into song_tags ('id', 'covers', '2007') values 
 ('8a172618-b121-4136-bb10-f665cfc469eb', '', '');
 4. Select * from song_tags;
 Expected result: 
 id,8a172618-b121-4136-bb10-f665cfc469eb | 2007, | covers,
 id,a3e64f8f-bd44-4f28-b8d9-6938726e34d4 | 1973, | blues,
 Actual result:
 none

--
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] [Assigned] (CASSANDRA-4999) CQL2 returns empty results from song_tags

2012-11-28 Thread Brandon Williams (JIRA)

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

Brandon Williams reassigned CASSANDRA-4999:
---

Assignee: Aleksey Yeschenko

 CQL2 returns empty results from song_tags
 -

 Key: CASSANDRA-4999
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4999
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 2
Reporter: Kristine Hahn
Assignee: Aleksey Yeschenko
Priority: Trivial

 To reproduce the problem:
 1. start CQL2 ./cqlsh --cql2
 Connected to Test Cluster at localhost:9160.
 [cqlsh 2.3.0 | Cassandra 0.0.0 | CQL spec 2.0.0 | Thrift protocol 19.35.0]
 2. create a keyspace and use it.
 3. create the tables and insert data:
 CREATE COLUMNFAMILY songs (id uuid PRIMARY KEY, title text, album text, 
 artist text, data blob);
 CREATE COLUMNFAMILY song_tags (id uuid PRIMARY KEY) WITH comparator=text;
 insert into songs (id, title, artist, album) values 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', 'La Grange', 'ZZ Top', 'Tres 
 Hombres');
 insert into songs (id, title, artist, album) values 
 ('8a172618-b121-4136-bb10-f665cfc469eb', 'Moving in Stereo', 'Fu Manchu', 'We 
 Must Obey');
 insert into songs (id, title, artist, album) values 
 ('62c36092-82a1-3a00-93d1-46196ee77204', 'Outside Woman Blues', 'Back Door 
 Slam', 'Roll Away');
 insert into song_tags ('id', 'blues', '1973') values 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', '', '');
 insert into song_tags ('id', 'covers', '2007') values 
 ('8a172618-b121-4136-bb10-f665cfc469eb', '', '');
 4. Select * from song_tags;
 Expected result: 
 id,8a172618-b121-4136-bb10-f665cfc469eb | 2007, | covers,
 id,a3e64f8f-bd44-4f28-b8d9-6938726e34d4 | 1973, | blues,
 Actual result:
 none

--
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-4482) In-memory merkle trees for repair

2012-11-28 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4482:
---

bq. It is possible for the incremental MTs to miss a few inserts that happen 
when the replicas involved swap out their MTs for new ones

Replacing HH with something less robust is not very attractive to me.

 In-memory merkle trees for repair
 -

 Key: CASSANDRA-4482
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4482
 Project: Cassandra
  Issue Type: New Feature
Reporter: Marcus Eriksson

 this sounds cool, we should reimplement it in the open source cassandra;
 http://www.acunu.com/2/post/2012/07/incremental-repair.html

--
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-5000) Null pointer exception in SecondaryIndexManager.getIndexKeyFor in Cassandra 1.1.x

2012-11-28 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5000:
---

Go ahead and give an example cqlsh schema and queries to reproduce.

 Null pointer exception in SecondaryIndexManager.getIndexKeyFor in Cassandra 
 1.1.x 
 --

 Key: CASSANDRA-5000
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5000
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6
 Environment: Linux (exact environment doesn't appear to be relevant; 
 reproduced on RedHat and Centos)
Reporter: David Tootill
Priority: Critical
 Attachments: stdlog.txt, system.log


 Cassandra 1.1.0 and following releases gets an NPE in SecondaryIndexManager 
 writing a CF with multiple secondary keys.   Problem did not occur in 1.0.x, 
 and can be resolved by downgrading the Cassandra server.   Stack trace is:
 ERROR [MutationStage:47] 2012-11-28 11:24:30,865 AbstractCassandraDaemon.java 
 (line 134) Exception in thread Thread[MutationStage:47,5,main]
 java.lang.RuntimeException: java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1254)
   at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   at java.lang.Thread.run(Thread.java:722)
 Caused by: java.lang.NullPointerException
   at 
 org.apache.cassandra.db.index.SecondaryIndexManager.getIndexKeyFor(SecondaryIndexManager.java:299)
   at 
 org.apache.cassandra.db.index.SecondaryIndexManager.applyIndexUpdates(SecondaryIndexManager.java:463)
   at org.apache.cassandra.db.Table.apply(Table.java:459)
   at org.apache.cassandra.db.Table.apply(Table.java:384)
   at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:294)
   at 
 org.apache.cassandra.service.StorageProxy$6.runMayThrow(StorageProxy.java:453)
   at 
 org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1250)
 Client stack trace is:
 me.prettyprint.hector.api.exceptions.HTimedOutException: TimedOutException()
   at 
 me.prettyprint.cassandra.service.ExceptionsTranslatorImpl.translate(ExceptionsTranslatorImpl.java:35)[hector-core-1.0-5.jar:]
   at 
 me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:264)[hector-core-1.0-5.jar:]
   at 
 me.prettyprint.cassandra.model.ExecutingKeyspace.doExecuteOperation(ExecutingKeyspace.java:97)[hector-core-1.0-5.jar:]
   at 
 me.prettyprint.cassandra.model.MutatorImpl.execute(MutatorImpl.java:243)[hector-core-1.0-5.jar:]
   ... 3 more

--
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-5001) Generated time-based UUID don't conform to the spec

2012-11-28 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-5001:
--

Reviewer: vijay2...@yahoo.com

 Generated time-based UUID don't conform to the spec
 ---

 Key: CASSANDRA-5001
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5001
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.0

 Attachments: 5001.txt


 When UUIDGen layout the clock sequence and and node part of version 1 UUID, 
 it does so with
 {noformat}
 private long getClockSeqAndNode(InetAddress addr)
 {
 long lsb = 0;
 lsb |= (clock  0x3f00L)  56; // was 58?
 lsb |= 0x0080;
 lsb |= (clock  0x00ffL)  48;
 lsb |= makeNode(addr);
 return lsb;
 }
 {noformat}
 This is not correct however, as this layout the clock seq (and variant) on 
 the right-most part of the lsb while it should be on the left-most one.
 At a minimum, the generated UUID don't fully respect the spec since the 
 variant is not set correctly. But it also means that the clock seq bits end 
 up being all 0's (as can be trivially seen in the string representation of 
 the generated UUIDs).
 Note that none of those is a huge huge deal as there is still largely enough 
 random bytes to ensure that two different nodes won't end up with the same 
 lsb. And having the variant wrong has probably no practical implementation. 
 There is no reason not to fix those though.
 One other small details is that the getAdjustedTimestamp as a sign error so 
 that it returns completely broken timestamps. That being said the method is 
 currently unused so that's not a big deal. I'm attaching a fix for that part 
 too because that method might be useful someday but I won't shed a tear if we 
 prefer just removing it.
 I'm marking this for 1.2 because I'm not sure it's worth bothering with 1.1.

--
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-4790) Allow property override of available processors value

2012-11-28 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4790:
--

 Priority: Minor  (was: Major)
Affects Version/s: (was: 1.1.4)
Fix Version/s: 1.1.8
   Issue Type: New Feature  (was: Improvement)

Adding a -D option to cassandra-env.sh would be cleanest.

 Allow property override of available processors value
 -

 Key: CASSANDRA-4790
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4790
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Ahmed Bashir
Priority: Minor
 Fix For: 1.1.8


 Currently, many critical thread pools are sized according to the number of 
 available processors i.e. Runtime.getRuntime.availableProcessors() (See 
 StageManager.java)
 In a multi-instance deployment, multiple Cassandra instances will 
 independently assume that all processors are available to it; there should be 
 a mechanism to specify a smaller set of processors (and perhaps have 
 affinity).

--
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-5001) Generated time-based UUID don't conform to the spec

2012-11-28 Thread Vijay (JIRA)

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

Vijay commented on CASSANDRA-5001:
--

+1

Nit: it might be nice to move the calculation in getClockSeqAndNode into 
makeNode so we can cache it in nodeCache.

 Generated time-based UUID don't conform to the spec
 ---

 Key: CASSANDRA-5001
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5001
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.0

 Attachments: 5001.txt


 When UUIDGen layout the clock sequence and and node part of version 1 UUID, 
 it does so with
 {noformat}
 private long getClockSeqAndNode(InetAddress addr)
 {
 long lsb = 0;
 lsb |= (clock  0x3f00L)  56; // was 58?
 lsb |= 0x0080;
 lsb |= (clock  0x00ffL)  48;
 lsb |= makeNode(addr);
 return lsb;
 }
 {noformat}
 This is not correct however, as this layout the clock seq (and variant) on 
 the right-most part of the lsb while it should be on the left-most one.
 At a minimum, the generated UUID don't fully respect the spec since the 
 variant is not set correctly. But it also means that the clock seq bits end 
 up being all 0's (as can be trivially seen in the string representation of 
 the generated UUIDs).
 Note that none of those is a huge huge deal as there is still largely enough 
 random bytes to ensure that two different nodes won't end up with the same 
 lsb. And having the variant wrong has probably no practical implementation. 
 There is no reason not to fix those though.
 One other small details is that the getAdjustedTimestamp as a sign error so 
 that it returns completely broken timestamps. That being said the method is 
 currently unused so that's not a big deal. I'm attaching a fix for that part 
 too because that method might be useful someday but I won't shed a tear if we 
 prefer just removing it.
 I'm marking this for 1.2 because I'm not sure it's worth bothering with 1.1.

--
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