[jira] [Commented] (CASSANDRA-5862) Switch to adler checksum for sstables

2013-09-19 Thread Adrien Grand (JIRA)

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

Adrien Grand commented on CASSANDRA-5862:
-

I just learned about this issue and was wondering if you had considered XXHash 
(http://code.google.com/p/xxhash/) for checksuming. I am a little biased since 
I wrote the JNI bindings and Java ports of XXHash but the benchmarks show 
interesting results compared to other hash/checksum implementations: 
http://jpountz.github.io/lz4-java/1.2.0/xxhash-benchmark/. Just beware that 
depending on the size of the input, the fastest impl of XXHash is not always 
the same: for large inputs ( 1024 bytes), the JNI one is faster while on 
smaller input (= 1024 bytes), the Java port using the Unsafe API is faster, 
probably because of the JNI overhead.

You can find the sources of the benchmark at 
https://github.com/jpountz/jvm-checksum-benchmark.

 Switch to adler checksum for sstables
 -

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

 Attachments: 5862.txt


 Adler is significantly faster than CRC32: 
 http://java-performance.info/java-crc32-and-adler32/
 (Adler is weaker for short inputs, so we should leave the commitlog alone, as 
 it checksums each mutation individually.)

--
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-6033) CQL: allow names for bind variables

2013-09-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-6033:


Attachment: (was: 6033.txt)

 CQL: allow names for bind variables
 ---

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


 Currently bind variables are anonymous, they're just a question mark. What 
 this means is that the only reliable way to reference those variables after 
 preparation is through position their position in the query string, which is 
 not excessively user friendly.
 Of course some driver may be tempted to add their own version of named 
 variables, but that forces said driver to parse the query string in the first 
 place, which is something we've tried to avoid so far. Besides, this is 
 useful enough that making it part of CQL would make this more consistent 
 amongst driver rather than having everyone coming up with its own syntax.
 I'll add that because we are already sending column names in the metadata, I 
 believe we can support this without any change to the protocol. The idea 
 would be to support queries like this (happy to discuss the exact syntax):
 {noformat}
 SELECT * FROM test WHERE key = ?my_key AND time  ?t_low AND time = ?t_high
 {noformat}
 From the Cassandra side, the only thing that this would change is that in the 
 result set returned to the client, the column names would be 'my_key', 
 't_low' and 't_high' respectively rather than 'key', 'time' and 'time' as 
 they are now.  And so in particular using an anymous variable would be 
 equivalent to using a name one with the name of the CQL column the variable 
 is bound to.
 Driver side, the driver would just have to keep a map of each name to their 
 position in the metadata to provide reliable setter by names.

--
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-6033) CQL: allow names for bind variables

2013-09-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-6033:


Attachment: 6033.txt

Rebased patch attached

 CQL: allow names for bind variables
 ---

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

 Attachments: 6033.txt


 Currently bind variables are anonymous, they're just a question mark. What 
 this means is that the only reliable way to reference those variables after 
 preparation is through position their position in the query string, which is 
 not excessively user friendly.
 Of course some driver may be tempted to add their own version of named 
 variables, but that forces said driver to parse the query string in the first 
 place, which is something we've tried to avoid so far. Besides, this is 
 useful enough that making it part of CQL would make this more consistent 
 amongst driver rather than having everyone coming up with its own syntax.
 I'll add that because we are already sending column names in the metadata, I 
 believe we can support this without any change to the protocol. The idea 
 would be to support queries like this (happy to discuss the exact syntax):
 {noformat}
 SELECT * FROM test WHERE key = ?my_key AND time  ?t_low AND time = ?t_high
 {noformat}
 From the Cassandra side, the only thing that this would change is that in the 
 result set returned to the client, the column names would be 'my_key', 
 't_low' and 't_high' respectively rather than 'key', 'time' and 'time' as 
 they are now.  And so in particular using an anymous variable would be 
 equivalent to using a name one with the name of the CQL column the variable 
 is bound to.
 Driver side, the driver would just have to keep a map of each name to their 
 position in the metadata to provide reliable setter by names.

--
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-6033) CQL: allow names for bind variables

2013-09-19 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-6033:
--

+1

 CQL: allow names for bind variables
 ---

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

 Attachments: 6033.txt


 Currently bind variables are anonymous, they're just a question mark. What 
 this means is that the only reliable way to reference those variables after 
 preparation is through position their position in the query string, which is 
 not excessively user friendly.
 Of course some driver may be tempted to add their own version of named 
 variables, but that forces said driver to parse the query string in the first 
 place, which is something we've tried to avoid so far. Besides, this is 
 useful enough that making it part of CQL would make this more consistent 
 amongst driver rather than having everyone coming up with its own syntax.
 I'll add that because we are already sending column names in the metadata, I 
 believe we can support this without any change to the protocol. The idea 
 would be to support queries like this (happy to discuss the exact syntax):
 {noformat}
 SELECT * FROM test WHERE key = ?my_key AND time  ?t_low AND time = ?t_high
 {noformat}
 From the Cassandra side, the only thing that this would change is that in the 
 result set returned to the client, the column names would be 'my_key', 
 't_low' and 't_high' respectively rather than 'key', 'time' and 'time' as 
 they are now.  And so in particular using an anymous variable would be 
 equivalent to using a name one with the name of the CQL column the variable 
 is bound to.
 Driver side, the driver would just have to keep a map of each name to their 
 position in the metadata to provide reliable setter by names.

--
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-6056) Heavy write load exhausts heap space

2013-09-19 Thread arnaud-lb (JIRA)

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

arnaud-lb updated CASSANDRA-6056:
-

Attachment: jvisualvm-class-instances.png

 Heavy write load exhausts heap space
 

 Key: CASSANDRA-6056
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6056
 Project: Cassandra
  Issue Type: Bug
 Environment: Debian, Cassandra 2.0
Reporter: arnaud-lb
 Attachments: jvisualvm-class-instances.png


 Issuing many INSERT or UPDATE queries cause cassandra to exhaust the heap 
 space in a few minutes. It then gets stuck in full GCs, failing to recover.
 Observed with the default config from Datastax Debian packages, with a 8GB 
 heap. Query rate is around 35K queries per second, with 16 concurrent queries.

--
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-6055) 'Bad Request: Invalid null value for partition key part' on SELECT .. WHERE key IN (val,NULL)

2013-09-19 Thread Sergey Nagaytsev (JIRA)

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

Sergey Nagaytsev updated CASSANDRA-6055:


Priority: Minor  (was: Major)

 'Bad Request: Invalid null value for partition key part' on SELECT .. WHERE 
 key IN (val,NULL)
 -

 Key: CASSANDRA-6055
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6055
 Project: Cassandra
  Issue Type: Bug
 Environment: cqlsh, pdo_cassandra
Reporter: Sergey Nagaytsev
Priority: Minor
  Labels: cql3

 Query: SELECT * FROM user WHERE key IN(uuid,NULL);
 Table:
 CREATE COLUMNFAMILY user (
  KEY uuid PRIMARY KEY,
  name text,
  note text,
  avatar text,
  email text,
  phone text,
  login text,
  pw text,
  st text
 );
 Logs: Nothing, last message hours ago.
 This query is good in SQL and so is generated by DB abstraction library. Fix 
 on applications sides is multiplying of work.

--
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-6056) Heavy write load exhausts heap space

2013-09-19 Thread arnaud-lb (JIRA)

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

arnaud-lb commented on CASSANDRA-6056:
--

I can reproduce this with only UPDATES on two columns with small values 
(timestamp, int). Those columns were previously null. The entire rows are 
moderately small too, less than 200 bytes in average. This happens with only 4 
concurrent queries after some times.

Attached a screenshot of jvisualvm's classes view: 
[^jvisualvm-class-instances.png]

The table being updated looks like this:

{code}
id timeuuid primary key
str1 text
str2 text
str3 text
str4 text
time1 timestamp (the column being updated)
time2 timestamp (mostly null)
time3 timestamp (mostly null)
n int   (the second column being updated)
time4 timestamp
time5 timestamp (mostly null)
{code}

Looking at CASSANDRA-5982, it could very well be related. I'm willing to try 
with the fix applied, is this merged in any 2.0 branch?

 Heavy write load exhausts heap space
 

 Key: CASSANDRA-6056
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6056
 Project: Cassandra
  Issue Type: Bug
 Environment: Debian, Cassandra 2.0
Reporter: arnaud-lb
 Attachments: jvisualvm-class-instances.png


 Issuing many INSERT or UPDATE queries cause cassandra to exhaust the heap 
 space in a few minutes. It then gets stuck in full GCs, failing to recover.
 Observed with the default config from Datastax Debian packages, with a 8GB 
 heap. Query rate is around 35K queries per second, with 16 concurrent queries.

--
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] [Reopened] (CASSANDRA-6055) 'Bad Request: Invalid null value for partition key part' on SELECT .. WHERE key IN (val,NULL)

2013-09-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne reopened CASSANDRA-6055:
-


 'Bad Request: Invalid null value for partition key part' on SELECT .. WHERE 
 key IN (val,NULL)
 -

 Key: CASSANDRA-6055
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6055
 Project: Cassandra
  Issue Type: Bug
 Environment: cqlsh, pdo_cassandra
Reporter: Sergey Nagaytsev
Priority: Minor
  Labels: cql3

 Query: SELECT * FROM user WHERE key IN(uuid,NULL);
 Table:
 CREATE COLUMNFAMILY user (
  KEY uuid PRIMARY KEY,
  name text,
  note text,
  avatar text,
  email text,
  phone text,
  login text,
  pw text,
  st text
 );
 Logs: Nothing, last message hours ago.
 This query is good in SQL and so is generated by DB abstraction library. Fix 
 on applications sides is multiplying of work.

--
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-6055) 'Bad Request: Invalid null value for partition key part' on SELECT .. WHERE key IN (val,NULL)

2013-09-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-6055:
-

Well, let me just quickly say that CQL is *nowhere* near close to SQL 
compatibility: it doesn't support joins, sub-queries, aggregations, 
transactions, etc. And there is strong reason why those will never be 
supported, not in their full SQL generality at least. So it's not like tools 
that generate SQL are likely to work with CQL in general anyway. So we won't do 
any change to CQL if we think it doesn't make sense to CQL *only* because it 
works in SQL.


But that being said, I did somewhat misunderstood the issue raised and I 
apologize for that. If the goal is to support nulls as much as possible in the 
where clause of selects, then I guess that's something that can make sense for 
CQL. But while supporting it for PK columns is trivial (they can't be null, so 
we can just consider the clause as unsatisfiable, which is what SQL does), 
doing it for non-PK columns is quite a bit harder. Typically I don't see anyway 
to make null work for indexed columns. The only case where I think we could 
make it work is when ALLOW FILTERING is used but I'm not sure that's very 
useful. As for supporting it for PK columns (that cannot be null) if we don't 
support it for non-PK ones (that can be null), I'm -0 on the idea as I think 
it'll be more confusing/frustrating than anything else.

Reopening nonetheless. If someone has a brilliant idea to support null value 
for indexed columns, that could be useful...

 'Bad Request: Invalid null value for partition key part' on SELECT .. WHERE 
 key IN (val,NULL)
 -

 Key: CASSANDRA-6055
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6055
 Project: Cassandra
  Issue Type: Bug
 Environment: cqlsh, pdo_cassandra
Reporter: Sergey Nagaytsev
Priority: Minor
  Labels: cql3

 Query: SELECT * FROM user WHERE key IN(uuid,NULL);
 Table:
 CREATE COLUMNFAMILY user (
  KEY uuid PRIMARY KEY,
  name text,
  note text,
  avatar text,
  email text,
  phone text,
  login text,
  pw text,
  st text
 );
 Logs: Nothing, last message hours ago.
 This query is good in SQL and so is generated by DB abstraction library. Fix 
 on applications sides is multiplying of work.

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


[2/2] git commit: Update version for 1.2.10 release

2013-09-19 Thread slebresne
Update version for 1.2.10 release


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

Branch: refs/heads/cassandra-1.2
Commit: 937536363a8a6d86ee32fe5ef90653264e67b6c7
Parents: a886e34
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 11:59:58 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 11:59:58 2013 +0200

--
 NEWS.txt | 9 +
 build.xml| 2 +-
 debian/changelog | 6 ++
 3 files changed, 16 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 1f3f675..78c8a4c 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,15 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+1.2.10
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 1.2.9 if you are 
upgrading
+  from a previous version.
+
+
 1.2.9
 =
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/build.xml
--
diff --git a/build.xml b/build.xml
index 122759c..74c7374 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=1.2.9/
+property name=base.version value=1.2.10/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index 62ee968..63f75b8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (1.2.10) unstable; urgency=low
+
+  * New release
+
+ -- Sylvain Lebresne slebre...@apache.org  Thu, 19 Sep 2013 11:58:12 +0200
+
 cassandra (1.2.9) unstable; urgency=low
 
   * New release



[1/2] git commit: Fix sstable2json for CQL3 tables

2013-09-19 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 eb390d02e - 937536363


Fix sstable2json for CQL3 tables

patch by lyubent; reviewed by slebresne for CASSANDRA-5852


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

Branch: refs/heads/cassandra-1.2
Commit: a886e34909c313a1c3fa5dff48b77f1cee2c6847
Parents: eb390d0
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 11:56:17 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 11:56:17 2013 +0200

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 15 ++-
 .../org/apache/cassandra/tools/SSTableImport.java|  7 ++-
 3 files changed, 21 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c6e1169..f853cce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -21,6 +21,7 @@
  * Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011)
  * Move hints and exception count to o.a.c.metrics (CASSANDRA-6017)
  * Fix memory leak in snapshot repair (CASSANDRA-6047)
+ * Fix sstable2sjon for CQL3 tables (CASSANDRA-5852)
 
 
 1.2.9

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java 
b/src/java/org/apache/cassandra/config/CFMetaData.java
index 33e3f00..4355737 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -995,7 +995,18 @@ public final class CFMetaData
 ByteBuffer[] components = composite.split(columnName);
 for (ColumnDefinition def : column_metadata.values())
 {
-ByteBuffer toCompare = def.componentIndex == null ? columnName 
: components[def.componentIndex];
+ByteBuffer toCompare;
+if (def.componentIndex == null)
+{
+toCompare = columnName;
+}
+else
+{
+if (def.componentIndex = components.length)
+break;
+
+toCompare = components[def.componentIndex];
+}
 if (def.name.equals(toCompare))
 return def;
 }
@@ -1007,6 +1018,8 @@ public final class CFMetaData
 }
 }
 
+
+
 public ColumnDefinition getColumnDefinitionForIndex(String indexName)
 {
 for (ColumnDefinition def : column_metadata.values())

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/src/java/org/apache/cassandra/tools/SSTableImport.java
--
diff --git a/src/java/org/apache/cassandra/tools/SSTableImport.java 
b/src/java/org/apache/cassandra/tools/SSTableImport.java
index 71b1b60..68d4397 100644
--- a/src/java/org/apache/cassandra/tools/SSTableImport.java
+++ b/src/java/org/apache/cassandra/tools/SSTableImport.java
@@ -156,7 +156,7 @@ public class SSTableImport
 }
 
 value = isDeleted() ? ByteBufferUtil.hexToBytes((String) 
fields.get(1))
-: stringAsType((String) fields.get(1), 
meta.getValueValidator(name.duplicate()));
+: stringAsType((String) fields.get(1), 
meta.getValueValidator(meta.getColumnDefinitionFromColumnName(name)));
 }
 }
 
@@ -245,6 +245,11 @@ public class SSTableImport
 {
 cfamily.addAtom(new RangeTombstone(col.getName(), 
col.getValue(), col.timestamp, col.localExpirationTime));
 }
+// cql3 row marker, see CASSANDRA-5852
+else if (!path.columnName.hasRemaining())
+{
+cfamily.addColumn(new QueryPath(cfm.cfName, superName, 
ByteBuffer.wrap(new byte[3])), col.getValue(), col.timestamp);
+}
 else
 {
 cfamily.addColumn(path, col.getValue(), col.timestamp);



Git Push Summary

2013-09-19 Thread slebresne
Updated Tags:  refs/tags/1.2.10-tentative [created] 937536363


[jira] [Updated] (CASSANDRA-6056) Heavy write load exhausts heap space

2013-09-19 Thread arnaud-lb (JIRA)

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

arnaud-lb updated CASSANDRA-6056:
-

Attachment: dominator-tree.png

Attached a screenshot of eclipse memory analyzer tool, showing the dominator 
tree report

 Heavy write load exhausts heap space
 

 Key: CASSANDRA-6056
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6056
 Project: Cassandra
  Issue Type: Bug
 Environment: Debian, Cassandra 2.0
Reporter: arnaud-lb
 Attachments: dominator-tree.png, jvisualvm-class-instances.png


 Issuing many INSERT or UPDATE queries cause cassandra to exhaust the heap 
 space in a few minutes. It then gets stuck in full GCs, failing to recover.
 Observed with the default config from Datastax Debian packages, with a 8GB 
 heap. Query rate is around 35K queries per second, with 16 concurrent queries.

--
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-5950) Make snapshot/sequential repair the default

2013-09-19 Thread Lyuben Todorov (JIRA)

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

Lyuben Todorov updated CASSANDRA-5950:
--

Attachment: 5950.patch

 Make snapshot/sequential repair the default
 ---

 Key: CASSANDRA-5950
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5950
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: Jonathan Ellis
Assignee: Lyuben Todorov
Priority: Minor
 Fix For: 2.0.1

 Attachments: 5950.patch




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


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

2013-09-19 Thread slebresne
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
NEWS.txt
build.xml
debian/changelog


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

Branch: refs/heads/cassandra-2.0
Commit: 2c316afb2160de703f79d1c163413c7d801b3f1e
Parents: 6e3a241 9375363
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 12:28:04 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 12:28:04 2013 +0200

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 15 ++-
 .../org/apache/cassandra/tools/SSTableImport.java|  7 ++-
 3 files changed, 21 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c316afb/CHANGES.txt
--
diff --cc CHANGES.txt
index c218af5,f853cce..6003ed2
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -49,54 -21,14 +49,55 @@@ Merged from 1.2
   * Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011)
   * Move hints and exception count to o.a.c.metrics (CASSANDRA-6017)
   * Fix memory leak in snapshot repair (CASSANDRA-6047)
+  * Fix sstable2sjon for CQL3 tables (CASSANDRA-5852)
  
  
 -1.2.9
 +2.0.0
 + * Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138)
 + * Fix periodic memtable flushing behavior with clean memtables 
(CASSANDRA-5931)
 + * Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928)
 + * Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938)
 + * Add stream session progress to JMX (CASSANDRA-4757)
 + * Fix NPE during CAS operation (CASSANDRA-5925)
 +Merged from 1.2:
   * Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900)
 - * migrate 1.1 schema_columnfamilies.key_alias column to key_aliases
 -   (CASSANDRA-5800)
 - * add --migrate option to sstableupgrade and sstablescrub (CASSANDRA-5831)
 + * Don't announce schema version until we've loaded the changes locally
 +   (CASSANDRA-5904)
 + * Fix to support off heap bloom filters size greater than 2 GB 
(CASSANDRA-5903)
 + * Properly handle parsing huge map and set literals (CASSANDRA-5893)
 +
 +
 +2.0.0-rc2
 + * enable vnodes by default (CASSANDRA-5869)
 + * fix CAS contention timeout (CASSANDRA-5830)
 + * fix HsHa to respect max frame size (CASSANDRA-4573)
 + * Fix (some) 2i on composite components omissions (CASSANDRA-5851)
 + * cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880)
 +Merged from 1.2:
 + * Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
 + * Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868)
 + * cqlsh: add support for multiline comments (CASSANDRA-5798)
 + * Handle CQL3 SELECT duplicate IN restrictions on clustering columns
 +   (CASSANDRA-5856)
 +
 +
 +2.0.0-rc1
 + * improve DecimalSerializer performance (CASSANDRA-5837)
 + * fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690)
 + * fix schema-related trigger issues (CASSANDRA-5774)
 + * Better validation when accessing CQL3 table from thrift (CASSANDRA-5138)
 + * Fix assertion error during repair (CASSANDRA-5801)
 + * Fix range tombstone bug (CASSANDRA-5805)
 + * DC-local CAS (CASSANDRA-5797)
 + * Add a native_protocol_version column to the system.local table 
(CASSANRDA-5819)
 + * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822)
 + * Fix buffer underflow on socket close (CASSANDRA-5792)
 +Merged from 1.2:
 + * Fix reading DeletionTime from 1.1-format sstables (CASSANDRA-5814)
 + * cqlsh: add collections support to COPY (CASSANDRA-5698)
 + * retry important messages for any IOException (CASSANDRA-5804)
 + * Allow empty IN relations in SELECT/UPDATE/DELETE statements 
(CASSANDRA-5626)
 + * cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812)
   * fix bulk-loading compressed sstables (CASSANDRA-5820)
   * (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter 
 (CASSANDRA-5824)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c316afb/src/java/org/apache/cassandra/config/CFMetaData.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c316afb/src/java/org/apache/cassandra/tools/SSTableImport.java
--
diff --cc src/java/org/apache/cassandra/tools/SSTableImport.java
index bd74541,68d4397..79584c5
--- a/src/java/org/apache/cassandra/tools/SSTableImport.java
+++ b/src/java/org/apache/cassandra/tools/SSTableImport.java
@@@ -245,12 -243,16 

[1/3] git commit: Fix sstable2json for CQL3 tables

2013-09-19 Thread slebresne
Updated Branches:
  refs/heads/cassandra-2.0 6e3a241e1 - 2c316afb2


Fix sstable2json for CQL3 tables

patch by lyubent; reviewed by slebresne for CASSANDRA-5852


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

Branch: refs/heads/cassandra-2.0
Commit: a886e34909c313a1c3fa5dff48b77f1cee2c6847
Parents: eb390d0
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 11:56:17 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 11:56:17 2013 +0200

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 15 ++-
 .../org/apache/cassandra/tools/SSTableImport.java|  7 ++-
 3 files changed, 21 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c6e1169..f853cce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -21,6 +21,7 @@
  * Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011)
  * Move hints and exception count to o.a.c.metrics (CASSANDRA-6017)
  * Fix memory leak in snapshot repair (CASSANDRA-6047)
+ * Fix sstable2sjon for CQL3 tables (CASSANDRA-5852)
 
 
 1.2.9

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java 
b/src/java/org/apache/cassandra/config/CFMetaData.java
index 33e3f00..4355737 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -995,7 +995,18 @@ public final class CFMetaData
 ByteBuffer[] components = composite.split(columnName);
 for (ColumnDefinition def : column_metadata.values())
 {
-ByteBuffer toCompare = def.componentIndex == null ? columnName 
: components[def.componentIndex];
+ByteBuffer toCompare;
+if (def.componentIndex == null)
+{
+toCompare = columnName;
+}
+else
+{
+if (def.componentIndex = components.length)
+break;
+
+toCompare = components[def.componentIndex];
+}
 if (def.name.equals(toCompare))
 return def;
 }
@@ -1007,6 +1018,8 @@ public final class CFMetaData
 }
 }
 
+
+
 public ColumnDefinition getColumnDefinitionForIndex(String indexName)
 {
 for (ColumnDefinition def : column_metadata.values())

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/src/java/org/apache/cassandra/tools/SSTableImport.java
--
diff --git a/src/java/org/apache/cassandra/tools/SSTableImport.java 
b/src/java/org/apache/cassandra/tools/SSTableImport.java
index 71b1b60..68d4397 100644
--- a/src/java/org/apache/cassandra/tools/SSTableImport.java
+++ b/src/java/org/apache/cassandra/tools/SSTableImport.java
@@ -156,7 +156,7 @@ public class SSTableImport
 }
 
 value = isDeleted() ? ByteBufferUtil.hexToBytes((String) 
fields.get(1))
-: stringAsType((String) fields.get(1), 
meta.getValueValidator(name.duplicate()));
+: stringAsType((String) fields.get(1), 
meta.getValueValidator(meta.getColumnDefinitionFromColumnName(name)));
 }
 }
 
@@ -245,6 +245,11 @@ public class SSTableImport
 {
 cfamily.addAtom(new RangeTombstone(col.getName(), 
col.getValue(), col.timestamp, col.localExpirationTime));
 }
+// cql3 row marker, see CASSANDRA-5852
+else if (!path.columnName.hasRemaining())
+{
+cfamily.addColumn(new QueryPath(cfm.cfName, superName, 
ByteBuffer.wrap(new byte[3])), col.getValue(), col.timestamp);
+}
 else
 {
 cfamily.addColumn(path, col.getValue(), col.timestamp);



[jira] [Issue Comment Deleted] (CASSANDRA-4191) Add `nodetool cfstats ks cf` abilities

2013-09-19 Thread Lyuben Todorov (JIRA)

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

Lyuben Todorov updated CASSANDRA-4191:
--

Comment: was deleted

(was: So, from the comments I gather that we want to have a list of ks' and cfs 
in the style of:
{code:xml}
nodetool cfstats ks1.cf1 ks1.cf2 ks2
{code}
The default being to include all these keyspaces/cfs, with the ability to 
supply an -i flag meaning ignore only these keyspaces/cfs and display 
everything else. Or would it be better to go with the 2 flag aproach where 
users supply something like:
{code:xml}
nodetool cfstats -i ks1.cf1 ks1.cf2 -e ks2
{code}
where we include everything after -i and ignore everything after -e

[~dbrosius] [~jbellis] What do you think?)

 Add `nodetool cfstats ks cf` abilities
 --

 Key: CASSANDRA-4191
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4191
 Project: Cassandra
  Issue Type: New Feature
Affects Versions: 1.2.0 beta 1
Reporter: Joaquin Casares
Assignee: Lyuben Todorov
Priority: Minor
  Labels: datastax_qa
 Fix For: 1.2.9

 Attachments: 4191.patch, 4191_specific_cfstats.diff


 This way cfstats will only print information per keyspace/column family 
 combinations.
 Another related proposal as an alternative to this ticket:
 Allow for `nodetool cfstats` to use --excludes or --includes to accept 
 keyspace and column family arguments.

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


[2/3] git commit: Update version for 1.2.10 release

2013-09-19 Thread slebresne
Update version for 1.2.10 release


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

Branch: refs/heads/cassandra-2.0
Commit: 937536363a8a6d86ee32fe5ef90653264e67b6c7
Parents: a886e34
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 11:59:58 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 11:59:58 2013 +0200

--
 NEWS.txt | 9 +
 build.xml| 2 +-
 debian/changelog | 6 ++
 3 files changed, 16 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 1f3f675..78c8a4c 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,15 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+1.2.10
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 1.2.9 if you are 
upgrading
+  from a previous version.
+
+
 1.2.9
 =
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/build.xml
--
diff --git a/build.xml b/build.xml
index 122759c..74c7374 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=1.2.9/
+property name=base.version value=1.2.10/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index 62ee968..63f75b8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (1.2.10) unstable; urgency=low
+
+  * New release
+
+ -- Sylvain Lebresne slebre...@apache.org  Thu, 19 Sep 2013 11:58:12 +0200
+
 cassandra (1.2.9) unstable; urgency=low
 
   * New release



git commit: Fix validation of IN with 2ndary indexes

2013-09-19 Thread slebresne
Updated Branches:
  refs/heads/cassandra-2.0 2c316afb2 - a0abadfdb


Fix validation of IN with 2ndary indexes

patch by slebresne; reviewed by iamaleskey for CASSANDRA-6050


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

Branch: refs/heads/cassandra-2.0
Commit: a0abadfdb5721f6f595b6f9e33ed2bf44603d2fe
Parents: 2c316af
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 12:35:43 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 12:35:43 2013 +0200

--
 CHANGES.txt |  1 +
 .../cassandra/cql3/statements/Restriction.java  | 16 
 .../cassandra/cql3/statements/SelectStatement.java  |  7 ++-
 3 files changed, 23 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0abadfd/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6003ed2..d101c74 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -25,6 +25,7 @@
  * Paging filter empty rows too agressively (CASSANDRA-6040)
  * Support variadic parameters for IN clauses (CASSANDRA-4210)
  * cqlsh: return the result of CAS writes (CASSANDRA-5796)
+ * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
 Merged from 1.2:
  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0abadfd/src/java/org/apache/cassandra/cql3/statements/Restriction.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/Restriction.java 
b/src/java/org/apache/cassandra/cql3/statements/Restriction.java
index 45cc607..3a3aa05 100644
--- a/src/java/org/apache/cassandra/cql3/statements/Restriction.java
+++ b/src/java/org/apache/cassandra/cql3/statements/Restriction.java
@@ -112,6 +112,12 @@ public interface Restriction
 return true;
 }
 
+// Used when we need to know if it's a IN with just one value before 
we have
+// the bind variables. This is ugly and only there for backward 
compatiblity
+// because we used to treate IN with 1 value like an EQ and need to 
preserve
+// this behavior.
+public abstract boolean canHaveOnlyOneValue();
+
 public boolean isOnToken()
 {
 return false;
@@ -134,6 +140,11 @@ public interface Restriction
 return buffers;
 }
 
+public boolean canHaveOnlyOneValue()
+{
+return values.size() == 1;
+}
+
 @Override
 public String toString()
 {
@@ -158,6 +169,11 @@ public interface Restriction
 return lval.elements;
 }
 
+public boolean canHaveOnlyOneValue()
+{
+return false;
+}
+
 @Override
 public String toString()
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0abadfd/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index c85864f..86dad85 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -1124,7 +1124,12 @@ public class SelectStatement implements CQLStatement
 case VALUE_ALIAS:
 throw new 
InvalidRequestException(String.format(Predicates on the non-primary-key column 
(%s) of a COMPACT table are not yet supported, name.name));
 case COLUMN_METADATA:
-stmt.metadataRestrictions.put(name, 
updateRestriction(name, stmt.metadataRestrictions.get(name), rel, names));
+// We only all IN on the row key and last clustering 
key so far, never on non-PK columns, and this even if there's an index
+Restriction r = updateRestriction(name, 
stmt.metadataRestrictions.get(name), rel, names);
+if (r.isIN()  
!((Restriction.IN)r).canHaveOnlyOneValue())
+// Note: for backward compatibility reason, we 
conside a IN of 1 value the same as a EQ, so we let that slide.
+throw new 
InvalidRequestException(String.format(IN 

[1/5] git commit: Fix sstable2json for CQL3 tables

2013-09-19 Thread slebresne
Updated Branches:
  refs/heads/trunk 0cec93c4f - 54f41a9f5


Fix sstable2json for CQL3 tables

patch by lyubent; reviewed by slebresne for CASSANDRA-5852


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

Branch: refs/heads/trunk
Commit: a886e34909c313a1c3fa5dff48b77f1cee2c6847
Parents: eb390d0
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 11:56:17 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 11:56:17 2013 +0200

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 15 ++-
 .../org/apache/cassandra/tools/SSTableImport.java|  7 ++-
 3 files changed, 21 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c6e1169..f853cce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -21,6 +21,7 @@
  * Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011)
  * Move hints and exception count to o.a.c.metrics (CASSANDRA-6017)
  * Fix memory leak in snapshot repair (CASSANDRA-6047)
+ * Fix sstable2sjon for CQL3 tables (CASSANDRA-5852)
 
 
 1.2.9

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java 
b/src/java/org/apache/cassandra/config/CFMetaData.java
index 33e3f00..4355737 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -995,7 +995,18 @@ public final class CFMetaData
 ByteBuffer[] components = composite.split(columnName);
 for (ColumnDefinition def : column_metadata.values())
 {
-ByteBuffer toCompare = def.componentIndex == null ? columnName 
: components[def.componentIndex];
+ByteBuffer toCompare;
+if (def.componentIndex == null)
+{
+toCompare = columnName;
+}
+else
+{
+if (def.componentIndex = components.length)
+break;
+
+toCompare = components[def.componentIndex];
+}
 if (def.name.equals(toCompare))
 return def;
 }
@@ -1007,6 +1018,8 @@ public final class CFMetaData
 }
 }
 
+
+
 public ColumnDefinition getColumnDefinitionForIndex(String indexName)
 {
 for (ColumnDefinition def : column_metadata.values())

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/src/java/org/apache/cassandra/tools/SSTableImport.java
--
diff --git a/src/java/org/apache/cassandra/tools/SSTableImport.java 
b/src/java/org/apache/cassandra/tools/SSTableImport.java
index 71b1b60..68d4397 100644
--- a/src/java/org/apache/cassandra/tools/SSTableImport.java
+++ b/src/java/org/apache/cassandra/tools/SSTableImport.java
@@ -156,7 +156,7 @@ public class SSTableImport
 }
 
 value = isDeleted() ? ByteBufferUtil.hexToBytes((String) 
fields.get(1))
-: stringAsType((String) fields.get(1), 
meta.getValueValidator(name.duplicate()));
+: stringAsType((String) fields.get(1), 
meta.getValueValidator(meta.getColumnDefinitionFromColumnName(name)));
 }
 }
 
@@ -245,6 +245,11 @@ public class SSTableImport
 {
 cfamily.addAtom(new RangeTombstone(col.getName(), 
col.getValue(), col.timestamp, col.localExpirationTime));
 }
+// cql3 row marker, see CASSANDRA-5852
+else if (!path.columnName.hasRemaining())
+{
+cfamily.addColumn(new QueryPath(cfm.cfName, superName, 
ByteBuffer.wrap(new byte[3])), col.getValue(), col.timestamp);
+}
 else
 {
 cfamily.addColumn(path, col.getValue(), col.timestamp);



[5/5] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-19 Thread slebresne
Merge branch 'cassandra-2.0' into trunk


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

Branch: refs/heads/trunk
Commit: 54f41a9f58414dbb595554ff5b2aa4b98cb7c3ec
Parents: 0cec93c a0abadf
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 12:37:17 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 12:37:17 2013 +0200

--
 CHANGES.txt |  2 ++
 .../org/apache/cassandra/config/CFMetaData.java | 15 ++-
 .../cassandra/cql3/statements/Restriction.java  | 16 
 .../cassandra/cql3/statements/SelectStatement.java  |  7 ++-
 .../org/apache/cassandra/tools/SSTableImport.java   |  7 ++-
 5 files changed, 44 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/54f41a9f/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/54f41a9f/src/java/org/apache/cassandra/config/CFMetaData.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/54f41a9f/src/java/org/apache/cassandra/cql3/statements/Restriction.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/54f41a9f/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--



[2/5] git commit: Update version for 1.2.10 release

2013-09-19 Thread slebresne
Update version for 1.2.10 release


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

Branch: refs/heads/trunk
Commit: 937536363a8a6d86ee32fe5ef90653264e67b6c7
Parents: a886e34
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 11:59:58 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 11:59:58 2013 +0200

--
 NEWS.txt | 9 +
 build.xml| 2 +-
 debian/changelog | 6 ++
 3 files changed, 16 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 1f3f675..78c8a4c 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,15 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+1.2.10
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 1.2.9 if you are 
upgrading
+  from a previous version.
+
+
 1.2.9
 =
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/build.xml
--
diff --git a/build.xml b/build.xml
index 122759c..74c7374 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=1.2.9/
+property name=base.version value=1.2.10/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index 62ee968..63f75b8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (1.2.10) unstable; urgency=low
+
+  * New release
+
+ -- Sylvain Lebresne slebre...@apache.org  Thu, 19 Sep 2013 11:58:12 +0200
+
 cassandra (1.2.9) unstable; urgency=low
 
   * New release



[3/5] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2013-09-19 Thread slebresne
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
NEWS.txt
build.xml
debian/changelog


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

Branch: refs/heads/trunk
Commit: 2c316afb2160de703f79d1c163413c7d801b3f1e
Parents: 6e3a241 9375363
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 12:28:04 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 12:28:04 2013 +0200

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 15 ++-
 .../org/apache/cassandra/tools/SSTableImport.java|  7 ++-
 3 files changed, 21 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c316afb/CHANGES.txt
--
diff --cc CHANGES.txt
index c218af5,f853cce..6003ed2
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -49,54 -21,14 +49,55 @@@ Merged from 1.2
   * Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011)
   * Move hints and exception count to o.a.c.metrics (CASSANDRA-6017)
   * Fix memory leak in snapshot repair (CASSANDRA-6047)
+  * Fix sstable2sjon for CQL3 tables (CASSANDRA-5852)
  
  
 -1.2.9
 +2.0.0
 + * Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138)
 + * Fix periodic memtable flushing behavior with clean memtables 
(CASSANDRA-5931)
 + * Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928)
 + * Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938)
 + * Add stream session progress to JMX (CASSANDRA-4757)
 + * Fix NPE during CAS operation (CASSANDRA-5925)
 +Merged from 1.2:
   * Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900)
 - * migrate 1.1 schema_columnfamilies.key_alias column to key_aliases
 -   (CASSANDRA-5800)
 - * add --migrate option to sstableupgrade and sstablescrub (CASSANDRA-5831)
 + * Don't announce schema version until we've loaded the changes locally
 +   (CASSANDRA-5904)
 + * Fix to support off heap bloom filters size greater than 2 GB 
(CASSANDRA-5903)
 + * Properly handle parsing huge map and set literals (CASSANDRA-5893)
 +
 +
 +2.0.0-rc2
 + * enable vnodes by default (CASSANDRA-5869)
 + * fix CAS contention timeout (CASSANDRA-5830)
 + * fix HsHa to respect max frame size (CASSANDRA-4573)
 + * Fix (some) 2i on composite components omissions (CASSANDRA-5851)
 + * cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880)
 +Merged from 1.2:
 + * Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
 + * Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868)
 + * cqlsh: add support for multiline comments (CASSANDRA-5798)
 + * Handle CQL3 SELECT duplicate IN restrictions on clustering columns
 +   (CASSANDRA-5856)
 +
 +
 +2.0.0-rc1
 + * improve DecimalSerializer performance (CASSANDRA-5837)
 + * fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690)
 + * fix schema-related trigger issues (CASSANDRA-5774)
 + * Better validation when accessing CQL3 table from thrift (CASSANDRA-5138)
 + * Fix assertion error during repair (CASSANDRA-5801)
 + * Fix range tombstone bug (CASSANDRA-5805)
 + * DC-local CAS (CASSANDRA-5797)
 + * Add a native_protocol_version column to the system.local table 
(CASSANRDA-5819)
 + * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822)
 + * Fix buffer underflow on socket close (CASSANDRA-5792)
 +Merged from 1.2:
 + * Fix reading DeletionTime from 1.1-format sstables (CASSANDRA-5814)
 + * cqlsh: add collections support to COPY (CASSANDRA-5698)
 + * retry important messages for any IOException (CASSANDRA-5804)
 + * Allow empty IN relations in SELECT/UPDATE/DELETE statements 
(CASSANDRA-5626)
 + * cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812)
   * fix bulk-loading compressed sstables (CASSANDRA-5820)
   * (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter 
 (CASSANDRA-5824)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c316afb/src/java/org/apache/cassandra/config/CFMetaData.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c316afb/src/java/org/apache/cassandra/tools/SSTableImport.java
--
diff --cc src/java/org/apache/cassandra/tools/SSTableImport.java
index bd74541,68d4397..79584c5
--- a/src/java/org/apache/cassandra/tools/SSTableImport.java
+++ b/src/java/org/apache/cassandra/tools/SSTableImport.java
@@@ -245,12 -243,16 +245,17 @@@ 

[4/5] git commit: Fix validation of IN with 2ndary indexes

2013-09-19 Thread slebresne
Fix validation of IN with 2ndary indexes

patch by slebresne; reviewed by iamaleskey for CASSANDRA-6050


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

Branch: refs/heads/trunk
Commit: a0abadfdb5721f6f595b6f9e33ed2bf44603d2fe
Parents: 2c316af
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 12:35:43 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 12:35:43 2013 +0200

--
 CHANGES.txt |  1 +
 .../cassandra/cql3/statements/Restriction.java  | 16 
 .../cassandra/cql3/statements/SelectStatement.java  |  7 ++-
 3 files changed, 23 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0abadfd/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6003ed2..d101c74 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -25,6 +25,7 @@
  * Paging filter empty rows too agressively (CASSANDRA-6040)
  * Support variadic parameters for IN clauses (CASSANDRA-4210)
  * cqlsh: return the result of CAS writes (CASSANDRA-5796)
+ * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
 Merged from 1.2:
  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0abadfd/src/java/org/apache/cassandra/cql3/statements/Restriction.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/Restriction.java 
b/src/java/org/apache/cassandra/cql3/statements/Restriction.java
index 45cc607..3a3aa05 100644
--- a/src/java/org/apache/cassandra/cql3/statements/Restriction.java
+++ b/src/java/org/apache/cassandra/cql3/statements/Restriction.java
@@ -112,6 +112,12 @@ public interface Restriction
 return true;
 }
 
+// Used when we need to know if it's a IN with just one value before 
we have
+// the bind variables. This is ugly and only there for backward 
compatiblity
+// because we used to treate IN with 1 value like an EQ and need to 
preserve
+// this behavior.
+public abstract boolean canHaveOnlyOneValue();
+
 public boolean isOnToken()
 {
 return false;
@@ -134,6 +140,11 @@ public interface Restriction
 return buffers;
 }
 
+public boolean canHaveOnlyOneValue()
+{
+return values.size() == 1;
+}
+
 @Override
 public String toString()
 {
@@ -158,6 +169,11 @@ public interface Restriction
 return lval.elements;
 }
 
+public boolean canHaveOnlyOneValue()
+{
+return false;
+}
+
 @Override
 public String toString()
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0abadfd/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index c85864f..86dad85 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -1124,7 +1124,12 @@ public class SelectStatement implements CQLStatement
 case VALUE_ALIAS:
 throw new 
InvalidRequestException(String.format(Predicates on the non-primary-key column 
(%s) of a COMPACT table are not yet supported, name.name));
 case COLUMN_METADATA:
-stmt.metadataRestrictions.put(name, 
updateRestriction(name, stmt.metadataRestrictions.get(name), rel, names));
+// We only all IN on the row key and last clustering 
key so far, never on non-PK columns, and this even if there's an index
+Restriction r = updateRestriction(name, 
stmt.metadataRestrictions.get(name), rel, names);
+if (r.isIN()  
!((Restriction.IN)r).canHaveOnlyOneValue())
+// Note: for backward compatibility reason, we 
conside a IN of 1 value the same as a EQ, so we let that slide.
+throw new 
InvalidRequestException(String.format(IN predicates on non-primary-key columns 
(%s) is not yet supported, name));
+

git commit: Support named bind variables in CQL

2013-09-19 Thread slebresne
Updated Branches:
  refs/heads/cassandra-2.0 a0abadfdb - 37e9bce38


Support named bind variables in CQL

patch by slebresne; reviewed by iamaleksey for CASSANDRA-6033


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

Branch: refs/heads/cassandra-2.0
Commit: 37e9bce381b9daf8e544db475e1a31d70e471e7b
Parents: a0abadf
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 12:57:48 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 12:57:48 2013 +0200

--
 CHANGES.txt |  1 +
 doc/cql3/CQL.textile|  6 ++-
 doc/native_protocol_v2.spec | 20 +---
 .../apache/cassandra/cql3/AbstractMarker.java   |  4 +-
 .../org/apache/cassandra/cql3/Attributes.java   |  2 +-
 src/java/org/apache/cassandra/cql3/Cql.g| 31 +---
 src/java/org/apache/cassandra/cql3/Lists.java   |  4 +-
 src/java/org/apache/cassandra/cql3/Maps.java|  4 +-
 .../org/apache/cassandra/cql3/Operation.java|  2 +-
 src/java/org/apache/cassandra/cql3/Sets.java|  2 +-
 src/java/org/apache/cassandra/cql3/Term.java|  6 +--
 .../cassandra/cql3/VariableSpecifications.java  | 52 
 .../cassandra/cql3/functions/FunctionCall.java  |  9 +---
 .../cql3/statements/BatchStatement.java |  4 +-
 .../cql3/statements/CreateTableStatement.java   |  1 -
 .../cql3/statements/DeleteStatement.java|  4 +-
 .../cql3/statements/ModificationStatement.java  | 10 ++--
 .../cql3/statements/ParsedStatement.java| 15 --
 .../statements/SchemaAlteringStatement.java |  5 ++
 .../cql3/statements/SelectStatement.java|  8 +--
 .../cql3/statements/TruncateStatement.java  |  5 ++
 .../cql3/statements/UpdateStatement.java|  8 +--
 .../cassandra/cql3/statements/UseStatement.java |  5 ++
 23 files changed, 150 insertions(+), 58 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/37e9bce3/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index d101c74..b2fa36e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -26,6 +26,7 @@
  * Support variadic parameters for IN clauses (CASSANDRA-4210)
  * cqlsh: return the result of CAS writes (CASSANDRA-5796)
  * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
+ * Support named bind variables in CQL (CASSANDRA-6033)
 Merged from 1.2:
  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/37e9bce3/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index a880c08..ee0d700 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -96,6 +96,7 @@ bc(syntax)..
| boolean
| hex
   variable ::= '?'
+   | ':' identifier
   term ::= constant
| collection-literal
| variable
@@ -115,7 +116,7 @@ bc(syntax)..
 p. 
 Please note that not every possible productions of the grammar above will be 
valid in practice. Most notably, @variable@ and nested @collection-literal@ 
are currently not allowed inside @collection-literal@.
 
-p. The question mark (@?@) of @variable@ is a bind variables for prepared 
statements:#preparedStatement.
+p. A @variable@ can be either anonymous (a question mark (@?@)) or named (an 
identifier preceded by @:@). Both declare a bind variables for prepared 
statements:#preparedStatement. The only difference between an anymous and a 
named variable is that a named one will be easier to refer to (how exactly 
depends on the client driver used).
 
 p. The @properties@ production is use by statement that create and alter 
keyspaces and tables. Each @property@ is either a _simple_ one, in which case 
it just has a value, or a _map_ one, in which case it's value is a map grouping 
sub-options. The following will refer to one or the other as the _kind_ 
(_simple_ or _map_) of the property.
 
@@ -128,7 +129,7 @@ h3(#preparedStatement). Prepared Statement
 
 CQL supports _prepared statements_. Prepared statement is an optimization that 
allows to parse a query only once but execute it multiple times with different 
concrete values.
 
-In a statement, each time a column value is expected (in the data manipulation 
and query statements), a bind variable marker (denoted by a @?@ symbol) can be 
used instead. A statement with bind variables must then be _prepared_. 

[1/2] git commit: Support named bind variables in CQL

2013-09-19 Thread slebresne
Updated Branches:
  refs/heads/trunk 54f41a9f5 - 63589bac5


Support named bind variables in CQL

patch by slebresne; reviewed by iamaleksey for CASSANDRA-6033


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

Branch: refs/heads/trunk
Commit: 37e9bce381b9daf8e544db475e1a31d70e471e7b
Parents: a0abadf
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 12:57:48 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 12:57:48 2013 +0200

--
 CHANGES.txt |  1 +
 doc/cql3/CQL.textile|  6 ++-
 doc/native_protocol_v2.spec | 20 +---
 .../apache/cassandra/cql3/AbstractMarker.java   |  4 +-
 .../org/apache/cassandra/cql3/Attributes.java   |  2 +-
 src/java/org/apache/cassandra/cql3/Cql.g| 31 +---
 src/java/org/apache/cassandra/cql3/Lists.java   |  4 +-
 src/java/org/apache/cassandra/cql3/Maps.java|  4 +-
 .../org/apache/cassandra/cql3/Operation.java|  2 +-
 src/java/org/apache/cassandra/cql3/Sets.java|  2 +-
 src/java/org/apache/cassandra/cql3/Term.java|  6 +--
 .../cassandra/cql3/VariableSpecifications.java  | 52 
 .../cassandra/cql3/functions/FunctionCall.java  |  9 +---
 .../cql3/statements/BatchStatement.java |  4 +-
 .../cql3/statements/CreateTableStatement.java   |  1 -
 .../cql3/statements/DeleteStatement.java|  4 +-
 .../cql3/statements/ModificationStatement.java  | 10 ++--
 .../cql3/statements/ParsedStatement.java| 15 --
 .../statements/SchemaAlteringStatement.java |  5 ++
 .../cql3/statements/SelectStatement.java|  8 +--
 .../cql3/statements/TruncateStatement.java  |  5 ++
 .../cql3/statements/UpdateStatement.java|  8 +--
 .../cassandra/cql3/statements/UseStatement.java |  5 ++
 23 files changed, 150 insertions(+), 58 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/37e9bce3/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index d101c74..b2fa36e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -26,6 +26,7 @@
  * Support variadic parameters for IN clauses (CASSANDRA-4210)
  * cqlsh: return the result of CAS writes (CASSANDRA-5796)
  * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
+ * Support named bind variables in CQL (CASSANDRA-6033)
 Merged from 1.2:
  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/37e9bce3/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index a880c08..ee0d700 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -96,6 +96,7 @@ bc(syntax)..
| boolean
| hex
   variable ::= '?'
+   | ':' identifier
   term ::= constant
| collection-literal
| variable
@@ -115,7 +116,7 @@ bc(syntax)..
 p. 
 Please note that not every possible productions of the grammar above will be 
valid in practice. Most notably, @variable@ and nested @collection-literal@ 
are currently not allowed inside @collection-literal@.
 
-p. The question mark (@?@) of @variable@ is a bind variables for prepared 
statements:#preparedStatement.
+p. A @variable@ can be either anonymous (a question mark (@?@)) or named (an 
identifier preceded by @:@). Both declare a bind variables for prepared 
statements:#preparedStatement. The only difference between an anymous and a 
named variable is that a named one will be easier to refer to (how exactly 
depends on the client driver used).
 
 p. The @properties@ production is use by statement that create and alter 
keyspaces and tables. Each @property@ is either a _simple_ one, in which case 
it just has a value, or a _map_ one, in which case it's value is a map grouping 
sub-options. The following will refer to one or the other as the _kind_ 
(_simple_ or _map_) of the property.
 
@@ -128,7 +129,7 @@ h3(#preparedStatement). Prepared Statement
 
 CQL supports _prepared statements_. Prepared statement is an optimization that 
allows to parse a query only once but execute it multiple times with different 
concrete values.
 
-In a statement, each time a column value is expected (in the data manipulation 
and query statements), a bind variable marker (denoted by a @?@ symbol) can be 
used instead. A statement with bind variables must then be _prepared_. Once it 
has been 

[2/2] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-19 Thread slebresne
Merge branch 'cassandra-2.0' into trunk


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

Branch: refs/heads/trunk
Commit: 63589bac5aa70f5833ef2c821f47fc3b7739613c
Parents: 54f41a9 37e9bce
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Sep 19 12:58:40 2013 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Sep 19 12:58:40 2013 +0200

--
 CHANGES.txt |  1 +
 doc/cql3/CQL.textile|  6 ++-
 doc/native_protocol_v2.spec | 20 +---
 .../apache/cassandra/cql3/AbstractMarker.java   |  4 +-
 .../org/apache/cassandra/cql3/Attributes.java   |  2 +-
 src/java/org/apache/cassandra/cql3/Cql.g| 31 +---
 src/java/org/apache/cassandra/cql3/Lists.java   |  4 +-
 src/java/org/apache/cassandra/cql3/Maps.java|  4 +-
 .../org/apache/cassandra/cql3/Operation.java|  2 +-
 src/java/org/apache/cassandra/cql3/Sets.java|  2 +-
 src/java/org/apache/cassandra/cql3/Term.java|  6 +--
 .../cassandra/cql3/VariableSpecifications.java  | 52 
 .../cassandra/cql3/functions/FunctionCall.java  |  9 +---
 .../cql3/statements/BatchStatement.java |  4 +-
 .../cql3/statements/CreateTableStatement.java   |  1 -
 .../cql3/statements/DeleteStatement.java|  4 +-
 .../cql3/statements/ModificationStatement.java  | 10 ++--
 .../cql3/statements/ParsedStatement.java| 15 --
 .../statements/SchemaAlteringStatement.java |  5 ++
 .../cql3/statements/SelectStatement.java|  8 +--
 .../cql3/statements/TruncateStatement.java  |  5 ++
 .../cql3/statements/UpdateStatement.java|  8 +--
 .../cassandra/cql3/statements/UseStatement.java |  5 ++
 23 files changed, 150 insertions(+), 58 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/63589bac/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/63589bac/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--



Git Push Summary

2013-09-19 Thread slebresne
Updated Tags:  refs/tags/2.0.1-tentative [created] 72c50bd75


[jira] [Commented] (CASSANDRA-5906) Avoid allocating over-large bloom filters

2013-09-19 Thread Matt Abrams (JIRA)

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

Matt Abrams commented on CASSANDRA-5906:


Answers:

1. Since ByteBuffer's hashCode is only a function of the number of bits 
remaining we cannot use it directly in the offer function.  If we implemented a 
helper function in HLL+ we would still need to get the byte array or some other 
derivative of the object that would be useful as a hash input.  Let me know 
what you are looking for here and we can add to stream-lib.

2.  The size of the HLL is a function of how precise you need it to be.  If we 
use a p of 15 instead of 16 the size drops to 21K.  Inserting the same 500K 
elements into a HLL+ with p=15 yields of .58% in my tests.  The nice thing 
about HLLs is that their error is only a function of how big the HLL is, not 
how many elements you put into it.  For example, with the same p=15 HLL+ 
instance I inserted 1 billion elements and still had an error of .49%.  This 
error rate starts to break down when the number of elements inserted becomes 
massive (high billions or low trillions).  It is possible to build a HLL that 
deals with that scale but it hasn't been an issue for us yet. 

Question:

The constructor for the HLL+ only sets a p value, not the sp (sparse p value).  
The advantage of using an sp is that for smaller tables you will get a near 
exact count.  I'm not sure if this is required for this use case but I thought 
I'd mention it just in case.

 Avoid allocating over-large bloom filters
 -

 Key: CASSANDRA-5906
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5906
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Yuki Morishita
 Fix For: 2.0.1


 We conservatively estimate the number of partitions post-compaction to be the 
 total number of partitions pre-compaction.  That is, we assume the worst-case 
 scenario of no partition overlap at all.
 This can result in substantial memory wasted in sstables resulting from 
 highly overlapping compactions.

--
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-5906) Avoid allocating over-large bloom filters

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5906:
---

bq. Since ByteBuffer's hashCode is only a function of the number of bits 
remaining we cannot use it directly in the offer function.

I don't follow -- that should be exactly the desired behavior.  The ByteBuffer 
offset/remaining are telling us, this is the part of the backing array that 
we're interested in, which lets us split up regions of memory without having 
to actually copy to new arrays.

bq. The size of the HLL is a function of how precise you need it to be. If we 
use a p of 15 instead of 16 the size drops to 21K. Inserting the same 500K 
elements into a HLL+ with p=15 yields of .58% in my tests.

So, we can trade a factor of 2 size for roughly a factor of 2 precision?.  
Unless we have a use for keeping these on heap that I can't think of, I'd say 
we should double the size and only read them in for compaction.

 Avoid allocating over-large bloom filters
 -

 Key: CASSANDRA-5906
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5906
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Yuki Morishita
 Fix For: 2.0.1


 We conservatively estimate the number of partitions post-compaction to be the 
 total number of partitions pre-compaction.  That is, we assume the worst-case 
 scenario of no partition overlap at all.
 This can result in substantial memory wasted in sstables resulting from 
 highly overlapping compactions.

--
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] [Comment Edited] (CASSANDRA-5906) Avoid allocating over-large bloom filters

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis edited comment on CASSANDRA-5906 at 9/19/13 12:35 PM:
-

bq. Since ByteBuffer's hashCode is only a function of the number of bits 
remaining we cannot use it directly in the offer function.

I don't follow -- that should be exactly the desired behavior.  The ByteBuffer 
offset/remaining are telling us, this is the part of the backing array that 
we're interested in, which lets us split up regions of memory without having 
to actually copy to new arrays.  So BBU.getArray is only for when some API only 
allows arrays and possibly having to perform a copy is the only alternative:

{code}
/**
 * You should almost never use this.  Instead, use the write* methods to 
avoid copies.
 */
public static byte[] getArray(ByteBuffer buffer)
{
int length = buffer.remaining();

if (buffer.hasArray())
{
int boff = buffer.arrayOffset() + buffer.position();
if (boff == 0  length == buffer.array().length)
return buffer.array();
else
return Arrays.copyOfRange(buffer.array(), boff, boff + length);
}
// else, DirectByteBuffer.get() is the fastest route
byte[] bytes = new byte[length];
buffer.duplicate().get(bytes);

return bytes;
}
{code}

bq. The size of the HLL is a function of how precise you need it to be. If we 
use a p of 15 instead of 16 the size drops to 21K. Inserting the same 500K 
elements into a HLL+ with p=15 yields of .58% in my tests.

So, we can trade a factor of 2 size for roughly a factor of 2 precision?.  
Unless we have a use for keeping these on heap that I can't think of, I'd say 
we should double the size and only read them in for compaction.

  was (Author: jbellis):
bq. Since ByteBuffer's hashCode is only a function of the number of bits 
remaining we cannot use it directly in the offer function.

I don't follow -- that should be exactly the desired behavior.  The ByteBuffer 
offset/remaining are telling us, this is the part of the backing array that 
we're interested in, which lets us split up regions of memory without having 
to actually copy to new arrays.

bq. The size of the HLL is a function of how precise you need it to be. If we 
use a p of 15 instead of 16 the size drops to 21K. Inserting the same 500K 
elements into a HLL+ with p=15 yields of .58% in my tests.

So, we can trade a factor of 2 size for roughly a factor of 2 precision?.  
Unless we have a use for keeping these on heap that I can't think of, I'd say 
we should double the size and only read them in for compaction.
  
 Avoid allocating over-large bloom filters
 -

 Key: CASSANDRA-5906
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5906
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Yuki Morishita
 Fix For: 2.0.1


 We conservatively estimate the number of partitions post-compaction to be the 
 total number of partitions pre-compaction.  That is, we assume the worst-case 
 scenario of no partition overlap at all.
 This can result in substantial memory wasted in sstables resulting from 
 highly overlapping compactions.

--
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-6058) Make ThriftServer more easlly extensible

2013-09-19 Thread Aleksey Yeschenko (JIRA)
Aleksey Yeschenko created CASSANDRA-6058:


 Summary: Make ThriftServer more easlly extensible
 Key: CASSANDRA-6058
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6058
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Assignee: Sam Tunnicliffe
Priority: Minor
 Fix For: 2.0.1


Make ThriftServer more easlly extensible

--
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-6058) Make ThriftServer more easlly extensible

2013-09-19 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-6058:
-

Attachment: 6058.txt

 Make ThriftServer more easlly extensible
 

 Key: CASSANDRA-6058
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6058
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Assignee: Sam Tunnicliffe
Priority: Minor
 Fix For: 2.0.1

 Attachments: 6058.txt


 Make ThriftServer more easlly extensible

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


[2/2] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-19 Thread aleksey
Merge branch 'cassandra-2.0' into trunk


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

Branch: refs/heads/trunk
Commit: b1d1fac8d2ff44ecdf7584fa33dd1504c914c41d
Parents: 63589ba caf047b
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 15:54:56 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 15:54:56 2013 +0300

--
 CHANGES.txt |  1 +
 .../apache/cassandra/thrift/TServerFactory.java |  3 +-
 .../apache/cassandra/thrift/ThriftServer.java   | 54 ++--
 3 files changed, 42 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b1d1fac8/CHANGES.txt
--



git commit: Make ThriftServer more easlly extensible

2013-09-19 Thread aleksey
Updated Branches:
  refs/heads/cassandra-2.0 37e9bce38 - caf047b85


Make ThriftServer more easlly extensible

patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-6058


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

Branch: refs/heads/cassandra-2.0
Commit: caf047b8581709ba57327f9e3c4607f273771840
Parents: 37e9bce
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 15:53:24 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 15:53:24 2013 +0300

--
 CHANGES.txt |  1 +
 .../apache/cassandra/thrift/TServerFactory.java |  3 +-
 .../apache/cassandra/thrift/ThriftServer.java   | 54 ++--
 3 files changed, 42 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/caf047b8/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b2fa36e..06d9b16 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -27,6 +27,7 @@
  * cqlsh: return the result of CAS writes (CASSANDRA-5796)
  * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
  * Support named bind variables in CQL (CASSANDRA-6033)
+ * Make ThriftServer more easlly extensible (CASSANDRA-6058)
 Merged from 1.2:
  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/caf047b8/src/java/org/apache/cassandra/thrift/TServerFactory.java
--
diff --git a/src/java/org/apache/cassandra/thrift/TServerFactory.java 
b/src/java/org/apache/cassandra/thrift/TServerFactory.java
index 0c93867..2e2acb8 100644
--- a/src/java/org/apache/cassandra/thrift/TServerFactory.java
+++ b/src/java/org/apache/cassandra/thrift/TServerFactory.java
@@ -20,6 +20,7 @@ package org.apache.cassandra.thrift;
 
 import java.net.InetSocketAddress;
 
+import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TProtocolFactory;
 import org.apache.thrift.server.TServer;
 import org.apache.thrift.transport.TTransportFactory;
@@ -32,7 +33,7 @@ public interface TServerFactory
 {
 public InetSocketAddress addr;
 public CassandraServer cassandraServer;
-public Cassandra.Processor processor;
+public TProcessor processor;
 public TProtocolFactory tProtocolFactory;
 public TTransportFactory inTransportFactory;
 public TTransportFactory outTransportFactory;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/caf047b8/src/java/org/apache/cassandra/thrift/ThriftServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/ThriftServer.java 
b/src/java/org/apache/cassandra/thrift/ThriftServer.java
index 5f608a1..3a0d545 100644
--- a/src/java/org/apache/cassandra/thrift/ThriftServer.java
+++ b/src/java/org/apache/cassandra/thrift/ThriftServer.java
@@ -25,19 +25,21 @@ import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.service.CassandraDaemon;
 import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.server.TServer;
 import org.apache.thrift.transport.TFramedTransport;
+import org.apache.thrift.transport.TTransportFactory;
 
 public class ThriftServer implements CassandraDaemon.Server
 {
 private static Logger logger = LoggerFactory.getLogger(ThriftServer.class);
-final static String SYNC = sync;
-final static String ASYNC = async;
-final static String HSHA = hsha;
+protected final static String SYNC = sync;
+protected final static String ASYNC = async;
+protected final static String HSHA = hsha;
 
-private final InetAddress address;
-private final int port;
+protected final InetAddress address;
+protected final int port;
 private volatile ThriftServerThread server;
 
 public ThriftServer(InetAddress address, int port)
@@ -50,7 +52,8 @@ public class ThriftServer implements CassandraDaemon.Server
 {
 if (server == null)
 {
-server = new ThriftServerThread(address, port);
+CassandraServer iface = getCassandraServer();
+server = new ThriftServerThread(address, port, iface, 
getProcessor(iface), getTransportFactory());
 server.start();
 }
 }
@@ -77,15 +80,39 @@ public class ThriftServer implements CassandraDaemon.Server
 return server != null;

[1/2] git commit: Make ThriftServer more easlly extensible

2013-09-19 Thread aleksey
Updated Branches:
  refs/heads/trunk 63589bac5 - b1d1fac8d


Make ThriftServer more easlly extensible

patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-6058


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

Branch: refs/heads/trunk
Commit: caf047b8581709ba57327f9e3c4607f273771840
Parents: 37e9bce
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 15:53:24 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 15:53:24 2013 +0300

--
 CHANGES.txt |  1 +
 .../apache/cassandra/thrift/TServerFactory.java |  3 +-
 .../apache/cassandra/thrift/ThriftServer.java   | 54 ++--
 3 files changed, 42 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/caf047b8/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b2fa36e..06d9b16 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -27,6 +27,7 @@
  * cqlsh: return the result of CAS writes (CASSANDRA-5796)
  * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
  * Support named bind variables in CQL (CASSANDRA-6033)
+ * Make ThriftServer more easlly extensible (CASSANDRA-6058)
 Merged from 1.2:
  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/caf047b8/src/java/org/apache/cassandra/thrift/TServerFactory.java
--
diff --git a/src/java/org/apache/cassandra/thrift/TServerFactory.java 
b/src/java/org/apache/cassandra/thrift/TServerFactory.java
index 0c93867..2e2acb8 100644
--- a/src/java/org/apache/cassandra/thrift/TServerFactory.java
+++ b/src/java/org/apache/cassandra/thrift/TServerFactory.java
@@ -20,6 +20,7 @@ package org.apache.cassandra.thrift;
 
 import java.net.InetSocketAddress;
 
+import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TProtocolFactory;
 import org.apache.thrift.server.TServer;
 import org.apache.thrift.transport.TTransportFactory;
@@ -32,7 +33,7 @@ public interface TServerFactory
 {
 public InetSocketAddress addr;
 public CassandraServer cassandraServer;
-public Cassandra.Processor processor;
+public TProcessor processor;
 public TProtocolFactory tProtocolFactory;
 public TTransportFactory inTransportFactory;
 public TTransportFactory outTransportFactory;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/caf047b8/src/java/org/apache/cassandra/thrift/ThriftServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/ThriftServer.java 
b/src/java/org/apache/cassandra/thrift/ThriftServer.java
index 5f608a1..3a0d545 100644
--- a/src/java/org/apache/cassandra/thrift/ThriftServer.java
+++ b/src/java/org/apache/cassandra/thrift/ThriftServer.java
@@ -25,19 +25,21 @@ import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.service.CassandraDaemon;
 import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.server.TServer;
 import org.apache.thrift.transport.TFramedTransport;
+import org.apache.thrift.transport.TTransportFactory;
 
 public class ThriftServer implements CassandraDaemon.Server
 {
 private static Logger logger = LoggerFactory.getLogger(ThriftServer.class);
-final static String SYNC = sync;
-final static String ASYNC = async;
-final static String HSHA = hsha;
+protected final static String SYNC = sync;
+protected final static String ASYNC = async;
+protected final static String HSHA = hsha;
 
-private final InetAddress address;
-private final int port;
+protected final InetAddress address;
+protected final int port;
 private volatile ThriftServerThread server;
 
 public ThriftServer(InetAddress address, int port)
@@ -50,7 +52,8 @@ public class ThriftServer implements CassandraDaemon.Server
 {
 if (server == null)
 {
-server = new ThriftServerThread(address, port);
+CassandraServer iface = getCassandraServer();
+server = new ThriftServerThread(address, port, iface, 
getProcessor(iface), getTransportFactory());
 server.start();
 }
 }
@@ -77,15 +80,39 @@ public class ThriftServer implements CassandraDaemon.Server
 return server != null;
 }
 
+

[jira] [Commented] (CASSANDRA-6056) Heavy write load exhausts heap space

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-6056:
---

5982 is applied to the only 2.0 branch in the repository.

 Heavy write load exhausts heap space
 

 Key: CASSANDRA-6056
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6056
 Project: Cassandra
  Issue Type: Bug
 Environment: Debian, Cassandra 2.0
Reporter: arnaud-lb
 Attachments: dominator-tree.png, jvisualvm-class-instances.png


 Issuing many INSERT or UPDATE queries cause cassandra to exhaust the heap 
 space in a few minutes. It then gets stuck in full GCs, failing to recover.
 Observed with the default config from Datastax Debian packages, with a 8GB 
 heap. Query rate is around 35K queries per second, with 16 concurrent queries.

--
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-6059) Improve memory-use defaults

2013-09-19 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-6059:
-

 Summary: Improve memory-use defaults
 Key: CASSANDRA-6059
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6059
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 2.0.1


Anecdotally, it's still too easy to OOM Cassandra even after moving sstable 
internals off heap.

--
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-6059) Improve memory-use defaults

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-6059:
--

Attachment: 6059.txt

 Improve memory-use defaults
 ---

 Key: CASSANDRA-6059
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6059
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 2.0.1

 Attachments: 6059.txt


 Anecdotally, it's still too easy to OOM Cassandra even after moving sstable 
 internals off heap.

--
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-5954) Make nodetool ring print an error message and suggest nodetool status when vnodes are enabled

2013-09-19 Thread Lyuben Todorov (JIRA)

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

Lyuben Todorov updated CASSANDRA-5954:
--

Attachment: 5954.patch

 Make nodetool ring print an error message and suggest nodetool status when 
 vnodes are enabled
 -

 Key: CASSANDRA-5954
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5954
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: Jonathan Ellis
Assignee: Lyuben Todorov
Priority: Minor
 Fix For: 2.0.1

 Attachments: 5954.patch




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


git commit: Allow cache-keys-to-save to be set at runtime patch by Chris Burroughs; reviewed by jbellis for CASSANDRA-5980

2013-09-19 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.2 937536363 - df046d6b4


Allow cache-keys-to-save to be set at runtime
patch by Chris Burroughs; reviewed by jbellis for CASSANDRA-5980


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

Branch: refs/heads/cassandra-1.2
Commit: df046d6b4262c3a879b60d1b6f082aea792e09a0
Parents: 9375363
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 10:18:07 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 10:18:07 2013 -0500

--
 CHANGES.txt |  4 ++
 .../cassandra/config/DatabaseDescriptor.java| 10 +
 .../apache/cassandra/service/CacheService.java  | 42 
 .../cassandra/service/CacheServiceMBean.java|  6 +++
 .../org/apache/cassandra/tools/NodeCmd.java |  8 +++-
 .../org/apache/cassandra/tools/NodeProbe.java   | 16 
 .../apache/cassandra/tools/NodeToolHelp.yaml|  3 ++
 7 files changed, 80 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/df046d6b/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index f853cce..27e6f24 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.2.11
+ * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
+
+
 1.2.10
  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/df046d6b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 8e3cbe2..22de2d6 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -1251,6 +1251,11 @@ public class DatabaseDescriptor
 return conf.key_cache_keys_to_save;
 }
 
+public static void setKeyCacheKeysToSave(int keyCacheKeysToSave)
+{
+conf.key_cache_keys_to_save = keyCacheKeysToSave;
+}
+
 public static long getRowCacheSizeInMB()
 {
 return conf.row_cache_size_in_mb;
@@ -1271,6 +1276,11 @@ public class DatabaseDescriptor
 return conf.row_cache_keys_to_save;
 }
 
+public static void setRowCacheKeysToSave(int rowCacheKeysToSave)
+{
+conf.row_cache_keys_to_save = rowCacheKeysToSave;
+}
+
 public static IRowCacheProvider getRowCacheProvider()
 {
 return rowCacheProvider;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/df046d6b/src/java/org/apache/cassandra/service/CacheService.java
--
diff --git a/src/java/org/apache/cassandra/service/CacheService.java 
b/src/java/org/apache/cassandra/service/CacheService.java
index 34864f2..5d3dc72 100644
--- a/src/java/org/apache/cassandra/service/CacheService.java
+++ b/src/java/org/apache/cassandra/service/CacheService.java
@@ -207,13 +207,13 @@ public class CacheService implements CacheServiceMBean
 return DatabaseDescriptor.getRowCacheSavePeriod();
 }
 
-public void setRowCacheSavePeriodInSeconds(int rcspis)
+public void setRowCacheSavePeriodInSeconds(int seconds)
 {
-if (rcspis  0)
+if (seconds  0)
 throw new RuntimeException(RowCacheSavePeriodInSeconds must be 
non-negative.);
 
-DatabaseDescriptor.setRowCacheSavePeriod(rcspis);
-rowCache.scheduleSaving(rcspis, 
DatabaseDescriptor.getRowCacheKeysToSave());
+DatabaseDescriptor.setRowCacheSavePeriod(seconds);
+rowCache.scheduleSaving(seconds, 
DatabaseDescriptor.getRowCacheKeysToSave());
 }
 
 public int getKeyCacheSavePeriodInSeconds()
@@ -221,13 +221,39 @@ public class CacheService implements CacheServiceMBean
 return DatabaseDescriptor.getKeyCacheSavePeriod();
 }
 
-public void setKeyCacheSavePeriodInSeconds(int kcspis)
+public void setKeyCacheSavePeriodInSeconds(int seconds)
 {
-if (kcspis  0)
+if (seconds  0)
 throw new RuntimeException(KeyCacheSavePeriodInSeconds must be 
non-negative.);
 
-DatabaseDescriptor.setKeyCacheSavePeriod(kcspis);
-keyCache.scheduleSaving(kcspis, 
DatabaseDescriptor.getKeyCacheKeysToSave());
+DatabaseDescriptor.setKeyCacheSavePeriod(seconds);
+keyCache.scheduleSaving(seconds, 

[1/2] git commit: Fix comment

2013-09-19 Thread aleksey
Updated Branches:
  refs/heads/trunk 23156863d - e1a910930


Fix comment


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

Branch: refs/heads/trunk
Commit: c2a36e7601f02765ebc8b661abbfc7264e765dab
Parents: 7453e6f
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 18:20:40 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 18:20:40 2013 +0300

--
 src/java/org/apache/cassandra/thrift/ThriftServer.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c2a36e76/src/java/org/apache/cassandra/thrift/ThriftServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/ThriftServer.java 
b/src/java/org/apache/cassandra/thrift/ThriftServer.java
index 3a0d545..dbd3824 100644
--- a/src/java/org/apache/cassandra/thrift/ThriftServer.java
+++ b/src/java/org/apache/cassandra/thrift/ThriftServer.java
@@ -81,7 +81,7 @@ public class ThriftServer implements CassandraDaemon.Server
 }
 
 /*
- * These methods are intended to be overriden to provide DSE specific 
implementations
+ * These methods are intended to be overridden to provide custom 
implementations.
  */
 protected CassandraServer getCassandraServer()
 {



[2/2] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-19 Thread aleksey
Merge branch 'cassandra-2.0' into trunk


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

Branch: refs/heads/trunk
Commit: e1a9109309511d80c4358406990bcd80b17ae7e1
Parents: 2315686 c2a36e7
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 18:21:11 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 18:21:11 2013 +0300

--
 src/java/org/apache/cassandra/thrift/ThriftServer.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[1/7] git commit: Allow cache-keys-to-save to be set at runtime patch by Chris Burroughs; reviewed by jbellis for CASSANDRA-5980

2013-09-19 Thread jbellis
Updated Branches:
  refs/heads/cassandra-2.0 c2a36e760 - cef6552c2
  refs/heads/trunk e1a910930 - ec7a3e594


Allow cache-keys-to-save to be set at runtime
patch by Chris Burroughs; reviewed by jbellis for CASSANDRA-5980


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

Branch: refs/heads/cassandra-2.0
Commit: df046d6b4262c3a879b60d1b6f082aea792e09a0
Parents: 9375363
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 10:18:07 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 10:18:07 2013 -0500

--
 CHANGES.txt |  4 ++
 .../cassandra/config/DatabaseDescriptor.java| 10 +
 .../apache/cassandra/service/CacheService.java  | 42 
 .../cassandra/service/CacheServiceMBean.java|  6 +++
 .../org/apache/cassandra/tools/NodeCmd.java |  8 +++-
 .../org/apache/cassandra/tools/NodeProbe.java   | 16 
 .../apache/cassandra/tools/NodeToolHelp.yaml|  3 ++
 7 files changed, 80 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/df046d6b/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index f853cce..27e6f24 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.2.11
+ * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
+
+
 1.2.10
  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/df046d6b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 8e3cbe2..22de2d6 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -1251,6 +1251,11 @@ public class DatabaseDescriptor
 return conf.key_cache_keys_to_save;
 }
 
+public static void setKeyCacheKeysToSave(int keyCacheKeysToSave)
+{
+conf.key_cache_keys_to_save = keyCacheKeysToSave;
+}
+
 public static long getRowCacheSizeInMB()
 {
 return conf.row_cache_size_in_mb;
@@ -1271,6 +1276,11 @@ public class DatabaseDescriptor
 return conf.row_cache_keys_to_save;
 }
 
+public static void setRowCacheKeysToSave(int rowCacheKeysToSave)
+{
+conf.row_cache_keys_to_save = rowCacheKeysToSave;
+}
+
 public static IRowCacheProvider getRowCacheProvider()
 {
 return rowCacheProvider;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/df046d6b/src/java/org/apache/cassandra/service/CacheService.java
--
diff --git a/src/java/org/apache/cassandra/service/CacheService.java 
b/src/java/org/apache/cassandra/service/CacheService.java
index 34864f2..5d3dc72 100644
--- a/src/java/org/apache/cassandra/service/CacheService.java
+++ b/src/java/org/apache/cassandra/service/CacheService.java
@@ -207,13 +207,13 @@ public class CacheService implements CacheServiceMBean
 return DatabaseDescriptor.getRowCacheSavePeriod();
 }
 
-public void setRowCacheSavePeriodInSeconds(int rcspis)
+public void setRowCacheSavePeriodInSeconds(int seconds)
 {
-if (rcspis  0)
+if (seconds  0)
 throw new RuntimeException(RowCacheSavePeriodInSeconds must be 
non-negative.);
 
-DatabaseDescriptor.setRowCacheSavePeriod(rcspis);
-rowCache.scheduleSaving(rcspis, 
DatabaseDescriptor.getRowCacheKeysToSave());
+DatabaseDescriptor.setRowCacheSavePeriod(seconds);
+rowCache.scheduleSaving(seconds, 
DatabaseDescriptor.getRowCacheKeysToSave());
 }
 
 public int getKeyCacheSavePeriodInSeconds()
@@ -221,13 +221,39 @@ public class CacheService implements CacheServiceMBean
 return DatabaseDescriptor.getKeyCacheSavePeriod();
 }
 
-public void setKeyCacheSavePeriodInSeconds(int kcspis)
+public void setKeyCacheSavePeriodInSeconds(int seconds)
 {
-if (kcspis  0)
+if (seconds  0)
 throw new RuntimeException(KeyCacheSavePeriodInSeconds must be 
non-negative.);
 
-DatabaseDescriptor.setKeyCacheSavePeriod(kcspis);
-keyCache.scheduleSaving(kcspis, 
DatabaseDescriptor.getKeyCacheKeysToSave());
+DatabaseDescriptor.setKeyCacheSavePeriod(seconds);
+keyCache.scheduleSaving(seconds, 

[4/7] git commit: merge from 1.2

2013-09-19 Thread jbellis
merge from 1.2


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

Branch: refs/heads/cassandra-2.0
Commit: fb7b71f6b1b8b8581f64ee86de5fdc2c7eabe590
Parents: 7453e6f df046d6
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 10:21:05 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 10:21:05 2013 -0500

--
 CHANGES.txt |  2 +
 .../cassandra/config/DatabaseDescriptor.java| 10 +
 .../apache/cassandra/service/CacheService.java  | 42 
 .../cassandra/service/CacheServiceMBean.java|  6 +++
 .../org/apache/cassandra/tools/NodeCmd.java |  8 +++-
 .../org/apache/cassandra/tools/NodeProbe.java   | 16 
 .../apache/cassandra/tools/NodeToolHelp.yaml|  3 ++
 7 files changed, 78 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb7b71f6/CHANGES.txt
--
diff --cc CHANGES.txt
index fcc33f2,27e6f24..ae6eedc
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,37 -1,8 +1,39 @@@
 -1.2.11
 +2.0.2
 + * Make ThriftServer more easlly extensible (CASSANDRA-6058)
++Merged from 1.2:
+  * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
  
  
 -1.2.10
 +2.0.1
 + * add file_cache_size_in_mb setting (CASSANDRA-5661)
 + * Improve error message when yaml contains invalid properties 
(CASSANDRA-5958)
 + * Improve leveled compaction's ability to find non-overlapping L0 compactions
 +   to work on concurrently (CASSANDRA-5921)
 + * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
 + * Log Merkle tree stats (CASSANDRA-2698)
 + * Switch from crc32 to adler32 for compressed sstable checksums 
(CASSANDRA-5862)
 + * Improve offheap memcpy performance (CASSANDRA-5884)
 + * Use a range aware scanner for cleanup (CASSANDRA-2524)
 + * Cleanup doesn't need to inspect sstables that contain only local data
 +   (CASSANDRA-5722)
 + * Add ability for CQL3 to list partition keys (CASSANDRA-4536)
 + * Improve native protocol serialization (CASSANDRA-5664)
 + * Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
 + * Require superuser status for adding triggers (CASSANDRA-5963)
 + * Make standalone scrubber handle old and new style leveled manifest
 +   (CASSANDRA-6005)
 + * Fix paxos bugs (CASSANDRA-6012, 6013, 6023)
 + * Fix paged ranges with multiple replicas (CASSANDRA-6004)
 + * Fix potential AssertionError during tracing (CASSANDRA-6041)
 + * Fix NPE in sstablesplit (CASSANDRA-6027)
 + * Migrate pre-2.0 key/value/column aliases to system.schema_columns
 +   (CASSANDRA-6009)
 + * Paging filter empty rows too agressively (CASSANDRA-6040)
 + * Support variadic parameters for IN clauses (CASSANDRA-4210)
 + * cqlsh: return the result of CAS writes (CASSANDRA-5796)
 + * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
 + * Support named bind variables in CQL (CASSANDRA-6033)
 +Merged from 1.2:
   * Avoid second-guessing out-of-space state (CASSANDRA-5605)
   * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)
   * (Hadoop) Fix CQLRW for thrift tables (CASSANDRA-6002)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb7b71f6/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--
diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index b3eeca6,22de2d6..42459e4
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@@ -1207,11 -1276,16 +1212,16 @@@ public class DatabaseDescripto
  return conf.row_cache_keys_to_save;
  }
  
 -public static void setRowCacheKeysToSave(int rowCacheKeysToSave)
 +public static IAllocator getoffHeapMemoryAllocator()
  {
 -conf.row_cache_keys_to_save = rowCacheKeysToSave;
 +return memoryAllocator;
  }
  
 -public static IRowCacheProvider getRowCacheProvider()
++public static void setRowCacheKeysToSave(int rowCacheKeysToSave)
+ {
 -return rowCacheProvider;
++conf.row_cache_keys_to_save = rowCacheKeysToSave;
+ }
+ 
  public static int getStreamingSocketTimeout()
  {
  return conf.streaming_socket_timeout_in_ms;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb7b71f6/src/java/org/apache/cassandra/service/CacheService.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb7b71f6/src/java/org/apache/cassandra/service/CacheServiceMBean.java

[5/7] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-19 Thread jbellis
Merge branch 'cassandra-2.0' into trunk


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

Branch: refs/heads/trunk
Commit: 636598d3424b9eb7aeb2166193d5793d40d44925
Parents: 2315686 fb7b71f
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 10:22:01 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 10:22:01 2013 -0500

--
 CHANGES.txt |  2 +
 .../cassandra/config/DatabaseDescriptor.java| 10 +
 .../apache/cassandra/service/CacheService.java  | 42 
 .../cassandra/service/CacheServiceMBean.java|  6 +++
 .../org/apache/cassandra/tools/NodeCmd.java |  8 +++-
 .../org/apache/cassandra/tools/NodeProbe.java   | 16 
 .../apache/cassandra/tools/NodeToolHelp.yaml|  3 ++
 7 files changed, 78 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/636598d3/CHANGES.txt
--
diff --cc CHANGES.txt
index fe652f6,ae6eedc..942063e
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,13 -1,7 +1,15 @@@
 +2.1
 + * change logging from log4j to logback (CASSANDRA-5883)
 + * switch to LZ4 compression for internode communication (CASSANDRA-5887)
 + * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
 + * Remove 1.2 network compatibility code (CASSANDRA-5960)
 + * Remove leveled json manifest migration code (CASSANDRA-5996)
 +
 +
  2.0.2
   * Make ThriftServer more easlly extensible (CASSANDRA-6058)
+ Merged from 1.2:
+  * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
  
  
  2.0.1

http://git-wip-us.apache.org/repos/asf/cassandra/blob/636598d3/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--



[3/7] git commit: merge from 1.2

2013-09-19 Thread jbellis
merge from 1.2


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

Branch: refs/heads/trunk
Commit: fb7b71f6b1b8b8581f64ee86de5fdc2c7eabe590
Parents: 7453e6f df046d6
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 10:21:05 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 10:21:05 2013 -0500

--
 CHANGES.txt |  2 +
 .../cassandra/config/DatabaseDescriptor.java| 10 +
 .../apache/cassandra/service/CacheService.java  | 42 
 .../cassandra/service/CacheServiceMBean.java|  6 +++
 .../org/apache/cassandra/tools/NodeCmd.java |  8 +++-
 .../org/apache/cassandra/tools/NodeProbe.java   | 16 
 .../apache/cassandra/tools/NodeToolHelp.yaml|  3 ++
 7 files changed, 78 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb7b71f6/CHANGES.txt
--
diff --cc CHANGES.txt
index fcc33f2,27e6f24..ae6eedc
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,37 -1,8 +1,39 @@@
 -1.2.11
 +2.0.2
 + * Make ThriftServer more easlly extensible (CASSANDRA-6058)
++Merged from 1.2:
+  * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
  
  
 -1.2.10
 +2.0.1
 + * add file_cache_size_in_mb setting (CASSANDRA-5661)
 + * Improve error message when yaml contains invalid properties 
(CASSANDRA-5958)
 + * Improve leveled compaction's ability to find non-overlapping L0 compactions
 +   to work on concurrently (CASSANDRA-5921)
 + * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
 + * Log Merkle tree stats (CASSANDRA-2698)
 + * Switch from crc32 to adler32 for compressed sstable checksums 
(CASSANDRA-5862)
 + * Improve offheap memcpy performance (CASSANDRA-5884)
 + * Use a range aware scanner for cleanup (CASSANDRA-2524)
 + * Cleanup doesn't need to inspect sstables that contain only local data
 +   (CASSANDRA-5722)
 + * Add ability for CQL3 to list partition keys (CASSANDRA-4536)
 + * Improve native protocol serialization (CASSANDRA-5664)
 + * Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
 + * Require superuser status for adding triggers (CASSANDRA-5963)
 + * Make standalone scrubber handle old and new style leveled manifest
 +   (CASSANDRA-6005)
 + * Fix paxos bugs (CASSANDRA-6012, 6013, 6023)
 + * Fix paged ranges with multiple replicas (CASSANDRA-6004)
 + * Fix potential AssertionError during tracing (CASSANDRA-6041)
 + * Fix NPE in sstablesplit (CASSANDRA-6027)
 + * Migrate pre-2.0 key/value/column aliases to system.schema_columns
 +   (CASSANDRA-6009)
 + * Paging filter empty rows too agressively (CASSANDRA-6040)
 + * Support variadic parameters for IN clauses (CASSANDRA-4210)
 + * cqlsh: return the result of CAS writes (CASSANDRA-5796)
 + * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
 + * Support named bind variables in CQL (CASSANDRA-6033)
 +Merged from 1.2:
   * Avoid second-guessing out-of-space state (CASSANDRA-5605)
   * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)
   * (Hadoop) Fix CQLRW for thrift tables (CASSANDRA-6002)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb7b71f6/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--
diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index b3eeca6,22de2d6..42459e4
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@@ -1207,11 -1276,16 +1212,16 @@@ public class DatabaseDescripto
  return conf.row_cache_keys_to_save;
  }
  
 -public static void setRowCacheKeysToSave(int rowCacheKeysToSave)
 +public static IAllocator getoffHeapMemoryAllocator()
  {
 -conf.row_cache_keys_to_save = rowCacheKeysToSave;
 +return memoryAllocator;
  }
  
 -public static IRowCacheProvider getRowCacheProvider()
++public static void setRowCacheKeysToSave(int rowCacheKeysToSave)
+ {
 -return rowCacheProvider;
++conf.row_cache_keys_to_save = rowCacheKeysToSave;
+ }
+ 
  public static int getStreamingSocketTimeout()
  {
  return conf.streaming_socket_timeout_in_ms;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb7b71f6/src/java/org/apache/cassandra/service/CacheService.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb7b71f6/src/java/org/apache/cassandra/service/CacheServiceMBean.java

[7/7] git commit: Merge remote-tracking branch 'origin/trunk' into trunk

2013-09-19 Thread jbellis
Merge remote-tracking branch 'origin/trunk' into trunk


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

Branch: refs/heads/trunk
Commit: ec7a3e594e99c5ae85739737f8c07d2d5786e37a
Parents: 636598d e1a9109
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 10:22:40 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 10:22:40 2013 -0500

--
 src/java/org/apache/cassandra/thrift/ThriftServer.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[2/7] git commit: Allow cache-keys-to-save to be set at runtime patch by Chris Burroughs; reviewed by jbellis for CASSANDRA-5980

2013-09-19 Thread jbellis
Allow cache-keys-to-save to be set at runtime
patch by Chris Burroughs; reviewed by jbellis for CASSANDRA-5980


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

Branch: refs/heads/trunk
Commit: df046d6b4262c3a879b60d1b6f082aea792e09a0
Parents: 9375363
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 10:18:07 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 10:18:07 2013 -0500

--
 CHANGES.txt |  4 ++
 .../cassandra/config/DatabaseDescriptor.java| 10 +
 .../apache/cassandra/service/CacheService.java  | 42 
 .../cassandra/service/CacheServiceMBean.java|  6 +++
 .../org/apache/cassandra/tools/NodeCmd.java |  8 +++-
 .../org/apache/cassandra/tools/NodeProbe.java   | 16 
 .../apache/cassandra/tools/NodeToolHelp.yaml|  3 ++
 7 files changed, 80 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/df046d6b/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index f853cce..27e6f24 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.2.11
+ * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
+
+
 1.2.10
  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/df046d6b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 8e3cbe2..22de2d6 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -1251,6 +1251,11 @@ public class DatabaseDescriptor
 return conf.key_cache_keys_to_save;
 }
 
+public static void setKeyCacheKeysToSave(int keyCacheKeysToSave)
+{
+conf.key_cache_keys_to_save = keyCacheKeysToSave;
+}
+
 public static long getRowCacheSizeInMB()
 {
 return conf.row_cache_size_in_mb;
@@ -1271,6 +1276,11 @@ public class DatabaseDescriptor
 return conf.row_cache_keys_to_save;
 }
 
+public static void setRowCacheKeysToSave(int rowCacheKeysToSave)
+{
+conf.row_cache_keys_to_save = rowCacheKeysToSave;
+}
+
 public static IRowCacheProvider getRowCacheProvider()
 {
 return rowCacheProvider;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/df046d6b/src/java/org/apache/cassandra/service/CacheService.java
--
diff --git a/src/java/org/apache/cassandra/service/CacheService.java 
b/src/java/org/apache/cassandra/service/CacheService.java
index 34864f2..5d3dc72 100644
--- a/src/java/org/apache/cassandra/service/CacheService.java
+++ b/src/java/org/apache/cassandra/service/CacheService.java
@@ -207,13 +207,13 @@ public class CacheService implements CacheServiceMBean
 return DatabaseDescriptor.getRowCacheSavePeriod();
 }
 
-public void setRowCacheSavePeriodInSeconds(int rcspis)
+public void setRowCacheSavePeriodInSeconds(int seconds)
 {
-if (rcspis  0)
+if (seconds  0)
 throw new RuntimeException(RowCacheSavePeriodInSeconds must be 
non-negative.);
 
-DatabaseDescriptor.setRowCacheSavePeriod(rcspis);
-rowCache.scheduleSaving(rcspis, 
DatabaseDescriptor.getRowCacheKeysToSave());
+DatabaseDescriptor.setRowCacheSavePeriod(seconds);
+rowCache.scheduleSaving(seconds, 
DatabaseDescriptor.getRowCacheKeysToSave());
 }
 
 public int getKeyCacheSavePeriodInSeconds()
@@ -221,13 +221,39 @@ public class CacheService implements CacheServiceMBean
 return DatabaseDescriptor.getKeyCacheSavePeriod();
 }
 
-public void setKeyCacheSavePeriodInSeconds(int kcspis)
+public void setKeyCacheSavePeriodInSeconds(int seconds)
 {
-if (kcspis  0)
+if (seconds  0)
 throw new RuntimeException(KeyCacheSavePeriodInSeconds must be 
non-negative.);
 
-DatabaseDescriptor.setKeyCacheSavePeriod(kcspis);
-keyCache.scheduleSaving(kcspis, 
DatabaseDescriptor.getKeyCacheKeysToSave());
+DatabaseDescriptor.setKeyCacheSavePeriod(seconds);
+keyCache.scheduleSaving(seconds, 
DatabaseDescriptor.getKeyCacheKeysToSave());
+}
+
+public int getRowCacheKeysToSave()
+{
+return 

[6/7] git commit: Merge remote-tracking branch 'origin/cassandra-2.0' into cassandra-2.0

2013-09-19 Thread jbellis
Merge remote-tracking branch 'origin/cassandra-2.0' into cassandra-2.0


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

Branch: refs/heads/cassandra-2.0
Commit: cef6552c26d79baff1ecfcc4a9f556681c0cb15f
Parents: fb7b71f c2a36e7
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 10:22:30 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 10:22:30 2013 -0500

--
 src/java/org/apache/cassandra/thrift/ThriftServer.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[jira] [Commented] (CASSANDRA-5980) Allow cache keys-to-save to be dynamically set

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5980:
---

LGTM, committed

 Allow cache keys-to-save to be dynamically set
 --

 Key: CASSANDRA-5980
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5980
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Chris Burroughs
Assignee: Chris Burroughs
Priority: Minor
 Fix For: 1.2.11, 2.0.2

 Attachments: j5980-a.txt


 We have the option {key,row}_cache_keys_to_save so that operators can chose a 
 balance between can't handle load on cold start and takes too long to 
 reboot.  However, this can currently only be set at startup.  This means 
 that once it has been determined that X is a bad value for keys_to_save 
 another badness inducing restart is required to change X.

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


git commit: Fix comment

2013-09-19 Thread aleksey
Updated Branches:
  refs/heads/cassandra-2.0 7453e6f2b - c2a36e760


Fix comment


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

Branch: refs/heads/cassandra-2.0
Commit: c2a36e7601f02765ebc8b661abbfc7264e765dab
Parents: 7453e6f
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 18:20:40 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 18:20:40 2013 +0300

--
 src/java/org/apache/cassandra/thrift/ThriftServer.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c2a36e76/src/java/org/apache/cassandra/thrift/ThriftServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/ThriftServer.java 
b/src/java/org/apache/cassandra/thrift/ThriftServer.java
index 3a0d545..dbd3824 100644
--- a/src/java/org/apache/cassandra/thrift/ThriftServer.java
+++ b/src/java/org/apache/cassandra/thrift/ThriftServer.java
@@ -81,7 +81,7 @@ public class ThriftServer implements CassandraDaemon.Server
 }
 
 /*
- * These methods are intended to be overriden to provide DSE specific 
implementations
+ * These methods are intended to be overridden to provide custom 
implementations.
  */
 protected CassandraServer getCassandraServer()
 {



git commit: Move CASSANDRA-6058 to 2.0.2

2013-09-19 Thread aleksey
Updated Branches:
  refs/heads/cassandra-2.0 caf047b85 - 7453e6f2b


Move CASSANDRA-6058 to 2.0.2


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

Branch: refs/heads/cassandra-2.0
Commit: 7453e6f2bacc8663bd2b07c54a44fba1533e64a8
Parents: caf047b
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 18:12:29 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 18:12:29 2013 +0300

--
 CHANGES.txt | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7453e6f2/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 06d9b16..fcc33f2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+2.0.2
+ * Make ThriftServer more easlly extensible (CASSANDRA-6058)
+
+
 2.0.1
  * add file_cache_size_in_mb setting (CASSANDRA-5661)
  * Improve error message when yaml contains invalid properties (CASSANDRA-5958)
@@ -27,7 +31,6 @@
  * cqlsh: return the result of CAS writes (CASSANDRA-5796)
  * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
  * Support named bind variables in CQL (CASSANDRA-6033)
- * Make ThriftServer more easlly extensible (CASSANDRA-6058)
 Merged from 1.2:
  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)



[jira] [Updated] (CASSANDRA-5983) Include sample CQL schema with distribution

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-5983:
--

Component/s: Contrib
   Assignee: Patrick McFadin
 Issue Type: New Feature  (was: Improvement)

I like it.  Lets add it to examples/, and update our README to point people to 
it.

The queries probably needs a lot of comments.

 Include sample CQL schema with distribution
 ---

 Key: CASSANDRA-5983
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5983
 Project: Cassandra
  Issue Type: New Feature
  Components: Contrib
Reporter: Patrick McFadin
Assignee: Patrick McFadin
Priority: Minor

 Having a sample schema will give new users a easy place to start with CQL. I 
 have been using an example schema for over a year that tries to cover many 
 data model topics. 
 I have made the examples available on my Githib account: 
 https://github.com/pmcfadin/cassandra-videodb-sample-schema
 I need to add more sample queries but would like to start getting feedback on 
 any specific CQL features to add. I would like to show as many features as 
 possible and still make it useful. 

--
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] [Comment Edited] (CASSANDRA-5983) Include sample CQL schema with distribution

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis edited comment on CASSANDRA-5983 at 9/19/13 3:06 PM:


I like it.  Give us a patch to add it to examples/, and update the main README 
to point people to it.

The queries probably needs a lot of comments.

  was (Author: jbellis):
I like it.  Lets add it to examples/, and update our README to point people 
to it.

The queries probably needs a lot of comments.
  
 Include sample CQL schema with distribution
 ---

 Key: CASSANDRA-5983
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5983
 Project: Cassandra
  Issue Type: New Feature
  Components: Contrib
Reporter: Patrick McFadin
Assignee: Patrick McFadin
Priority: Minor

 Having a sample schema will give new users a easy place to start with CQL. I 
 have been using an example schema for over a year that tries to cover many 
 data model topics. 
 I have made the examples available on my Githib account: 
 https://github.com/pmcfadin/cassandra-videodb-sample-schema
 I need to add more sample queries but would like to start getting feedback on 
 any specific CQL features to add. I would like to show as many features as 
 possible and still make it useful. 

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


[2/2] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-19 Thread aleksey
Merge branch 'cassandra-2.0' into trunk

Conflicts:
CHANGES.txt


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

Branch: refs/heads/trunk
Commit: 23156863d8c3ab8a8ea490a0cd7c76af63a5e994
Parents: b1d1fac 7453e6f
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 18:14:23 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 18:14:23 2013 +0300

--
 CHANGES.txt | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/23156863/CHANGES.txt
--
diff --cc CHANGES.txt
index 4254d70,fcc33f2..fe652f6
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,10 -1,7 +1,15 @@@
 +2.1
 + * change logging from log4j to logback (CASSANDRA-5883)
 + * switch to LZ4 compression for internode communication (CASSANDRA-5887)
 + * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
 + * Remove 1.2 network compatibility code (CASSANDRA-5960)
 + * Remove leveled json manifest migration code (CASSANDRA-5996)
 +
++
+ 2.0.2
+  * Make ThriftServer more easlly extensible (CASSANDRA-6058)
+ 
+ 
  2.0.1
   * add file_cache_size_in_mb setting (CASSANDRA-5661)
   * Improve error message when yaml contains invalid properties 
(CASSANDRA-5958)



[jira] [Updated] (CASSANDRA-6058) Make ThriftServer more easlly extensible

2013-09-19 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-6058:
-

Fix Version/s: (was: 2.0.1)
   2.0.2

 Make ThriftServer more easlly extensible
 

 Key: CASSANDRA-6058
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6058
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Assignee: Sam Tunnicliffe
Priority: Minor
 Fix For: 2.0.2

 Attachments: 6058.txt


 Make ThriftServer more easlly extensible

--
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-6060) Remove internal use of Strings for ks/cf namaes

2013-09-19 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-6060:
-

 Summary: Remove internal use of Strings for ks/cf namaes
 Key: CASSANDRA-6060
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6060
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
 Fix For: 2.1


We toss a lot of Strings around internally, including across the network.  Once 
a request has been Prepared, we ought to be able to encode these as int ids.

Unfortuntely, we moved from int to uuid in CASSANDRA-3794, which was a 
reasonable move at the time, but a uuid is a lot bigger than an int.  Now that 
we have CAS we can allow concurrent schema updates while still using sequential 
int IDs.

--
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-5863) Create a Decompressed Chunk [block] Cache

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-5863:
-

Assignee: Pavel Yaskevich  (was: Tyler Hobbs)

 Create a Decompressed Chunk [block] Cache
 -

 Key: CASSANDRA-5863
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5863
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: T Jake Luciani
Assignee: Pavel Yaskevich
 Fix For: 2.1


 Currently, for every read, the CRAR reads each compressed chunk into a 
 byte[], sends it to ICompressor, gets back another byte[] and verifies a 
 checksum.  
 This process is where the majority of time is spent in a read request.  
 Before compression, we would have zero-copy of data and could respond 
 directly from the page-cache.
 It would be useful to have some kind of Chunk cache that could speed up this 
 process for hot data. Initially this could be a off heap cache but it would 
 be great to put these decompressed chunks onto a SSD so the hot data lives on 
 a fast disk similar to https://github.com/facebook/flashcache.

--
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-5202) CFs should have non deterministic CF ID

2013-09-19 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-5202:
--

Summary: CFs should have non deterministic CF ID  (was: CFs should have non 
deterministic)

 CFs should have non deterministic CF ID
 ---

 Key: CASSANDRA-5202
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.9
 Environment: OS: Windows 7, 
 Server: Cassandra 1.1.9 release drop
 Client: astyanax 1.56.21, 
 JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
Reporter: Marat Bedretdinov
Assignee: Yuki Morishita
  Labels: test
 Fix For: 2.1

 Attachments: 5202-1.1.txt, 5202-2.0.0.txt, astyanax-stress-driver.zip


 Attached is a driver that sequentially:
 1. Drops keyspace
 2. Creates keyspace
 4. Creates 2 column families
 5. Seeds 1M rows with 100 columns
 6. Queries these 2 column families
 The above steps are repeated 1000 times.
 The following exception is observed at random (race - SEDA?):
 ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
 (line 135) Exception in thread Thread[ReadStage:55,5,main]
 java.lang.AssertionError: DecoratedKey(-1, ) != 
 DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
 C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
   at 
 org.apache.cassandra.db.columniterator.SSTableSliceIterator.init(SSTableSliceIterator.java:60)
   at 
 org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
   at 
 org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
   at 
 org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
   at 
 org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
   at 
 org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
   at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
   at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
   at org.apache.cassandra.db.Table.getRow(Table.java:378)
   at 
 org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
   at 
 org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
   at 
 org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:662)
 This exception appears in the server at the time of client submitting a query 
 request (row slice) and not at the time data is seeded. The client times out 
 and this data can no longer be queried as the same exception would always 
 occur from there on.
 Also on iteration 201, it appears that dropping column families failed and as 
 a result their recreation failed with unique column family name violation 
 (see exception below). Note that the data files are actually gone, so it 
 appears that the server runtime responsible for creating column family was 
 out of sync with the piece that dropped them:
 Starting dropping column families
 Dropped column families
 Starting dropping keyspace
 Dropped keyspace
 Starting creating column families
 Created column families
 Starting seeding data
 Total rows inserted: 100 in 5105 ms
 Iteration: 200; Total running time for 1000 queries is 232; Average running 
 time of 1000 queries is 0 ms
 Starting dropping column families
 Dropped column families
 Starting dropping keyspace
 Dropped keyspace
 Starting creating column families
 Created column families
 Starting seeding data
 Total rows inserted: 100 in 5361 ms
 Iteration: 201; Total running time for 1000 queries is 222; Average running 
 time of 1000 queries is 0 ms
 Starting dropping column families
 Starting creating column families
 Exception in thread main 
 com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
 BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=2468(2469), 
 attempts=1]InvalidRequestException(why:Keyspace names must be 
 case-insensitively unique (user_role_reverse_index conflicts with 
 user_role_reverse_index))
   at 
 com.netflix.astyanax.thrift.ThriftConverter.ToConnectionPoolException(ThriftConverter.java:159)
   at 
 com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:60)
   at 
 

[jira] [Assigned] (CASSANDRA-4175) Reduce memory, disk space, and cpu usage with a column name/id map

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-4175:
-

Assignee: Jason Brown

 Reduce memory, disk space, and cpu usage with a column name/id map
 --

 Key: CASSANDRA-4175
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4175
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: Jason Brown
 Fix For: 2.1


 We spend a lot of memory on column names, both transiently (during reads) and 
 more permanently (in the row cache).  Compression mitigates this on disk but 
 not on the heap.
 The overhead is significant for typical small column values, e.g., ints.
 Even though we intern once we get to the memtable, this affects writes too 
 via very high allocation rates in the young generation, hence more GC 
 activity.
 Now that CQL3 provides us some guarantees that column names must be defined 
 before they are inserted, we could create a map of (say) 32-bit int column 
 id, to names, and use that internally right up until we return a resultset to 
 the client.

--
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-4338) Experiment with direct buffer in SequentialWriter

2013-09-19 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-4338:
-

Fix Version/s: 2.1

 Experiment with direct buffer in SequentialWriter
 -

 Key: CASSANDRA-4338
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4338
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 2.1

 Attachments: 4338-gc.tar.gz, gc-4338-patched.png, gc-trunk.png


 Using a direct buffer instead of a heap-based byte[] should let us avoid a 
 copy into native memory when we flush the buffer.

--
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-5590) User defined types for CQL3

2013-09-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne reassigned CASSANDRA-5590:
---

Assignee: Sylvain Lebresne

 User defined types for CQL3
 ---

 Key: CASSANDRA-5590
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5590
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 2.1


 A typical use case for a collection could be to store a bunch of addresses in 
 a user profile. An address could typically be composed of a few properties: 
 say a street, a city, a postal code and maybe a few phone numbers associated 
 to it.
 To model that currently with collections, you might use a {{mapstring, 
 blob}}, where the map key could be a string identifying the address, and the 
 value would be all the infos of an address serialized manually (you can use 
 {{text}} instead of {{blob}} and shove everything in a string if you prefer 
 but the principle is the same).
 This ticket suggests to make this more user friendly by allowing:
 {noformat}
 CREATE TYPE address (
   street text,
   city text,
   zip_code int,
   phones settext
 )
 CREATE TABLE users (
   id uuid PRIMARY KEY,
   name text,
   addresses mapstring, address
 )
 {noformat}
 Under the hood, that type declaration would just be metadata on top of 
 CompositeType (which does mean a limitation would be that we wouldn't allow 
 re-ordering or removal of fields in a custom TYPE). Namely, the {{address}} 
 type would be in practice a {{CompositeType(UTF8Type, UTF8Type, Int32Type, 
 SetType(UTF8Type))}} + some metadata that records the name of each component. 
  In other words, this would mostly be user-friendly syntactic sugar to create 
 composite blobs.
 I'll note that this would also be useful outside collections, as it might 
 sometimes be more efficient/useful to have such simple composite blob. For 
 instance, you could imagine to have a:
 {noformat}
 CREATE TYPE fullname (
   firstname text,
   lastname text
 )
 {noformat}
 and to rewrite the {{users}} table above as
 {noformat}
 CREATE TABLE users (
   id uuid PRIMARY KEY,
   name fullname,
   addresses mapstring, address
 )
 {noformat}
 In terms of inserts we'd need a syntax for those new struct. Could be:
 {noformat}
 INSERT INTO users (id, name)
VALUES (2ad..., { firstname: 'Paul', lastname: 'smith'});
 UPDATE users
SET addresses = address + { 'home': { street: '...', city: 'SF', zip_code: 
 94102, phones: {} } }
WHERE id=2ad...;
 {noformat}
 where the difference with a map is that the key would be a column name (in 
 the CQL3 sense), not a value/literal. Though we might find that a bit 
 confusing and find some other syntax.
 On the query side, we could optionally allow things like:
 {noformat}
 SELECT name.firstname, name.lastname FROM users WHERE id=2ad...;
 {noformat}
 One open question however is what type do we send back in the result set
 for a query like:
 {noformat}
 SELECT name FROM users WHERE id=2ad...;
 {noformat}
 We could:
 # return just that it's the user defined type named {{address}}, but that 
 imply the client has to query the cluster metadata to find out the definition 
 of the type.
 # return the full definition of the type every time.
 I also note that client side, it might be a tad harder to support such types 
 cleanly in statically type languages than in dynamically typed ones, but 
 that's not the end of the world either. 

--
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-5862) Switch to adler checksum for sstables

2013-09-19 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-5862:
---

Hi Adrien, Interesting benchmark! Did you run your benchmark with JDK7?  I ask 
because I thought they sped up the implementations quite a bit for adler and crc

 Switch to adler checksum for sstables
 -

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

 Attachments: 5862.txt


 Adler is significantly faster than CRC32: 
 http://java-performance.info/java-crc32-and-adler32/
 (Adler is weaker for short inputs, so we should leave the commitlog alone, as 
 it checksums each mutation individually.)

--
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-6059) Improve memory-use defaults

2013-09-19 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-6059:
-

I'm fine with the memtable change, but the write timeout, especially in a 
minor, seems like it's going to surprise some people who do large batches.

 Improve memory-use defaults
 ---

 Key: CASSANDRA-6059
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6059
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 2.0.1

 Attachments: 6059.txt


 Anecdotally, it's still too easy to OOM Cassandra even after moving sstable 
 internals off heap.

--
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-6062) Remove Hadoop dependency from ITransportFactory

2013-09-19 Thread Aleksey Yeschenko (JIRA)
Aleksey Yeschenko created CASSANDRA-6062:


 Summary: Remove Hadoop dependency from ITransportFactory
 Key: CASSANDRA-6062
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6062
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Assignee: Sam Tunnicliffe
Priority: Trivial
 Fix For: 2.0.2
 Attachments: 6062.txt

Remove Hadoop dependency from ITransportFactory so that
implementations don't require the Hadoop libs

--
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-6062) Remove Hadoop dependency from ITransportFactory

2013-09-19 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-6062:
-

Attachment: 6062.txt

 Remove Hadoop dependency from ITransportFactory
 ---

 Key: CASSANDRA-6062
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6062
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Assignee: Sam Tunnicliffe
Priority: Trivial
 Fix For: 2.0.2

 Attachments: 6062.txt


 Remove Hadoop dependency from ITransportFactory so that
 implementations don't require the Hadoop libs

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


[1/3] git commit: Merge remote-tracking branch 'origin/cassandra-2.0' into cassandra-2.0

2013-09-19 Thread aleksey
Updated Branches:
  refs/heads/trunk ec7a3e594 - e5a7cede6


Merge remote-tracking branch 'origin/cassandra-2.0' into cassandra-2.0


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

Branch: refs/heads/trunk
Commit: cef6552c26d79baff1ecfcc4a9f556681c0cb15f
Parents: fb7b71f c2a36e7
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 10:22:30 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 10:22:30 2013 -0500

--
 src/java/org/apache/cassandra/thrift/ThriftServer.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[jira] [Updated] (CASSANDRA-5916) gossip and tokenMetadata get hostId out of sync on failed replace_node with the same IP address

2013-09-19 Thread Jeremiah Jordan (JIRA)

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

Jeremiah Jordan updated CASSANDRA-5916:
---

Assignee: Brandon Williams  (was: Jeremiah Jordan)

 gossip and tokenMetadata get hostId out of sync on failed replace_node with 
 the same IP address
 ---

 Key: CASSANDRA-5916
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5916
 Project: Cassandra
  Issue Type: Bug
Reporter: Brandon Williams
Assignee: Brandon Williams
 Fix For: 1.2.11


 If you try to replace_node an existing, live hostId, it will error out.  
 However if you're using an existing IP to do this (as in, you chose the wrong 
 uuid to replace on accident) then the newly generated hostId wipes out the 
 old one in TMD, and when you do try to replace it replace_node will complain 
 it does not exist.  Examination of gossipinfo still shows the old hostId, 
 however now you can't replace it either.

--
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-5916) gossip and tokenMetadata get hostId out of sync on failed replace_node with the same IP address

2013-09-19 Thread Jeremiah Jordan (JIRA)

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

Jeremiah Jordan reassigned CASSANDRA-5916:
--

Assignee: Jeremiah Jordan  (was: Brandon Williams)

 gossip and tokenMetadata get hostId out of sync on failed replace_node with 
 the same IP address
 ---

 Key: CASSANDRA-5916
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5916
 Project: Cassandra
  Issue Type: Bug
Reporter: Brandon Williams
Assignee: Jeremiah Jordan
 Fix For: 1.2.11


 If you try to replace_node an existing, live hostId, it will error out.  
 However if you're using an existing IP to do this (as in, you chose the wrong 
 uuid to replace on accident) then the newly generated hostId wipes out the 
 old one in TMD, and when you do try to replace it replace_node will complain 
 it does not exist.  Examination of gossipinfo still shows the old hostId, 
 however now you can't replace it either.

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


[2/3] git commit: Remove Hadoop dependency from ITransportFactory

2013-09-19 Thread aleksey
Remove Hadoop dependency from ITransportFactory

patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-6062


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

Branch: refs/heads/trunk
Commit: 2336d94ef3a286bc9b7331086085eca56f915e76
Parents: cef6552
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 21:05:15 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 21:05:15 2013 +0300

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/cli/CliMain.java  | 28 +
 .../org/apache/cassandra/cli/CliOptions.java| 15 +
 .../apache/cassandra/cli/CliSessionState.java   |  6 ++--
 .../hadoop/AbstractColumnFamilyInputFormat.java | 11 ---
 .../AbstractColumnFamilyOutputFormat.java   |  2 +-
 .../apache/cassandra/hadoop/ConfigHelper.java   | 33 +++-
 .../cassandra/thrift/ITransportFactory.java | 14 +++--
 .../thrift/TFramedTransportFactory.java | 17 +-
 9 files changed, 50 insertions(+), 77 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2336d94e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index ae6eedc..a25d03e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,6 @@
 2.0.2
  * Make ThriftServer more easlly extensible (CASSANDRA-6058)
+ * Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062)
 Merged from 1.2:
  * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2336d94e/src/java/org/apache/cassandra/cli/CliMain.java
--
diff --git a/src/java/org/apache/cassandra/cli/CliMain.java 
b/src/java/org/apache/cassandra/cli/CliMain.java
index 144bd2e..77a9020 100644
--- a/src/java/org/apache/cassandra/cli/CliMain.java
+++ b/src/java/org/apache/cassandra/cli/CliMain.java
@@ -24,16 +24,15 @@ import java.io.IOException;
 import java.nio.charset.CharacterCodingException;
 import java.util.*;
 
-import jline.ConsoleReader;
-import jline.History;
 import org.apache.cassandra.auth.IAuthenticator;
 import org.apache.cassandra.io.util.FileUtils;
 import org.apache.cassandra.thrift.*;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
-import org.apache.thrift.transport.TSocket;
 import org.apache.thrift.transport.TTransport;
+import jline.ConsoleReader;
+import jline.History;
 
 /**
  * Cassandra Command Line Interface (CLI) Main
@@ -58,19 +57,12 @@ public class CliMain
  */
 public static void connect(String server, int port)
 {
-TSocket socket = new TSocket(server, port);
-
 if (transport != null)
 transport.close();
 
-transport = sessionState.transportFactory.getTransport(socket);
-TBinaryProtocol binaryProtocol = new TBinaryProtocol(transport, true, 
true);
-Cassandra.Client cassandraClient = new 
Cassandra.Client(binaryProtocol);
-
 try
 {
-if (!transport.isOpen())
-transport.open();
+transport = sessionState.transportFactory.openTransport(server, 
port);
 }
 catch (Exception e)
 {
@@ -80,7 +72,8 @@ public class CliMain
 throw new RuntimeException(Exception connecting to  + server + 
/ + port + . Reason:  + error + .);
 }
 
-thriftClient = cassandraClient;
+TBinaryProtocol binaryProtocol = new TBinaryProtocol(transport, true, 
true);
+thriftClient = new Cassandra.Client(binaryProtocol);
 cliClient = new CliClient(sessionState, thriftClient);
 
 if ((sessionState.username != null)  (sessionState.password != null))
@@ -125,12 +118,7 @@ public class CliMain
 cliClient.setKeySpace(sessionState.keyspace);
 
updateCompletor(CliUtils.getCfNamesByKeySpace(cliClient.getKSMetaData(sessionState.keyspace)));
 }
-catch (InvalidRequestException e)
-{
-sessionState.err.println(Keyspace  + sessionState.keyspace + 
 not found);
-return;
-}
-catch (NotFoundException e)
+catch (InvalidRequestException | NotFoundException e)
 {
 sessionState.err.println(Keyspace  + sessionState.keyspace + 
 not found);
 return;
@@ -201,7 +189,7 @@ public class CliMain
 completer.setCandidateStrings(strs);
 }
 
-public 

[jira] [Commented] (CASSANDRA-6059) Improve memory-use defaults

2013-09-19 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-6059:
-

Fair enough, but a 5x reduction seems a tad extreme.  I don't want to bikeshed 
a number though, so +1.

 Improve memory-use defaults
 ---

 Key: CASSANDRA-6059
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6059
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 2.0.1

 Attachments: 6059.txt


 Anecdotally, it's still too easy to OOM Cassandra even after moving sstable 
 internals off heap.

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


git commit: Remove Hadoop dependency from ITransportFactory

2013-09-19 Thread aleksey
Updated Branches:
  refs/heads/cassandra-2.0 cef6552c2 - 2336d94ef


Remove Hadoop dependency from ITransportFactory

patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-6062


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

Branch: refs/heads/cassandra-2.0
Commit: 2336d94ef3a286bc9b7331086085eca56f915e76
Parents: cef6552
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 21:05:15 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 21:05:15 2013 +0300

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/cli/CliMain.java  | 28 +
 .../org/apache/cassandra/cli/CliOptions.java| 15 +
 .../apache/cassandra/cli/CliSessionState.java   |  6 ++--
 .../hadoop/AbstractColumnFamilyInputFormat.java | 11 ---
 .../AbstractColumnFamilyOutputFormat.java   |  2 +-
 .../apache/cassandra/hadoop/ConfigHelper.java   | 33 +++-
 .../cassandra/thrift/ITransportFactory.java | 14 +++--
 .../thrift/TFramedTransportFactory.java | 17 +-
 9 files changed, 50 insertions(+), 77 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2336d94e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index ae6eedc..a25d03e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,6 @@
 2.0.2
  * Make ThriftServer more easlly extensible (CASSANDRA-6058)
+ * Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062)
 Merged from 1.2:
  * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2336d94e/src/java/org/apache/cassandra/cli/CliMain.java
--
diff --git a/src/java/org/apache/cassandra/cli/CliMain.java 
b/src/java/org/apache/cassandra/cli/CliMain.java
index 144bd2e..77a9020 100644
--- a/src/java/org/apache/cassandra/cli/CliMain.java
+++ b/src/java/org/apache/cassandra/cli/CliMain.java
@@ -24,16 +24,15 @@ import java.io.IOException;
 import java.nio.charset.CharacterCodingException;
 import java.util.*;
 
-import jline.ConsoleReader;
-import jline.History;
 import org.apache.cassandra.auth.IAuthenticator;
 import org.apache.cassandra.io.util.FileUtils;
 import org.apache.cassandra.thrift.*;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
-import org.apache.thrift.transport.TSocket;
 import org.apache.thrift.transport.TTransport;
+import jline.ConsoleReader;
+import jline.History;
 
 /**
  * Cassandra Command Line Interface (CLI) Main
@@ -58,19 +57,12 @@ public class CliMain
  */
 public static void connect(String server, int port)
 {
-TSocket socket = new TSocket(server, port);
-
 if (transport != null)
 transport.close();
 
-transport = sessionState.transportFactory.getTransport(socket);
-TBinaryProtocol binaryProtocol = new TBinaryProtocol(transport, true, 
true);
-Cassandra.Client cassandraClient = new 
Cassandra.Client(binaryProtocol);
-
 try
 {
-if (!transport.isOpen())
-transport.open();
+transport = sessionState.transportFactory.openTransport(server, 
port);
 }
 catch (Exception e)
 {
@@ -80,7 +72,8 @@ public class CliMain
 throw new RuntimeException(Exception connecting to  + server + 
/ + port + . Reason:  + error + .);
 }
 
-thriftClient = cassandraClient;
+TBinaryProtocol binaryProtocol = new TBinaryProtocol(transport, true, 
true);
+thriftClient = new Cassandra.Client(binaryProtocol);
 cliClient = new CliClient(sessionState, thriftClient);
 
 if ((sessionState.username != null)  (sessionState.password != null))
@@ -125,12 +118,7 @@ public class CliMain
 cliClient.setKeySpace(sessionState.keyspace);
 
updateCompletor(CliUtils.getCfNamesByKeySpace(cliClient.getKSMetaData(sessionState.keyspace)));
 }
-catch (InvalidRequestException e)
-{
-sessionState.err.println(Keyspace  + sessionState.keyspace + 
 not found);
-return;
-}
-catch (NotFoundException e)
+catch (InvalidRequestException | NotFoundException e)
 {
 sessionState.err.println(Keyspace  + sessionState.keyspace + 
 not found);
 return;
@@ -201,7 +189,7 @@ public class 

[jira] [Commented] (CASSANDRA-4175) Reduce memory, disk space, and cpu usage with a column name/id map

2013-09-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4175:
-

I'm pretty sure we'd need CASSANDRA-5417 to make that doable (in fact, that's 
one of my original motivation for doing CASSANDRA-5417). Namely, we don't want 
a cell name/id map, we want a cql3 column/id map, otherwise this loose most 
interest. And we can't do a cql3 column/id map if we store cell name as opaque 
byte buffers.

To be more precise, I don't deny that a cell name/id map could be a start and 
would in fact server some use cases, but I'm a bit reluctant in implementing 
that knowing that we want to change to a cql3 column/id map sooner than later 
because I suspect it'll be a lot easier to do the right thing to start with 
rather than doing cell name/id map and then have a painful time to switch a 
cql3 column/id one without breaking backward compatibility.

Besides, I also suspect there is a bunch of refactorings that are in 
CASSANDRA-5417 that would be needed here as well, so working on both separately 
without coordination is likely to be frustrating and a duplication of effort.

Anyway, I do plan on getting back to CASSANDRA-5417 asap (though it will 
unlikely be like next week) so maybe we can hold a bit on that one until then? 
If I've made no progress on CASSANDRA-5417 in say a month or two, and people 
really want this, we can re-evaluate? 

 Reduce memory, disk space, and cpu usage with a column name/id map
 --

 Key: CASSANDRA-4175
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4175
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: Jason Brown
 Fix For: 2.1


 We spend a lot of memory on column names, both transiently (during reads) and 
 more permanently (in the row cache).  Compression mitigates this on disk but 
 not on the heap.
 The overhead is significant for typical small column values, e.g., ints.
 Even though we intern once we get to the memtable, this affects writes too 
 via very high allocation rates in the young generation, hence more GC 
 activity.
 Now that CQL3 provides us some guarantees that column names must be defined 
 before they are inserted, we could create a map of (say) 32-bit int column 
 id, to names, and use that internally right up until we return a resultset to 
 the client.

--
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-5862) Switch to adler checksum for sstables

2013-09-19 Thread Adrien Grand (JIRA)

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

Adrien Grand commented on CASSANDRA-5862:
-

I ran this benchmark several weeks ago and I'm not sure but I think it was with 
JDK7. I'll run it again to be sure...

 Switch to adler checksum for sstables
 -

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

 Attachments: 5862.txt


 Adler is significantly faster than CRC32: 
 http://java-performance.info/java-crc32-and-adler32/
 (Adler is weaker for short inputs, so we should leave the commitlog alone, as 
 it checksums each mutation individually.)

--
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] [Comment Edited] (CASSANDRA-5732) Can not query secondary index

2013-09-19 Thread Daniel Meyer (JIRA)

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

Daniel Meyer edited comment on CASSANDRA-5732 at 9/19/13 4:56 PM:
--

This is definitly a bug in latest 1.2.  Just reproduced in 1.2.10

Repro is easy.  Create single node cluster off of latest 1.2 branch and do the 
following:

cqlsh:ks CREATE TABLE test ( row text, name text, PRIMARY KEY (row) );
cqlsh:ks ALTER TABLE test WITH caching='all';
cqlsh:ks INSERT INTO test (row, name) VALUES ( 'row1', 'daniel' );
cqlsh:ks INSERT INTO test (row, name) VALUES ( 'row2', 'ryan' );
cqlsh:ks CREATE INDEX on test (name);
cqlsh:ks select * from test where name='daniel';

 row  | name
--+
 row1 | daniel
#Notice how row is returned

Stop node and set:
row_cache_size_in_mb: 200
Start node again and follow this procedure:

cqlsh use ks;
cqlsh:ks select * from test where name='daniel';
#Nothing is returned from this query


Now stop the node and set:
row_cache_size_in_mb: 0

start the node and do the following:

cqlsh use ks;
cqlsh:ks select * from test where name='daniel';

 row  | name
--+
 row1 | daniel

#Notice how the row is returned.

  was (Author: dmeyer):
This is definitly a bug in latest 1.2.  Just reproduced in 1.2.10

Repro is easy.  Create single node cluster off of latest 1.2 branch and do the 
following:

cqlsh use ks;
cqlsh:ks CREATE TABLE test ( row text, name text, PRIMARY KEY (row) );
cqlsh:ks ALTER TABLE test WITH caching='all';
cqlsh:ks INSERT INTO test (row, name) VALUES ( 'row1', 'daniel' );
cqlsh:ks INSERT INTO test (row, name) VALUES ( 'row2', 'ryan' );
cqlsh:ks CREATE INDEX on test (name);
cqlsh:ks select * from test where name='daniel';

 row  | name
--+
 row1 | daniel
#Notice how row is returned

Stop node and set:
row_cache_size_in_mb: 200
Start node again and follow this procedure:

cqlsh use ks;
cqlsh:ks select * from test where name='daniel';
#Nothing is returned from this query


Now stop the node and set:
row_cache_size_in_mb: 0

start the node and do the following:

cqlsh use ks;
cqlsh:ks select * from test where name='daniel';

 row  | name
--+
 row1 | daniel

#Notice how the row is returned.
  
 Can not query secondary index
 -

 Key: CASSANDRA-5732
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5732
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.5
 Environment: Windows 8, Jre 1.6.0_45 32-bit
Reporter: Tony Anecito
Assignee: Daniel Meyer

 Noticed after taking a column family that already existed and assigning to an 
 IntegerType index_type:KEYS and the caching was already set to 'ALL' that the 
 prepared statement do not return rows neither did it throw an exception. Here 
 is the sequence.
 1. Starting state query running with caching off for a Column Family with the 
 query using the secondary index for te WHERE clause.
 2, Set Column Family caching to ALL using Cassandra-CLI and update CQL. 
 Cassandra-cli Describe shows column family caching set to ALL
 3. Rerun query and it works.
 4. Restart Cassandra and run query and no rows returned. Cassandra-cli 
 Describe shows column family caching set to ALL
 5. Set Column Family caching to NONE using Cassandra-cli and update CQL. 
 Rerun query and no rows returned. Cassandra-cli Describe for column family 
 shows caching set to NONE.
 6. Restart Cassandra. Rerun query and it is working again. We are now back to 
 the starting state.
 Best Regards,
 -Tony

--
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] [Comment Edited] (CASSANDRA-5138) Provide a better CQL error when table data does not conform to CQL metadata.

2013-09-19 Thread Elvis Pranskevichus (JIRA)

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

Elvis Pranskevichus edited comment on CASSANDRA-5138 at 9/19/13 4:56 PM:
-

Another related issue.  This check seems to make it impossible to insert proper 
records into CQL3 tables via Thrift, since it bails out on an attempt to write 
a column with an empty last component.

CREATE TABLE test (
id text,
attr text,
value text,

PRIMARY KEY (id, attr)
);

The storage column structure for the table would be:

|key|{attr,}|[empty]
|key|{attr,value}|value

There is no way to insert the first column (record demarcation) as it fails 
with Invalid cell for CQL3 table test. The CQL3 column component () does not 
correspond to a defined CQL3 column


  was (Author: elprans):
Another related issue.  This check seems to make it impossible to insert 
proper records into CQL3 tables via Thrift, since it bails out on an attempt to 
write a column with an empty last component.

CREATE TABLE test (
id text,
attr text,
value text,

PRIMARY KEY (id, attr)
);

The storage column structure for the table would be:

key  {attr,}[empty]
key  {attr,value} value

There is no way to insert the first column (record demarcation) as it fails 
with Invalid cell for CQL3 table test. The CQL3 column component () does not 
correspond to a defined CQL3 column

  
 Provide a better CQL error when table data does not conform to CQL metadata.
 

 Key: CASSANDRA-5138
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5138
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Mac OS X running 1.2
Reporter: Brian ONeill
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 2.0

 Attachments: 5138-2.txt, 5138.txt, northpole.cql


 When you create a table via CQL, then insert into it via Thrift.  If you 
 inadvertently leave out a component of the column name, in CQL you receive a:
 TSocket read 0 bytes
 Server-side the following exception is logged:
 ERROR 15:19:18,016 Error occurred during processing of message.
 java.lang.ArrayIndexOutOfBoundsException: 3
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap.add(ColumnGroupMap.java:43)
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(ColumnGroupMap.java:31)
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(ColumnGroupMap.java:138)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:805)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:145)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:134)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61)
   at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:132)
   at 
 org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:140)
   at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1686)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4074)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4062)
   at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
   at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
   at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:680)
 I'll submit a schema, and steps to reproduce.

--
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-6059) Improve memory-use defaults

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-6059:
---

I respect that, but I still think it's time we fixed it:

- Current value of 10s is mostly an accident, because we didn't want to 
surprise people back in 1.1? when we split the timeout values apart.  At some 
point that logic needs to take a back seat to giving people actual good 
defaults.
- We're very early in 2.0 still, mass adoption is still ahead of us.
- Typically people doing minor version updates don't rip-and-replace 
cassandra.yaml so they will keep using their old settings.

 Improve memory-use defaults
 ---

 Key: CASSANDRA-6059
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6059
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 2.0.1

 Attachments: 6059.txt


 Anecdotally, it's still too easy to OOM Cassandra even after moving sstable 
 internals off heap.

--
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] [Comment Edited] (CASSANDRA-5138) Provide a better CQL error when table data does not conform to CQL metadata.

2013-09-19 Thread Elvis Pranskevichus (JIRA)

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

Elvis Pranskevichus edited comment on CASSANDRA-5138 at 9/19/13 4:57 PM:
-

Another related issue.  This check seems to make it impossible to insert proper 
records into CQL3 tables via Thrift, since it bails out on an attempt to write 
a column with an empty last component.

{code:sql} 
CREATE TABLE test (
id text,
attr text,
value text,

PRIMARY KEY (id, attr)
);
{code}

The storage column structure for the table would be:

|key|{attr,}|[empty]
|key|{attr,value}|value

There is no way to insert the first column (record demarcation) as it fails 
with Invalid cell for CQL3 table test. The CQL3 column component () does not 
correspond to a defined CQL3 column


  was (Author: elprans):
Another related issue.  This check seems to make it impossible to insert 
proper records into CQL3 tables via Thrift, since it bails out on an attempt to 
write a column with an empty last component.

CREATE TABLE test (
id text,
attr text,
value text,

PRIMARY KEY (id, attr)
);

The storage column structure for the table would be:

|key|{attr,}|[empty]
|key|{attr,value}|value

There is no way to insert the first column (record demarcation) as it fails 
with Invalid cell for CQL3 table test. The CQL3 column component () does not 
correspond to a defined CQL3 column

  
 Provide a better CQL error when table data does not conform to CQL metadata.
 

 Key: CASSANDRA-5138
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5138
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Mac OS X running 1.2
Reporter: Brian ONeill
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 2.0

 Attachments: 5138-2.txt, 5138.txt, northpole.cql


 When you create a table via CQL, then insert into it via Thrift.  If you 
 inadvertently leave out a component of the column name, in CQL you receive a:
 TSocket read 0 bytes
 Server-side the following exception is logged:
 ERROR 15:19:18,016 Error occurred during processing of message.
 java.lang.ArrayIndexOutOfBoundsException: 3
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap.add(ColumnGroupMap.java:43)
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(ColumnGroupMap.java:31)
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(ColumnGroupMap.java:138)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:805)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:145)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:134)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61)
   at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:132)
   at 
 org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:140)
   at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1686)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4074)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4062)
   at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
   at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
   at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:680)
 I'll submit a schema, and steps to reproduce.

--
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-5138) Provide a better CQL error when table data does not conform to CQL metadata.

2013-09-19 Thread Elvis Pranskevichus (JIRA)

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

Elvis Pranskevichus commented on CASSANDRA-5138:


I think the best fix would be to make CassandraServer insert row markers into 
CQL3 tables the same way CQL modification statements do.

 Provide a better CQL error when table data does not conform to CQL metadata.
 

 Key: CASSANDRA-5138
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5138
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Mac OS X running 1.2
Reporter: Brian ONeill
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 2.0

 Attachments: 5138-2.txt, 5138.txt, northpole.cql


 When you create a table via CQL, then insert into it via Thrift.  If you 
 inadvertently leave out a component of the column name, in CQL you receive a:
 TSocket read 0 bytes
 Server-side the following exception is logged:
 ERROR 15:19:18,016 Error occurred during processing of message.
 java.lang.ArrayIndexOutOfBoundsException: 3
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap.add(ColumnGroupMap.java:43)
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(ColumnGroupMap.java:31)
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(ColumnGroupMap.java:138)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:805)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:145)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:134)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61)
   at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:132)
   at 
 org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:140)
   at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1686)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4074)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4062)
   at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
   at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
   at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:680)
 I'll submit a schema, and steps to reproduce.

--
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-5732) Can not query secondary index

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-5732:
-

Assignee: Sam Tunnicliffe  (was: Daniel Meyer)

Suspect this might be up your alley, [~beobal].

 Can not query secondary index
 -

 Key: CASSANDRA-5732
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5732
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.5
 Environment: Windows 8, Jre 1.6.0_45 32-bit
Reporter: Tony Anecito
Assignee: Sam Tunnicliffe

 Noticed after taking a column family that already existed and assigning to an 
 IntegerType index_type:KEYS and the caching was already set to 'ALL' that the 
 prepared statement do not return rows neither did it throw an exception. Here 
 is the sequence.
 1. Starting state query running with caching off for a Column Family with the 
 query using the secondary index for te WHERE clause.
 2, Set Column Family caching to ALL using Cassandra-CLI and update CQL. 
 Cassandra-cli Describe shows column family caching set to ALL
 3. Rerun query and it works.
 4. Restart Cassandra and run query and no rows returned. Cassandra-cli 
 Describe shows column family caching set to ALL
 5. Set Column Family caching to NONE using Cassandra-cli and update CQL. 
 Rerun query and no rows returned. Cassandra-cli Describe for column family 
 shows caching set to NONE.
 6. Restart Cassandra. Rerun query and it is working again. We are now back to 
 the starting state.
 Best Regards,
 -Tony

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


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

2013-09-19 Thread aleksey
Merge branch 'cassandra-2.0' into trunk


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

Branch: refs/heads/trunk
Commit: e5a7cede6c9bf06854941bb2e31343c66deb3e54
Parents: ec7a3e5 2336d94
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 21:06:20 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 21:06:20 2013 +0300

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/cli/CliMain.java  | 28 +
 .../org/apache/cassandra/cli/CliOptions.java| 15 +
 .../apache/cassandra/cli/CliSessionState.java   |  6 ++--
 .../hadoop/AbstractColumnFamilyInputFormat.java | 11 ---
 .../AbstractColumnFamilyOutputFormat.java   |  2 +-
 .../apache/cassandra/hadoop/ConfigHelper.java   | 33 +++-
 .../cassandra/thrift/ITransportFactory.java | 14 +++--
 .../thrift/TFramedTransportFactory.java | 17 +-
 9 files changed, 50 insertions(+), 77 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5a7cede/CHANGES.txt
--
diff --cc CHANGES.txt
index 942063e,a25d03e..44c7f1b
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,13 -1,6 +1,14 @@@
 +2.1
 + * change logging from log4j to logback (CASSANDRA-5883)
 + * switch to LZ4 compression for internode communication (CASSANDRA-5887)
 + * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
 + * Remove 1.2 network compatibility code (CASSANDRA-5960)
 + * Remove leveled json manifest migration code (CASSANDRA-5996)
 +
 +
  2.0.2
   * Make ThriftServer more easlly extensible (CASSANDRA-6058)
+  * Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062)
  Merged from 1.2:
   * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
  



[3/3] git commit: merge from 2.0

2013-09-19 Thread jbellis
merge from 2.0


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

Branch: refs/heads/trunk
Commit: fee30d5ad654a90391f5871a7393330b34fa8ebb
Parents: e5a7ced 72be2a4
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 14:41:06 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 14:41:06 2013 -0500

--
 CHANGES.txt  |  1 +
 NEWS.txt | 19 +++
 conf/cassandra.yaml  |  4 ++--
 src/java/org/apache/cassandra/config/Config.java |  2 +-
 .../cassandra/config/DatabaseDescriptor.java |  2 +-
 5 files changed, 20 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fee30d5a/CHANGES.txt
--
diff --cc CHANGES.txt
index 44c7f1b,979d6b0..2b5bf79
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,12 -1,5 +1,13 @@@
 +2.1
 + * change logging from log4j to logback (CASSANDRA-5883)
 + * switch to LZ4 compression for internode communication (CASSANDRA-5887)
 + * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
 + * Remove 1.2 network compatibility code (CASSANDRA-5960)
 + * Remove leveled json manifest migration code (CASSANDRA-5996)
 +
 +
  2.0.2
+  * Improve memory use defaults (CASSANDRA-5069)
   * Make ThriftServer more easlly extensible (CASSANDRA-6058)
   * Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062)
  Merged from 1.2:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fee30d5a/NEWS.txt
--
diff --cc NEWS.txt
index 9b0938d,3712073..8990769
--- a/NEWS.txt
+++ b/NEWS.txt
@@@ -13,15 -13,15 +13,26 @@@ restore snapshots created with the prev
  'sstableloader' tool. You can upgrade the file format of your snapshots
  using the provided 'sstableupgrade' tool.
  
 +2.1
 +===
 +Upgrading
 +-
 +   - Rolling upgrades from anything pre-2.0 is not supported.
-- 2.0 must be atleast started before upgrading to 2.1 due to
-  the fact that the old JSON leveled manifest is migrated into
-  the sstable metadata files on startup in 2.0 and this code is
-  gone from 2.1.
++   - For leveled compaction users, 2.0 must be atleast started before
++ upgrading to 2.1 due to the fact that the old JSON leveled
++ manifest is migrated into the sstable metadata files on startup
++ in 2.0 and this code is gone from 2.1.
++
++
+ 2.0.2
+ =
+ 
+ Upgrading
+ -
+ - The default memtable allocation has changed from 1/3 of heap to 1/4
+   of heap.  Also, default (single-partition) read and write timeouts
+   have been reduced from 10s to 5s and 2s, respectively.
+ 
  
  2.0.0
  =

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fee30d5a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--



[1/3] git commit: improve memory use and timeout defaults patch by jbellis; reviewed by brandonwilliams for CASSANDRA-6059

2013-09-19 Thread jbellis
Updated Branches:
  refs/heads/cassandra-2.0 2336d94ef - 72be2a436
  refs/heads/trunk e5a7cede6 - fee30d5ad


improve memory use and timeout defaults
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-6059


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

Branch: refs/heads/cassandra-2.0
Commit: 72be2a4360caa0f9c315097bbd5d9199a032821c
Parents: 2336d94
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 14:37:33 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 14:37:33 2013 -0500

--
 CHANGES.txt   |  1 +
 NEWS.txt  | 10 ++
 conf/cassandra.yaml   |  4 ++--
 src/java/org/apache/cassandra/config/Config.java  |  2 +-
 .../org/apache/cassandra/config/DatabaseDescriptor.java   |  2 +-
 5 files changed, 15 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/72be2a43/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index a25d03e..979d6b0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.2
+ * Improve memory use defaults (CASSANDRA-5069)
  * Make ThriftServer more easlly extensible (CASSANDRA-6058)
  * Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062)
 Merged from 1.2:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/72be2a43/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 68da597..3712073 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,16 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.0.2
+=
+
+Upgrading
+-
+- The default memtable allocation has changed from 1/3 of heap to 1/4
+  of heap.  Also, default (single-partition) read and write timeouts
+  have been reduced from 10s to 5s and 2s, respectively.
+
+
 2.0.0
 =
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/72be2a43/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index df4501e..4af7275 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -460,11 +460,11 @@ compaction_preheat_key_cache: true
 # stream_throughput_outbound_megabits_per_sec: 200
 
 # How long the coordinator should wait for read operations to complete
-read_request_timeout_in_ms: 1
+read_request_timeout_in_ms: 5000
 # How long the coordinator should wait for seq or index scans to complete
 range_request_timeout_in_ms: 1
 # How long the coordinator should wait for writes to complete
-write_request_timeout_in_ms: 1
+write_request_timeout_in_ms: 2000
 # How long a coordinator should continue to retry a CAS operation
 # that contends with other proposals for the same row
 cas_contention_timeout_in_ms: 1000

http://git-wip-us.apache.org/repos/asf/cassandra/blob/72be2a43/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index 0414269..c6fd020 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -56,7 +56,7 @@ public class Config
 
 public Long range_request_timeout_in_ms = new Long(1);
 
-public Long write_request_timeout_in_ms = new Long(1);
+public Long write_request_timeout_in_ms = new Long(2000);
 
 public Long cas_contention_timeout_in_ms = new Long(1000);
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/72be2a43/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 42459e4..572a06f 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -249,7 +249,7 @@ public class DatabaseDescriptor
 conf.file_cache_size_in_mb = Math.min(512, (int) 
(Runtime.getRuntime().maxMemory() / (4 * 1048576)));
 
 if (conf.memtable_total_space_in_mb == null)
-conf.memtable_total_space_in_mb = (int) 
(Runtime.getRuntime().maxMemory() / (3 * 1048576));

[2/3] git commit: improve memory use and timeout defaults patch by jbellis; reviewed by brandonwilliams for CASSANDRA-6059

2013-09-19 Thread jbellis
improve memory use and timeout defaults
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-6059


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

Branch: refs/heads/trunk
Commit: 72be2a4360caa0f9c315097bbd5d9199a032821c
Parents: 2336d94
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 19 14:37:33 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 19 14:37:33 2013 -0500

--
 CHANGES.txt   |  1 +
 NEWS.txt  | 10 ++
 conf/cassandra.yaml   |  4 ++--
 src/java/org/apache/cassandra/config/Config.java  |  2 +-
 .../org/apache/cassandra/config/DatabaseDescriptor.java   |  2 +-
 5 files changed, 15 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/72be2a43/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index a25d03e..979d6b0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.2
+ * Improve memory use defaults (CASSANDRA-5069)
  * Make ThriftServer more easlly extensible (CASSANDRA-6058)
  * Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062)
 Merged from 1.2:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/72be2a43/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 68da597..3712073 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,16 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.0.2
+=
+
+Upgrading
+-
+- The default memtable allocation has changed from 1/3 of heap to 1/4
+  of heap.  Also, default (single-partition) read and write timeouts
+  have been reduced from 10s to 5s and 2s, respectively.
+
+
 2.0.0
 =
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/72be2a43/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index df4501e..4af7275 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -460,11 +460,11 @@ compaction_preheat_key_cache: true
 # stream_throughput_outbound_megabits_per_sec: 200
 
 # How long the coordinator should wait for read operations to complete
-read_request_timeout_in_ms: 1
+read_request_timeout_in_ms: 5000
 # How long the coordinator should wait for seq or index scans to complete
 range_request_timeout_in_ms: 1
 # How long the coordinator should wait for writes to complete
-write_request_timeout_in_ms: 1
+write_request_timeout_in_ms: 2000
 # How long a coordinator should continue to retry a CAS operation
 # that contends with other proposals for the same row
 cas_contention_timeout_in_ms: 1000

http://git-wip-us.apache.org/repos/asf/cassandra/blob/72be2a43/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index 0414269..c6fd020 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -56,7 +56,7 @@ public class Config
 
 public Long range_request_timeout_in_ms = new Long(1);
 
-public Long write_request_timeout_in_ms = new Long(1);
+public Long write_request_timeout_in_ms = new Long(2000);
 
 public Long cas_contention_timeout_in_ms = new Long(1000);
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/72be2a43/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 42459e4..572a06f 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -249,7 +249,7 @@ public class DatabaseDescriptor
 conf.file_cache_size_in_mb = Math.min(512, (int) 
(Runtime.getRuntime().maxMemory() / (4 * 1048576)));
 
 if (conf.memtable_total_space_in_mb == null)
-conf.memtable_total_space_in_mb = (int) 
(Runtime.getRuntime().maxMemory() / (3 * 1048576));
+conf.memtable_total_space_in_mb = (int) 
(Runtime.getRuntime().maxMemory() / (4 * 1048576));
 if 

[jira] [Commented] (CASSANDRA-6061) Rewrite TokenMetadata

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-6061:
---

CASSANDRA-2434 may also be related.

 Rewrite TokenMetadata
 -

 Key: CASSANDRA-6061
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6061
 Project: Cassandra
  Issue Type: Task
  Components: Core
Reporter: Jonathan Ellis
Assignee: Tyler Hobbs
Priority: Minor

 Feels like this mostly works but is generally fragile (see: shuffle).
 Would be good to get a fresh perspective on it and see if we can do better.
 Bonus would be, ability to bootstrap multiple nodes w/o Two Minute Rule.  
 Probably would involve using LWT on pending ranges state.

--
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-5020) Time to switch back to byte[] internally?

2013-09-19 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-5020:
---

I've been working on this along with CASSANDRA-5417, it's basically a wrapper 
on ByteBuffer that turns the BB into a native type, works well for composites.  
 

 Time to switch back to byte[] internally?
 -

 Key: CASSANDRA-5020
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5020
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
 Fix For: 2.1


 We switched to ByteBuffer for column names and values back in 0.7, which gave 
 us a short term performance boost on mmap'd reads, but we gave that up when 
 we switched to refcounted sstables in 1.0.  (refcounting all the way up the 
 read path would be too painful, so we copy into an on-heap buffer when 
 reading from an sstable, then release the reference.)
 A HeapByteBuffer wastes a lot of memory compared to a byte[] (5 more ints, a 
 long, and a boolean).
 The hard problem here is how to do the arena allocation we do on writes, 
 which has been very successful in reducing STW CMS from heap fragmentation.  
 ByteBuffer is a good fit there.

--
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-6063) Rename internal classes and interfaces to represent the modern Cassandra terminology

2013-09-19 Thread Aleksey Yeschenko (JIRA)
Aleksey Yeschenko created CASSANDRA-6063:


 Summary: Rename internal classes and interfaces to represent the 
modern Cassandra terminology
 Key: CASSANDRA-6063
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6063
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Priority: Minor
 Fix For: 3.0


Some of the class names we are using aren't exactly clear to the newcomers. 
We've already gone through the Table-Keyspace renaming, but it's not enough.

Other things to consider:

- ColumnFamilyStore - Table
- Column - Cell (where appropriate)
- ColumnFamily - CellFormation (CellGroup, something different?)
- Row - Partition (where appropriate)
- RowMutation - PartitionMutation


--
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-6067) Use non-pooling readers with openForBatch

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-6067:
--

Attachment: 6067-v2.txt

v2 fixes BSF to not extend PSF.

(Checked and this is fine in 1.2.)

 Use non-pooling readers with openForBatch
 -

 Key: CASSANDRA-6067
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6067
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 2.0.1

 Attachments: 6067.txt, 6067-v2.txt


 Looks like CASSANDRA- was incorrectly merged forward.

--
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-6067) Use non-pooling readers with openForBatch

2013-09-19 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-6067:
---

BufferedSegmentedFile extends PoolingSegmentedFile. Still seeing the following 
error when bulk load:

{code}
Exception in thread main java.lang.ExceptionInInitializerError
at 
org.apache.cassandra.io.util.PoolingSegmentedFile.getSegment(PoolingSegmentedFile.java:36)
at 
org.apache.cassandra.io.util.SegmentedFile$SegmentIterator.next(SegmentedFile.java:161)
at 
org.apache.cassandra.io.util.SegmentedFile$SegmentIterator.next(SegmentedFile.java:142)
at 
org.apache.cassandra.io.sstable.SSTableReader.getPosition(SSTableReader.java:904)
at 
org.apache.cassandra.io.sstable.SSTableReader.getPosition(SSTableReader.java:839)
at 
org.apache.cassandra.io.sstable.SSTableReader.getPositionsForRanges(SSTableReader.java:751)
at 
org.apache.cassandra.io.sstable.SSTableLoader$1.accept(SSTableLoader.java:122)
at java.io.File.list(File.java:1087)
at 
org.apache.cassandra.io.sstable.SSTableLoader.openSSTables(SSTableLoader.java:73)
at 
org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:155)
at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:66)
Caused by: java.lang.NullPointerException
at 
org.apache.cassandra.config.DatabaseDescriptor.getFileCacheSizeInMB(DatabaseDescriptor.java:1145)
at 
org.apache.cassandra.service.FileCacheService.clinit(FileCacheService.java:41)
... 11 more
{code}

 Use non-pooling readers with openForBatch
 -

 Key: CASSANDRA-6067
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6067
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 2.0.1

 Attachments: 6067.txt


 Looks like CASSANDRA- was incorrectly merged forward.

--
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-6068) Support login/password auth in cassandra-stress

2013-09-19 Thread Aleksey Yeschenko (JIRA)
Aleksey Yeschenko created CASSANDRA-6068:


 Summary: Support login/password auth in cassandra-stress
 Key: CASSANDRA-6068
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6068
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Assignee: Aleksey Yeschenko
Priority: Trivial
 Fix For: 1.2.11, 2.0.2


Support login/password auth in cassandra-stress

--
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-6067) Use non-pooling readers with openForBatch

2013-09-19 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-6067:
---

+1

 Use non-pooling readers with openForBatch
 -

 Key: CASSANDRA-6067
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6067
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 2.0.1

 Attachments: 6067.txt, 6067-v2.txt


 Looks like CASSANDRA- was incorrectly merged forward.

--
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-6067) Use non-pooling readers with openForBatch

2013-09-19 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-6067:
-

 Summary: Use non-pooling readers with openForBatch
 Key: CASSANDRA-6067
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6067
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 2.0.2


Looks like CASSANDRA- was incorrectly merged forward.

--
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-6066) LHF 2i performance improvements

2013-09-19 Thread Aleksey Yeschenko (JIRA)
Aleksey Yeschenko created CASSANDRA-6066:


 Summary: LHF 2i performance improvements
 Key: CASSANDRA-6066
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6066
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Priority: Minor
 Fix For: 2.0.2


We should perform more aggressive paging over the index partition (costs us 
nothing) and also fetch the rows from the base table in one slice query (at 
least the ones belonging to the same partition).

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


[1/2] git commit: Move CASSANDRA-6058 to 2.0.2

2013-09-19 Thread aleksey
Updated Branches:
  refs/heads/trunk b1d1fac8d - 23156863d


Move CASSANDRA-6058 to 2.0.2


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

Branch: refs/heads/trunk
Commit: 7453e6f2bacc8663bd2b07c54a44fba1533e64a8
Parents: caf047b
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 19 18:12:29 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 19 18:12:29 2013 +0300

--
 CHANGES.txt | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7453e6f2/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 06d9b16..fcc33f2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+2.0.2
+ * Make ThriftServer more easlly extensible (CASSANDRA-6058)
+
+
 2.0.1
  * add file_cache_size_in_mb setting (CASSANDRA-5661)
  * Improve error message when yaml contains invalid properties (CASSANDRA-5958)
@@ -27,7 +31,6 @@
  * cqlsh: return the result of CAS writes (CASSANDRA-5796)
  * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
  * Support named bind variables in CQL (CASSANDRA-6033)
- * Make ThriftServer more easlly extensible (CASSANDRA-6058)
 Merged from 1.2:
  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)



[jira] [Commented] (CASSANDRA-5981) Netty frame length exception when storing data to Cassandra using binary protocol

2013-09-19 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5981:
---

Oops, wrong Daniel.  Meant [~danielnorberg].

 Netty frame length exception when storing data to Cassandra using binary 
 protocol
 -

 Key: CASSANDRA-5981
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5981
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Linux, Java 7
Reporter: Justin Sweeney
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.11

 Attachments: 0001-Correctly-catch-frame-too-long-exceptions.txt, 
 0002-Allow-to-configure-the-max-frame-length.txt


 Using Cassandra 1.2.8, I am running into an issue where when I send a large 
 amount of data using the binary protocol, I get the following netty exception 
 in the Cassandra log file:
 {quote}
 ERROR 09:08:35,845 Unexpected exception during request
 org.jboss.netty.handler.codec.frame.TooLongFrameException: Adjusted frame 
 length exceeds 268435456: 292413714 - discarded
 at 
 org.jboss.netty.handler.codec.frame.LengthFieldBasedFrameDecoder.fail(LengthFieldBasedFrameDecoder.java:441)
 at 
 org.jboss.netty.handler.codec.frame.LengthFieldBasedFrameDecoder.failIfNecessary(LengthFieldBasedFrameDecoder.java:412)
 at 
 org.jboss.netty.handler.codec.frame.LengthFieldBasedFrameDecoder.decode(LengthFieldBasedFrameDecoder.java:372)
 at org.apache.cassandra.transport.Frame$Decoder.decode(Frame.java:181)
 at 
 org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:422)
 at 
 org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
 at 
 org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
 at 
 org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
 at 
 org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:84)
 at 
 org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:472)
 at 
 org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:333)
 at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
 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)
 {quote}
 I am using the Datastax driver and using CQL to execute insert queries. The 
 query that is failing is using atomic batching executing a large number of 
 statements (~55).
 Looking into the code a bit, I saw that in the 
 org.apache.cassandra.transport.Frame$Decoder class, the MAX_FRAME_LENGTH is 
 hard coded to 256 mb.
 Is this something that should be configurable or is this a hard limit that 
 will prevent batch statements of this size from executing for some reason?

--
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-5732) Can not query secondary index

2013-09-19 Thread Daniel Meyer (JIRA)

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

Daniel Meyer commented on CASSANDRA-5732:
-

This is definitly a bug in latest 1.2.  Just reproduced in 1.2.10

Repro is easy.  Create single node cluster off of latest 1.2 branch and do the 
following:

cqlsh use ks;
cqlsh:ks CREATE TABLE test ( row text, name text, PRIMARY KEY (row) );
cqlsh:ks ALTER TABLE test WITH caching='all';
cqlsh:ks INSERT INTO test (row, name) VALUES ( 'row1', 'daniel' );
cqlsh:ks INSERT INTO test (row, name) VALUES ( 'row2', 'ryan' );
cqlsh:ks CREATE INDEX on test (name);
cqlsh:ks select * from test where name='daniel';

 row  | name
--+
 row1 | daniel
#Notice how row is returned

Stop node and set:
row_cache_size_in_mb: 200
Start node again and follow this procedure:

cqlsh use ks;
cqlsh:ks select * from test where name='daniel';
#Nothing is returned from this query


Now stop the node and set:
row_cache_size_in_mb: 0

start the node and do the following:

cqlsh use ks;
cqlsh:ks select * from test where name='daniel';

 row  | name
--+
 row1 | daniel

#Notice how the row is returned.

 Can not query secondary index
 -

 Key: CASSANDRA-5732
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5732
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.5
 Environment: Windows 8, Jre 1.6.0_45 32-bit
Reporter: Tony Anecito
Assignee: Daniel Meyer

 Noticed after taking a column family that already existed and assigning to an 
 IntegerType index_type:KEYS and the caching was already set to 'ALL' that the 
 prepared statement do not return rows neither did it throw an exception. Here 
 is the sequence.
 1. Starting state query running with caching off for a Column Family with the 
 query using the secondary index for te WHERE clause.
 2, Set Column Family caching to ALL using Cassandra-CLI and update CQL. 
 Cassandra-cli Describe shows column family caching set to ALL
 3. Rerun query and it works.
 4. Restart Cassandra and run query and no rows returned. Cassandra-cli 
 Describe shows column family caching set to ALL
 5. Set Column Family caching to NONE using Cassandra-cli and update CQL. 
 Rerun query and no rows returned. Cassandra-cli Describe for column family 
 shows caching set to NONE.
 6. Restart Cassandra. Rerun query and it is working again. We are now back to 
 the starting state.
 Best Regards,
 -Tony

--
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-5138) Provide a better CQL error when table data does not conform to CQL metadata.

2013-09-19 Thread Elvis Pranskevichus (JIRA)

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

Elvis Pranskevichus commented on CASSANDRA-5138:


Another related issue.  This check seems to make it impossible to insert proper 
records into CQL3 tables via Thrift, since it bails out on an attempt to write 
a column with an empty last component.

CREATE TABLE test (
id text,
attr text,
value text,

PRIMARY KEY (id, attr)
);

The storage column structure for the table would be:

key  {attr,}[empty]
key  {attr,value} value

There is no way to insert the first column (record demarcation) as it fails 
with Invalid cell for CQL3 table test. The CQL3 column component () does not 
correspond to a defined CQL3 column


 Provide a better CQL error when table data does not conform to CQL metadata.
 

 Key: CASSANDRA-5138
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5138
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Mac OS X running 1.2
Reporter: Brian ONeill
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 2.0

 Attachments: 5138-2.txt, 5138.txt, northpole.cql


 When you create a table via CQL, then insert into it via Thrift.  If you 
 inadvertently leave out a component of the column name, in CQL you receive a:
 TSocket read 0 bytes
 Server-side the following exception is logged:
 ERROR 15:19:18,016 Error occurred during processing of message.
 java.lang.ArrayIndexOutOfBoundsException: 3
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap.add(ColumnGroupMap.java:43)
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(ColumnGroupMap.java:31)
   at 
 org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(ColumnGroupMap.java:138)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:805)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:145)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:134)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61)
   at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:132)
   at 
 org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:140)
   at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1686)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4074)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4062)
   at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
   at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
   at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:680)
 I'll submit a schema, and steps to reproduce.

--
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-4430) optional pluggable o.a.c.metrics reporters

2013-09-19 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-4430:
---

Attachment: 4430-trunk.txt

I didn't test out everything this could do, but it seems like a solid starting 
point.

The attached 4430-trunk.txt rebases Chris's changes against trunk (it looks 
like we want this to go in 2.1 now). The changes are also in my 
[branch|https://github.com/thobbs/cassandra/tree/CASSANDRA-4430-trunk-rebase], 
which includes the new jar files.

 optional pluggable o.a.c.metrics reporters
 --

 Key: CASSANDRA-4430
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4430
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Chris Burroughs
Assignee: Chris Burroughs
Priority: Minor
 Fix For: 2.1

 Attachments: 4430-trunk.txt, cassandra-ganglia-example.png


 CASSANDRA-4009  expanded the use of the metrics library which has a set of 
 reporter modules http://metrics.codahale.com/manual/core/#reporters  You can 
 report to flat files, ganglia, spit everything over http, etc.  The next step 
 is a mechanism for using those reporters with  o.a.c.metrics.  To avoid 
 bundling everything I suggest following the mx4j approach of enable only if 
 on classpath coupled with a reporter configuration file.
 Strawman file:
 {noformat}
 console:
   time: 1
   timeunit: seconds
 csv:
  - time: 1
timeunit: minutes
file: foo.csv
  - time: 10
timeunit: seconds
 file: bar.csv
 ganglia:
  - time: 30
timunit: seconds
host: server-1
port: 8649
  - time: 30
timunit: seconds
host: server-2
port: 8649
 {noformat}
  

--
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-6061) Rewrite TokenMetadata

2013-09-19 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-6061:
-

 Summary: Rewrite TokenMetadata
 Key: CASSANDRA-6061
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6061
 Project: Cassandra
  Issue Type: Task
  Components: Core
Reporter: Jonathan Ellis
Assignee: Tyler Hobbs
Priority: Minor


Feels like this mostly works but is generally fragile (see: shuffle).

Would be good to get a fresh perspective on it and see if we can do better.

Bonus would be, ability to bootstrap multiple nodes w/o Two Minute Rule.  
Probably would involve using LWT on pending ranges state.

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


  1   2   >