[jira] [Commented] (CASSANDRA-4634) cqlsh --color option doesn't allow you to disable colors

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4634:
-

I don't have any problem with ls/grep's command-line color control but I would 
tend to agree that it's probably not worth breaking any backward compatibility 
and a --no-color would be good enough. I don't care much about the matter 
though, just my 2 cents.

 cqlsh --color option doesn't allow you to disable colors
 

 Key: CASSANDRA-4634
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4634
 Project: Cassandra
  Issue Type: Bug
  Components: Drivers
Reporter: Tyler Hobbs
Assignee: Tyler Hobbs
Priority: Trivial
 Attachments: 4634-color-option.txt


 There's no way to disable colors with cqlsh, despite it having a {{--color}} 
 option, because that option can only enable color if present, not disable it, 
 and the default is that color is enabled.
 (Incidentally, if the {{--file}} option is used, it will disable color.)

--
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-4417) invalid counter shard detected

2012-09-10 Thread Fabien Rousseau (JIRA)

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

Fabien Rousseau commented on CASSANDRA-4417:


Could it be that counter increment is written in commitlog and sent to other 
replicas, BUT : commitlog is not yet flushed on disk AND cassandra is 
stopped/killed.

Ex :
 - node A receives an increment of 1 for c1
 - it stores (A, 1, 1)
 - it sends the increment to the replicas (A, 1, 1)
 - node is killed (without commitog being flushed to disk)
 - on restart, node A receives an increment of 3 for c1
 - it stores (A, 1, 3) (because it has no way of knowing the clock 1 was 
already attributed)


 invalid counter shard detected 
 ---

 Key: CASSANDRA-4417
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4417
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.1
 Environment: Amazon Linux
Reporter: Senthilvel Rangaswamy

 Seeing errors like these:
 2012-07-06_07:00:27.22662 ERROR 07:00:27,226 invalid counter shard detected; 
 (17bfd850-ac52-11e1--6ecd0b5b61e7, 1, 13) and 
 (17bfd850-ac52-11e1--6ecd0b5b61e7, 1, 1) differ only in count; will pick 
 highest to self-heal; this indicates a bug or corruption generated a bad 
 counter shard
 What does it mean ?

--
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: Rewrite nodetool help

2012-09-10 Thread amorton
Updated Branches:
  refs/heads/trunk 39570be0f - 5831fe793


Rewrite nodetool help

Patch by Jason Brown, reviewed by Aaron Morton for CASSANDRA-2293


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

Branch: refs/heads/trunk
Commit: 5831fe7936315bb7049a9cf9a4f9b6f68f989b5a
Parents: 39570be
Author: Aaron Morton aa...@thelastpickle.com
Authored: Mon Sep 10 21:30:02 2012 +1200
Committer: Aaron Morton aa...@thelastpickle.com
Committed: Mon Sep 10 21:30:02 2012 +1200

--
 CHANGES.txt|2 +-
 src/java/org/apache/cassandra/tools/NodeCmd.java   |  126 ++---
 .../org/apache/cassandra/tools/NodeToolHelp.java   |   36 
 .../org/apache/cassandra/tools/NodeToolHelp.yaml   |  152 +++
 4 files changed, 245 insertions(+), 71 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5831fe79/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 3af4e5e..838ed1b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -54,7 +54,7 @@
  * (cql3) update pseudo-map syntax to use map syntax (CASSANDRA-4497)
  * Finer grained exceptions hierarchy and provides error code with exceptions 
(CASSANDRA-3979)
  * Adds events push to binary protocol (CASSANDRA-4480)
-
+ * Rewrite nodetool help (CASSANDRA-2293)
 
 1.1.6
   * (cql3) fix potential NPE with both equal and unequal restriction 
(CASSANDRA-4532)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5831fe79/src/java/org/apache/cassandra/tools/NodeCmd.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeCmd.java 
b/src/java/org/apache/cassandra/tools/NodeCmd.java
index 31910aa..2359f76 100644
--- a/src/java/org/apache/cassandra/tools/NodeCmd.java
+++ b/src/java/org/apache/cassandra/tools/NodeCmd.java
@@ -18,34 +18,54 @@
 package org.apache.cassandra.tools;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.PrintStream;
 import java.lang.management.MemoryUsage;
 import java.net.ConnectException;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.text.DecimalFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Set;
 import java.util.concurrent.ExecutionException;
 
 import com.google.common.collect.LinkedHashMultimap;
 import com.google.common.collect.Maps;
-
-import org.apache.commons.cli.*;
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.CommandLineParser;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+import org.apache.commons.cli.PosixParser;
 
 import org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutorMBean;
-import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.exceptions.InvalidRequestException;
 import org.apache.cassandra.db.ColumnFamilyStoreMBean;
 import org.apache.cassandra.db.Table;
 import org.apache.cassandra.db.compaction.CompactionManagerMBean;
 import org.apache.cassandra.db.compaction.OperationType;
+import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.exceptions.InvalidRequestException;
+import org.apache.cassandra.io.util.FileUtils;
 import org.apache.cassandra.locator.EndpointSnitchInfoMBean;
 import org.apache.cassandra.net.MessagingServiceMBean;
 import org.apache.cassandra.service.CacheServiceMBean;
 import org.apache.cassandra.service.StorageProxyMBean;
 import org.apache.cassandra.utils.EstimatedHistogram;
 import org.apache.cassandra.utils.Pair;
+import org.yaml.snakeyaml.Loader;
+import org.yaml.snakeyaml.TypeDescription;
+import org.yaml.snakeyaml.Yaml;
+import org.yaml.snakeyaml.constructor.Constructor;
 
 public class NodeCmd
 {
@@ -142,79 +162,45 @@ public class NodeCmd
 private static void printUsage()
 {
 HelpFormatter hf = new HelpFormatter();
-StringBuilder header = new StringBuilder();
-header.append(\nAvailable commands:\n);
-// No args
-addCmdHelp(header, ring, Print information about the token ring);
-addCmdHelp(header, join, Join the ring);
-addCmdHelp(header, info [-T/--tokens], Print node information 
(uptime, load, ...));
-

[jira] [Updated] (CASSANDRA-4627) support inet data type

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-4627:


Attachment: 4627.txt

Since this ticket was open with a generic enough title, attaching a trivial 
patch that adds support in a few places where it was missing, namely the 
binary protocol and the CQL documentation.

 support inet data type
 --

 Key: CASSANDRA-4627
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4627
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 1.2.0 beta 1
Reporter: paul cannon
Assignee: paul cannon
  Labels: cql, cqlsh
 Fix For: 1.2.0 beta 1

 Attachments: 4627.txt


 CASSANDRA-4018 introduced a new cassandra data type with a cql name inet, 
 which is not yet supported in cqlsh. Add support for decoding and formatting.

--
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-2293) Rewrite nodetool help

2012-09-10 Thread Aaron Morton (JIRA)

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

Aaron Morton commented on CASSANDRA-2293:
-

LGTM Committed on trunk for 1.2 only

Thanks :)

 Rewrite nodetool help
 -

 Key: CASSANDRA-2293
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2293
 Project: Cassandra
  Issue Type: Improvement
  Components: Core, Documentation  website
Affects Versions: 0.8 beta 1
Reporter: Aaron Morton
Assignee: Jason Brown
Priority: Minor
 Fix For: 1.2.0

 Attachments: 0001-Jira-CASSANDRA-2293-Rewrite-nodetool-help.patch, 
 0002-Jira-CASSANDRA-2293-Rewrite-nodetool-help.patch


 Once CASSANDRA-2008 is through and we are happy with the approach I would 
 like to write similar help for nodetool. 
 Both command line help of the form nodetool help and nodetool help 
 command.

--
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-4639) Incorrect counter values

2012-09-10 Thread JIRA
Bartłomiej Romański created CASSANDRA-4639:
--

 Summary: Incorrect counter values
 Key: CASSANDRA-4639
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4639
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.2
 Environment: We've got a production 21 node cluster with 3 virtual 
data centers. Keyspace that contains counter column families has a replication 
3 on DC1 and 1 on DC3. DC1 is using SSD drives, DC3 spinning hard drives. We 
are using Ubuntu Server as an OS. Machines have 24GB of RAM. 
Reporter: Bartłomiej Romański
Priority: Critical


Since yesterday almost all counters are incorrect. Usually about 4-5 times 
higher than expected. In logs we've got this message:

ERROR [MutationStage:15] 2012-09-10 13:47:13,280 CounterContext.java (line 381) 
invalid counter shard detected; (6de8e940-dd23-11e1--5233df6faaff, 7, 242) 
and (6de8e940-dd23-11e1--5233df6faaff, 7, 392) differ only in count; will 
pick highest to self-heal; this indicates a bug or corruption generated a bad 
counter shard

every couple of seconds.

This cluster was running without any serious problems for at least 2 months.

Any ideas?


--
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-4609) Add thrift transport factory impl to cassandra-cli

2012-09-10 Thread Jason Brown (JIRA)

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

Jason Brown reassigned CASSANDRA-4609:
--

Assignee: Jason Brown

 Add thrift transport factory impl to cassandra-cli
 --

 Key: CASSANDRA-4609
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4609
 Project: Cassandra
  Issue Type: Sub-task
Reporter: T Jake Luciani
Assignee: Jason Brown



--
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-4640) Make CQL3 the default

2012-09-10 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-4640:
---

 Summary: Make CQL3 the default
 Key: CASSANDRA-4640
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4640
 Project: Cassandra
  Issue Type: Bug
  Components: API
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.0 beta 1


In 1.2, CQL3 will be final and thus I believe we should make it the default for 
CQL (and thus cqlsh).

Of course CQL2 will still be available, one will just have to call 
set_cql_version (for thrift) or 'cqlsh -2'.

--
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-4640) Make CQL3 the default

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-4640:


Attachment: 4640.txt

 Make CQL3 the default
 -

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

 Attachments: 4640.txt


 In 1.2, CQL3 will be final and thus I believe we should make it the default 
 for CQL (and thus cqlsh).
 Of course CQL2 will still be available, one will just have to call 
 set_cql_version (for thrift) or 'cqlsh -2'.

--
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-4640) Make CQL3 the default

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4640:
---

Maybe add to NEWS that set_cql_version is available and supported in 1.1?  
Otherwise +1.

 Make CQL3 the default
 -

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

 Attachments: 4640.txt


 In 1.2, CQL3 will be final and thus I believe we should make it the default 
 for CQL (and thus cqlsh).
 Of course CQL2 will still be available, one will just have to call 
 set_cql_version (for thrift) or 'cqlsh -2'.

--
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: Make vnodes default.

2012-09-10 Thread brandonwilliams
Updated Branches:
  refs/heads/trunk 5831fe793 - 94509cbd7


Make vnodes default.


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

Branch: refs/heads/trunk
Commit: 94509cbd7ea1c0b4ab6f3bad9f6b0cac68928a74
Parents: 5831fe7
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Sep 10 08:44:47 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Sep 10 08:44:47 2012 -0500

--
 conf/cassandra.yaml |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/94509cbd/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 058cd81..2b20edf 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -21,7 +21,7 @@ cluster_name: 'Test Cluster'
 #
 # If you already have a cluster with 1 token per node, and wish to migrate to 
 # multiple tokens per node, see http://wiki.apache.org/cassandra/Operations
-# num_tokens: 256
+num_tokens: 256
 
 # If you haven't specified num_tokens, or have set it to the default of 1 then
 # you should always specify InitialToken when setting up a production



[jira] [Created] (CASSANDRA-4641) Make upgrade to vnodes only happen on new installs

2012-09-10 Thread Brandon Williams (JIRA)
Brandon Williams created CASSANDRA-4641:
---

 Summary: Make upgrade to vnodes only happen on new installs
 Key: CASSANDRA-4641
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4641
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Eric Evans
 Fix For: 1.2.0 beta 1


We should make vnodes be the default for new installs, however, just enabling 
the 'num_tokens' parameter for upgrading is too flimsy.  Instead, we should 
have a jmx/nodetool operation to do the upgrading.

--
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-4380) CQLSH: describe command doesn't output valid CQL command.

2012-09-10 Thread Marcos Dione (JIRA)

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

Marcos Dione commented on CASSANDRA-4380:
-

what about the rest of the output? if I run «cqlsh --cqlversion=3», I expect 
that the output is CQLv3, but for a particular CF that was created with a CQLv2 
command, I get:

CREATE TABLE logs (
  day timestamp PRIMARY KEY
) WITH
  comment='' AND
  comparator=text AND
  read_repair_chance=0.10 AND
  gc_grace_seconds=864000 AND
  default_validation=text AND
  min_compaction_threshold=4 AND
  max_compaction_threshold=32 AND
  replicate_on_write='true' AND
  compaction_strategy_class='SizeTieredCompactionStrategy' AND
  compression_parameters:sstable_compression='SnappyCompressor';

which is only valid in CQLv2; with CQLv3 I get this message:

stdin:17:Bad Request: No definition found that is not part of the PRIMARY KEY

 CQLSH: describe command doesn't output valid CQL command.
 -

 Key: CASSANDRA-4380
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4380
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.0
Reporter: Nick Bailey
Assignee: paul cannon
  Labels: cqlsh
 Fix For: 1.1.3


 {noformat}
 cqlsh:test describe columnfamily stats;
 CREATE TABLE stats (
   gid blob PRIMARY KEY
 ) WITH
   comment='' AND
   
 comparator='CompositeType(org.apache.cassandra.db.marshal.Int32Type,org.apache.cassandra.db.marshal.BytesType,org.apache.cassandra.db.marshal.UTF8Type)'
  AND
   read_repair_chance=0.10 AND
   gc_grace_seconds=864000 AND
   default_validation=blob AND
   min_compaction_threshold=4 AND
   max_compaction_threshold=32 AND
   replicate_on_write='true' AND
   compaction_strategy_class='SizeTieredCompactionStrategy' AND
   compression_parameters:sstable_compression='SnappyCompressor';
 {noformat}
 I can create a cf in cql3 and then use describe cf to get the above output. 
 However trying to run that create statement says that all of the following 
 are invalid options:
 * default_validation
 * min_compaction_threshold
 * max_compaction_threshold
 * comparator

--
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-4417) invalid counter shard detected

2012-09-10 Thread Charles Brophy (JIRA)

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

Charles Brophy commented on CASSANDRA-4417:
---

Yes, we operate under a heavy write load and we do have frequent compaction as 
a result, but under normal conditions I never see this exception - or at least 
it doesn't happen often enough for me to catch. Following a repair, however, 
it's a guarantee for us. Could it be as simple as:

* the two servers are participants in the same key-range replicant and the 
sstables contain the same key/row/column references
* the process of streaming repair is sending a set of key/row/column references 
to the requestor in the same sstable as the out-of-sync data it's already aware 
of via repair
* Compaction finds the duplicate references in the recently received sstables - 
they're basically the other replicant's copies of that data

It seems that the act of sending the sstables from one server to the other when 
both are replicants of the same key range would be expected to result in 
duplicate references. I'm probably way off.

 invalid counter shard detected 
 ---

 Key: CASSANDRA-4417
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4417
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.1
 Environment: Amazon Linux
Reporter: Senthilvel Rangaswamy

 Seeing errors like these:
 2012-07-06_07:00:27.22662 ERROR 07:00:27,226 invalid counter shard detected; 
 (17bfd850-ac52-11e1--6ecd0b5b61e7, 1, 13) and 
 (17bfd850-ac52-11e1--6ecd0b5b61e7, 1, 1) differ only in count; will pick 
 highest to self-heal; this indicates a bug or corruption generated a bad 
 counter shard
 What does it mean ?

--
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-4641) Make upgrade to vnodes only happen on new installs

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4641:
---

IMO, num_tokens should act like initial_token: respected on startup, ignored 
otherwise.  (This lets us make num_tokens: 256 be the default for new installs, 
while not touching upgraders [even if they deploy the new cassandra.yaml] until 
they explicitly ask for it.)

 Make upgrade to vnodes only happen on new installs
 --

 Key: CASSANDRA-4641
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4641
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Eric Evans
 Fix For: 1.2.0 beta 1


 We should make vnodes be the default for new installs, however, just enabling 
 the 'num_tokens' parameter for upgrading is too flimsy.  Instead, we should 
 have a jmx/nodetool operation to do the upgrading.

--
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-4641) Make upgrade to vnodes only happen on new installs

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis edited comment on CASSANDRA-4641 at 9/11/12 2:05 AM:


IMO, num_tokens should act like initial_token: respected on first startup, 
ignored otherwise.  (This lets us make num_tokens: 256 be the default for new 
installs, while not touching upgraders [even if they deploy the new 
cassandra.yaml] until they explicitly ask for it.)

  was (Author: jbellis):
IMO, num_tokens should act like initial_token: respected on startup, 
ignored otherwise.  (This lets us make num_tokens: 256 be the default for new 
installs, while not touching upgraders [even if they deploy the new 
cassandra.yaml] until they explicitly ask for it.)
  
 Make upgrade to vnodes only happen on new installs
 --

 Key: CASSANDRA-4641
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4641
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Eric Evans
 Fix For: 1.2.0 beta 1


 We should make vnodes be the default for new installs, however, just enabling 
 the 'num_tokens' parameter for upgrading is too flimsy.  Instead, we should 
 have a jmx/nodetool operation to do the upgrading.

--
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] [Resolved] (CASSANDRA-4637) Solaris 11 SMF manifest and start script

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-4637.
---

Resolution: Not A Problem

You might want to contribute this to a wiki page so it can be maintained and 
improved.  I don't see what we can do with it in the source tree, though.

 Solaris 11 SMF manifest and start script
 

 Key: CASSANDRA-4637
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4637
 Project: Cassandra
  Issue Type: Improvement
  Components: Contrib
Affects Versions: 1.1.4
 Environment: Solaris 11 x86, not tested on SPARC but should work too
Reporter: Bernhard Roth
Priority: Minor
  Labels: Solaris, features, performance, security
 Attachments: cassandra.xml, net-cassandra, Solaris.howto

   Original Estimate: 0.5h
  Remaining Estimate: 0.5h

 These files can be used to setup a cassandra installation on Solaris 11, 
 using SMF for service monitoring and automatic start/stop.
 If service goes down, standard SMF email notifications can be used to send a 
 notice to the Admin.
 The service runs with its own user and with limited privileges using Solaris 
 RBAC

--
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-4641) Make upgrade to vnodes only happen on new installs

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4641:
-

Out of curiosity, what happens if different nodes have different values of 
num_tokens?

 Make upgrade to vnodes only happen on new installs
 --

 Key: CASSANDRA-4641
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4641
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Eric Evans
 Fix For: 1.2.0 beta 1


 We should make vnodes be the default for new installs, however, just enabling 
 the 'num_tokens' parameter for upgrading is too flimsy.  Instead, we should 
 have a jmx/nodetool operation to do the upgrading.

--
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-4322) Error in CLI when updating keyspace

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4322:
--

 Reviewer: dbros...@apache.org  (was: richardlow)
Fix Version/s: 1.1.6
 Assignee: Pavel Yaskevich  (was: Dave Brosius)

 Error in CLI when updating keyspace
 ---

 Key: CASSANDRA-4322
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4322
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.1
Reporter: Richard Low
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 1.1.6

 Attachments: auth_for_mod_ks.txt, CASSANDRA-4322.patch


 To repro:
 1. Open the cli
 2. Create a keyspace:
   create keyspace ks1 with placement_strategy = SimpleStrategy and 
 strategy_options = {replication_factor:1};
 3. Update the keyspace:
   update keyspace ks1 with strategy_options = {replication_factor:3};
 The output is:
 [default@unknown] create keyspace ks1 with placement_strategy = 
 SimpleStrategy and strategy_options = {replication_factor:1}; 
   
 8ecd5e16-e0f7-37e7-850e-38ee1a3a510e
 Waiting for schema agreement...
 ... schemas agree across the cluster
 [default@unknown] update keyspace ks1 with strategy_options = 
 {replication_factor:3};
 857af387-6677-3e39-bdf6-e1132673c25b
 Waiting for schema agreement...
 ... schemas agree across the cluster
 org.apache.thrift.protocol.TProtocolException: Required field 'keyspace' was 
 not present! Struct: describe_keyspace_args(keyspace:null)
 [default@unknown]
 The problem is that the patch in CASSANDRA-4052 assumes the CLI is 
 authenticated to a working keyspace.  getKSMetaData in executeUpdateKeySpace 
 is called with keySpace, which is null.
 Changing this to keyspaceName partially solves it, we now get:
 [default@unknown] update keyspace ks1 with strategy_options = 
 {replication_factor:3};
 Not authenticated to a working keyspace.
 18d750fc-19d9-30f0-b8b9-18b2e4a0a0d4
 Waiting for schema agreement...
 ... schemas agree across the cluster
 Not authenticated to a working keyspace.
 This comes from replayAssumptions in getKSMetaData.
 It seems that the refresh code needs to be reworked slightly to not assume 
 the CLI is authenticated to a keyspace.

--
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-4641) Make upgrade to vnodes only happen on new installs

2012-09-10 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-4641:
-

Imbalance, but that's a feature if you have nodes with different 
characteristics.

 Make upgrade to vnodes only happen on new installs
 --

 Key: CASSANDRA-4641
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4641
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Eric Evans
 Fix For: 1.2.0 beta 1


 We should make vnodes be the default for new installs, however, just enabling 
 the 'num_tokens' parameter for upgrading is too flimsy.  Instead, we should 
 have a jmx/nodetool operation to do the upgrading.

--
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-4641) Make upgrade to vnodes only happen on new installs

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4641:
-

I'm asking because if we do the 'num_tokens is only respected on first startup, 
it means people that upgrade and later bootstrap a node would end up with the 
new node have multiple tokens unless they explicitly set num_tokens. In other 
words, that would still be pretty confusing for upgraders.

Imo, vnodes should be opt-in for upgraders in 1.2 and having new nodes get 
multiple tokens by default does not accomplish that.  

 Make upgrade to vnodes only happen on new installs
 --

 Key: CASSANDRA-4641
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4641
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Eric Evans
 Fix For: 1.2.0 beta 1


 We should make vnodes be the default for new installs, however, just enabling 
 the 'num_tokens' parameter for upgrading is too flimsy.  Instead, we should 
 have a jmx/nodetool operation to do the upgrading.

--
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-4627) support inet data type

2012-09-10 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-4627:


Oops, I intended this to be just for adding the support to cqlsh. But your 
patch does add useful support, so I'm in favor of including that as well. I 
just ask that we not commit it or close the ticket until I can add in the 
driver update.

 support inet data type
 --

 Key: CASSANDRA-4627
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4627
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 1.2.0 beta 1
Reporter: paul cannon
Assignee: paul cannon
  Labels: cql, cqlsh
 Fix For: 1.2.0 beta 1

 Attachments: 4627.txt


 CASSANDRA-4018 introduced a new cassandra data type with a cql name inet, 
 which is not yet supported in cqlsh. Add support for decoding and formatting.

--
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-4380) CQLSH: describe command doesn't output valid CQL command.

2012-09-10 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-4380:


Marcos- there isn't any way to recreate some CQL 2 tables in CQL 3. CQL 3 can 
model the same data, but the structure of the table needs to be different. 
Cqlsh does the best that it can here, but if you want a better guarantee of 
valid reconstruction of CQL 2 tables, use cqlsh in CQL 2 mode.

 CQLSH: describe command doesn't output valid CQL command.
 -

 Key: CASSANDRA-4380
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4380
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.0
Reporter: Nick Bailey
Assignee: paul cannon
  Labels: cqlsh
 Fix For: 1.1.3


 {noformat}
 cqlsh:test describe columnfamily stats;
 CREATE TABLE stats (
   gid blob PRIMARY KEY
 ) WITH
   comment='' AND
   
 comparator='CompositeType(org.apache.cassandra.db.marshal.Int32Type,org.apache.cassandra.db.marshal.BytesType,org.apache.cassandra.db.marshal.UTF8Type)'
  AND
   read_repair_chance=0.10 AND
   gc_grace_seconds=864000 AND
   default_validation=blob AND
   min_compaction_threshold=4 AND
   max_compaction_threshold=32 AND
   replicate_on_write='true' AND
   compaction_strategy_class='SizeTieredCompactionStrategy' AND
   compression_parameters:sstable_compression='SnappyCompressor';
 {noformat}
 I can create a cf in cql3 and then use describe cf to get the above output. 
 However trying to run that create statement says that all of the following 
 are invalid options:
 * default_validation
 * min_compaction_threshold
 * max_compaction_threshold
 * comparator

--
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-4610) Add thrift transport factory impl to cqlsh

2012-09-10 Thread paul cannon (JIRA)

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

paul cannon reassigned CASSANDRA-4610:
--

Assignee: paul cannon

 Add thrift transport factory impl to cqlsh
 --

 Key: CASSANDRA-4610
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4610
 Project: Cassandra
  Issue Type: Sub-task
Reporter: T Jake Luciani
Assignee: paul cannon



--
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-4380) CQLSH: describe command doesn't output valid CQL command.

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4380:
---

Doesn't COMPACT STORAGE provide the ability to model thrift/cql2-style tables?

 CQLSH: describe command doesn't output valid CQL command.
 -

 Key: CASSANDRA-4380
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4380
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.0
Reporter: Nick Bailey
Assignee: paul cannon
  Labels: cqlsh
 Fix For: 1.1.3


 {noformat}
 cqlsh:test describe columnfamily stats;
 CREATE TABLE stats (
   gid blob PRIMARY KEY
 ) WITH
   comment='' AND
   
 comparator='CompositeType(org.apache.cassandra.db.marshal.Int32Type,org.apache.cassandra.db.marshal.BytesType,org.apache.cassandra.db.marshal.UTF8Type)'
  AND
   read_repair_chance=0.10 AND
   gc_grace_seconds=864000 AND
   default_validation=blob AND
   min_compaction_threshold=4 AND
   max_compaction_threshold=32 AND
   replicate_on_write='true' AND
   compaction_strategy_class='SizeTieredCompactionStrategy' AND
   compression_parameters:sstable_compression='SnappyCompressor';
 {noformat}
 I can create a cf in cql3 and then use describe cf to get the above output. 
 However trying to run that create statement says that all of the following 
 are invalid options:
 * default_validation
 * min_compaction_threshold
 * max_compaction_threshold
 * comparator

--
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-4641) Make upgrade to vnodes only happen on new installs

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4641:
---

Leaving num_tokens defaulting to 1 for 1.2 would definitely simplify things.

 Make upgrade to vnodes only happen on new installs
 --

 Key: CASSANDRA-4641
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4641
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Eric Evans
 Fix For: 1.2.0 beta 1


 We should make vnodes be the default for new installs, however, just enabling 
 the 'num_tokens' parameter for upgrading is too flimsy.  Instead, we should 
 have a jmx/nodetool operation to do the upgrading.

--
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-4380) CQLSH: describe command doesn't output valid CQL command.

2012-09-10 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-4380:


bq. Doesn't COMPACT STORAGE provide the ability to model thrift/cql2-style 
tables?

It does for some. It probably would in this case. It doesn't for the cases 
where there are multiple columns with metadata in addition to 
undefined/wide-row columns.

Maybe that's not a case worth worrying about, though. We could open a new 
ticket for recreating thrift/cql2-style tables in CQL 3 mode with COMPACT 
STORAGE and some made-up default column names like colname and value or 
something.

 CQLSH: describe command doesn't output valid CQL command.
 -

 Key: CASSANDRA-4380
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4380
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.0
Reporter: Nick Bailey
Assignee: paul cannon
  Labels: cqlsh
 Fix For: 1.1.3


 {noformat}
 cqlsh:test describe columnfamily stats;
 CREATE TABLE stats (
   gid blob PRIMARY KEY
 ) WITH
   comment='' AND
   
 comparator='CompositeType(org.apache.cassandra.db.marshal.Int32Type,org.apache.cassandra.db.marshal.BytesType,org.apache.cassandra.db.marshal.UTF8Type)'
  AND
   read_repair_chance=0.10 AND
   gc_grace_seconds=864000 AND
   default_validation=blob AND
   min_compaction_threshold=4 AND
   max_compaction_threshold=32 AND
   replicate_on_write='true' AND
   compaction_strategy_class='SizeTieredCompactionStrategy' AND
   compression_parameters:sstable_compression='SnappyCompressor';
 {noformat}
 I can create a cf in cql3 and then use describe cf to get the above output. 
 However trying to run that create statement says that all of the following 
 are invalid options:
 * default_validation
 * min_compaction_threshold
 * max_compaction_threshold
 * comparator

--
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-4611) Add AlterKeyspace statement

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-4611:


Attachment: 4611.txt

Attaching a patch that:
* Adds 'ALTER KEYSPACE'
* Allows to set/update durable_writes. This wasn't handled even for CREATE 
KEYSPACE. I haven't split that to a separate patch because this needed the same 
kind of refactor needed for this ticket anyway.
* Make the parsing/handling of properties for CREATE/ALTER KEYSPACE/TABLE a bit 
more robust. In particular it throws an exception if you set twice the same 
property in the same query instead of just ignoring the first value.


 Add AlterKeyspace statement
 ---

 Key: CASSANDRA-4611
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4611
 Project: Cassandra
  Issue Type: New Feature
  Components: API
Affects Versions: 1.1.0
Reporter: Sylvain Lebresne
Priority: Minor
  Labels: cql3
 Fix For: 1.2.0

 Attachments: 4611.txt


 Somehow we never added an ALTER KEYSPACE statement. We should.

--
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: Make CQL3 the default CQL implementation

2012-09-10 Thread slebresne
Updated Branches:
  refs/heads/trunk 94509cbd7 - 500a529e7


Make CQL3 the default CQL implementation

patch by slebresne; reviewed by jbellis for CASSANDRA-4640


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

Branch: refs/heads/trunk
Commit: 500a529e7dc8947149b419adbac922596bb341b7
Parents: 94509cb
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Sep 10 18:50:21 2012 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Sep 10 18:50:21 2012 +0200

--
 CHANGES.txt|1 +
 NEWS.txt   |9 +++--
 bin/cqlsh  |2 +-
 .../org/apache/cassandra/service/ClientState.java  |2 +-
 4 files changed, 10 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/500a529e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 838ed1b..0ad5b66 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -55,6 +55,7 @@
  * Finer grained exceptions hierarchy and provides error code with exceptions 
(CASSANDRA-3979)
  * Adds events push to binary protocol (CASSANDRA-4480)
  * Rewrite nodetool help (CASSANDRA-2293)
+ * Make CQL3 the default for CQL (CASSANDRA-4640)
 
 1.1.6
   * (cql3) fix potential NPE with both equal and unequal restriction 
(CASSANDRA-4532)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/500a529e/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 1ab5ebe..9d06b99 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -11,6 +11,7 @@ by version X, but the inverse is not necessarily the case.)
 
 1.2
 ===
+
 Upgrading
 -
 - 1.2 is NOT network-compatible with versions older than 1.0.  That
@@ -45,13 +46,17 @@ Upgrading
 - The default partitioner was changed from RandomPartitioner to
   Murmur3Partitioner which provides faster hashing as well as
   improved performance with secondary indexes.
+- The default version of CQL (and cqlsh) is now CQL3. CQL2 is still
+  available but you will have to use the thrift set_cql_version method
+  (that is already supported in 1.1) to use CQL2. For cqlsh, you will need
+  to use 'cqlsh -2'.
 - CQL3 is now considered final in this release. Compared to the beta
   version that is part of 1.1, this final version has a few additions
   (collections), but also some changes in the syntax for the options of the
   create/alter keyspace/table statements. Typically, the syntax to create a
   keyspace is now:
-CREATE KEYSPACE ks WITH replication = { 'class' : 'CompactionStrategy',
-'replication_faction' : 2 };
+CREATE KEYSPACE ks WITH replication = { 'class' : 'SimpleStrategy',
+'replication_factor' : 2 };
   Please refer to the CQL3 documentation for details.
 
 Features

http://git-wip-us.apache.org/repos/asf/cassandra/blob/500a529e/bin/cqlsh
--
diff --git a/bin/cqlsh b/bin/cqlsh
index 24217ae..d8393ba 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -114,7 +114,7 @@ CONFIG_FILE = os.path.expanduser(os.path.join('~', 
'.cqlshrc'))
 HISTORY = os.path.expanduser(os.path.join('~', '.cqlsh_history'))
 DEFAULT_HOST = 'localhost'
 DEFAULT_PORT = 9160
-DEFAULT_CQLVER = '2'
+DEFAULT_CQLVER = '3'
 
 epilog = Connects to %(DEFAULT_HOST)s:%(DEFAULT_PORT)d by default. These
 defaults can be changed by setting $CQLSH_HOST and/or $CQLSH_PORT. When a

http://git-wip-us.apache.org/repos/asf/cassandra/blob/500a529e/src/java/org/apache/cassandra/service/ClientState.java
--
diff --git a/src/java/org/apache/cassandra/service/ClientState.java 
b/src/java/org/apache/cassandra/service/ClientState.java
index b85b359..6e47950 100644
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@ -46,7 +46,7 @@ public class ClientState
 {
 private static final int MAX_CACHE_PREPARED = 1;// Enough to keep 
buggy clients from OOM'ing us
 private static final Logger logger = 
LoggerFactory.getLogger(ClientState.class);
-public static final SemanticVersion DEFAULT_CQL_VERSION = 
org.apache.cassandra.cql.QueryProcessor.CQL_VERSION;
+public static final SemanticVersion DEFAULT_CQL_VERSION = 
org.apache.cassandra.cql3.QueryProcessor.CQL_VERSION;
 
 // Current user for 

[jira] [Updated] (CASSANDRA-4611) Add AlterKeyspace statement

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4611:
--

Reviewer: xedin

 Add AlterKeyspace statement
 ---

 Key: CASSANDRA-4611
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4611
 Project: Cassandra
  Issue Type: New Feature
  Components: API
Affects Versions: 1.1.0
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
  Labels: cql3
 Fix For: 1.2.0 beta 1

 Attachments: 4611.txt


 Somehow we never added an ALTER KEYSPACE statement. We should.

--
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-4380) CQLSH: describe command doesn't output valid CQL command.

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4380:
-

bq. It doesn't for the cases where there are multiple columns with metadata in 
addition to undefined/wide-row columns

That's true on 1.1 but I'll note that for 1.2, provided you use the 
system.schema_columnfamilies table, it should (almost) always be possible to 
create a valid CQL3 definition from an existing CF (potentially, and almost 
always in the case of CF created from thrift/CQL2, with COMPACT STORAGE). The 
only thing that comes in mind that makes me say almost is the case where 
people have created on the thrift side a column_metadata on a CompositeType. In 
that last case we can create a CQL3 query to recreate the CF, but not the 
column_metadata. I think it's safe to say that we can ignore that.

bq. some made-up default column names

The Cassandra already does that (so that you can always access thrift CF from 
CQL3), see CFDefinition.java. It could be worth using the same made-up names 
here.

 CQLSH: describe command doesn't output valid CQL command.
 -

 Key: CASSANDRA-4380
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4380
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.0
Reporter: Nick Bailey
Assignee: paul cannon
  Labels: cqlsh
 Fix For: 1.1.3


 {noformat}
 cqlsh:test describe columnfamily stats;
 CREATE TABLE stats (
   gid blob PRIMARY KEY
 ) WITH
   comment='' AND
   
 comparator='CompositeType(org.apache.cassandra.db.marshal.Int32Type,org.apache.cassandra.db.marshal.BytesType,org.apache.cassandra.db.marshal.UTF8Type)'
  AND
   read_repair_chance=0.10 AND
   gc_grace_seconds=864000 AND
   default_validation=blob AND
   min_compaction_threshold=4 AND
   max_compaction_threshold=32 AND
   replicate_on_write='true' AND
   compaction_strategy_class='SizeTieredCompactionStrategy' AND
   compression_parameters:sstable_compression='SnappyCompressor';
 {noformat}
 I can create a cf in cql3 and then use describe cf to get the above output. 
 However trying to run that create statement says that all of the following 
 are invalid options:
 * default_validation
 * min_compaction_threshold
 * max_compaction_threshold
 * comparator

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

2012-09-10 Thread slebresne
Updated Tags:  refs/tags/cassandra-1.1.5 [created] 971bd9b7a


Git Push Summary

2012-09-10 Thread slebresne
Updated Tags:  refs/tags/1.1.5-tentative [deleted] e39530789


[jira] [Updated] (CASSANDRA-4635) BatchlogManagerMBean

2012-09-10 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-4635:
-

Attachment: CASSANDRA-4635.patch

 BatchlogManagerMBean
 

 Key: CASSANDRA-4635
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4635
 Project: Cassandra
  Issue Type: Sub-task
Affects Versions: 1.2.0 beta 1
Reporter: Jonathan Ellis
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 1.2.0

 Attachments: CASSANDRA-4635.patch


 CASSANDRA-4542 adds an empty BatchlogManagerMBean; we should flesh it out or 
 remove it.

--
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: update stress tool to be able to use CQL3 patch by David Alves; reviewed by Pavel Yaskevich for CASSANDRA-4406

2012-09-10 Thread xedin
Updated Branches:
  refs/heads/trunk 500a529e7 - 02769d5b6


update stress tool to be able to use CQL3
patch by David Alves; reviewed by Pavel Yaskevich for CASSANDRA-4406


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

Branch: refs/heads/trunk
Commit: 02769d5b69d5a5a7512c0f605793f21750b2c4ca
Parents: 500a529
Author: Pavel Yaskevich xe...@apache.org
Authored: Mon Sep 10 20:32:38 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Mon Sep 10 20:33:09 2012 +0300

--
 CHANGES.txt|2 +
 .../src/org/apache/cassandra/stress/Session.java   |   26 ++-
 .../cassandra/stress/operations/CqlInserter.java   |   35 +-
 .../cassandra/stress/operations/CqlReader.java |   16 +--
 .../apache/cassandra/stress/util/Operation.java|7 +++
 5 files changed, 68 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/02769d5b/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0ad5b66..896b8cc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -56,6 +56,8 @@
  * Adds events push to binary protocol (CASSANDRA-4480)
  * Rewrite nodetool help (CASSANDRA-2293)
  * Make CQL3 the default for CQL (CASSANDRA-4640)
+ * update stress tool to be able to use CQL3 (CASSANDRA-4406)
+
 
 1.1.6
   * (cql3) fix potential NPE with both equal and unequal restriction 
(CASSANDRA-4532)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/02769d5b/tools/stress/src/org/apache/cassandra/stress/Session.java
--
diff --git a/tools/stress/src/org/apache/cassandra/stress/Session.java 
b/tools/stress/src/org/apache/cassandra/stress/Session.java
index 9fff043..eb1a902 100644
--- a/tools/stress/src/org/apache/cassandra/stress/Session.java
+++ b/tools/stress/src/org/apache/cassandra/stress/Session.java
@@ -81,7 +81,8 @@ public class Session implements Serializable
 availableOptions.addOption(i,  progress-interval,true,   
Progress Report Interval (seconds), default:10);
 availableOptions.addOption(g,  keys-per-call,true,   
Number of keys to get_range_slices or multiget per call, default:1000);
 availableOptions.addOption(l,  replication-factor,   true,   
Replication Factor to use when creating needed column families, default:1);
-availableOptions.addOption(L,  enable-cql,   false,  
Perform queries using CQL (Cassandra Query Language).);
+availableOptions.addOption(L,  enable-cql,   false,  
Perform queries using CQL2 (Cassandra Query Language v 2.0.0));
+availableOptions.addOption(L3, enable-cql3,  false,  
Perform queries using CQL3 (Cassandra Query Language v 3.0.0));
 availableOptions.addOption(P,  use-prepared-statements, false, 
Perform queries using prepared statements (only applicable to CQL).);
 availableOptions.addOption(e,  consistency-level,true,   
Consistency Level to use (ONE, QUORUM, LOCAL_QUORUM, EACH_QUORUM, ALL, ANY), 
default:ONE);
 availableOptions.addOption(x,  create-index, true,   Type 
of index to create on needed column families (KEYS));
@@ -132,6 +133,8 @@ public class Session implements Serializable
 // if we know exactly column names that we want to read (set by -Q option)
 public final ListByteBuffer columnNames;
 
+public String cqlVersion;
+
 public final boolean averageSizeValues;
 
 // required by Gaussian distribution.
@@ -269,7 +272,17 @@ public class Session implements Serializable
 replicationStrategyOptions.put(replication_factor, 1);
 
 if (cmd.hasOption(L))
+{
 enable_cql = true;
+cqlVersion = 2.0.0;
+}
+
+if (cmd.hasOption(L3))
+{
+enable_cql = true;
+cqlVersion = 3.0.0;
+}
+
 
 if (cmd.hasOption(P))
 {
@@ -539,6 +552,14 @@ public class Session implements Serializable
  .setDefault_validation_class(DEFAULT_VALIDATOR)
  .setCompression_options(compressionOptions);
 
+if (!timeUUIDComparator)
+{
+for (int i = 0; i  getColumnsPerKey(); i++)
+{
+standardCfDef.addToColumn_metadata(new 
ColumnDef(ByteBufferUtil.bytes(C + i), BytesType));
+}
+}
+
 if (indexType != null)
 {
 ColumnDef standardColumn = new 
ColumnDef(ByteBufferUtil.bytes(C1), BytesType);
@@ 

[jira] [Updated] (CASSANDRA-4621) AssertionError in StorageProxy.getRestrictedRange

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-4621:


Summary: AssertionError in StorageProxy.getRestrictedRange  (was: select * 
on composite row keys generates exceptions)

 AssertionError in StorageProxy.getRestrictedRange
 -

 Key: CASSANDRA-4621
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4621
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 1
 Environment: archlinux, openjdk7
Reporter: Pierre-Yves Ritschard
Assignee: Sylvain Lebresne

 On a freshly built cassandra from trunk, I can create a column family with a 
 composite row key using the syntax:
 for instance a standard eventlog CF:
  CREATE TABLE events (
facility text,
prio int,
message text,
PRIMARY KEY ( (facility, prio) )
  );
 A simple query will then generate exceptions:
 SELECT * FROM events; will yield:
 ERROR 15:33:40,383 Exception in thread Thread[Thrift:1,5,main]
 java.lang.AssertionError: [min(0),max(-8021625467324731134)]
   at org.apache.cassandra.dht.Bounds.init(Bounds.java:41)
   at org.apache.cassandra.dht.Bounds.split(Bounds.java:59)
   at 
 org.apache.cassandra.service.StorageProxy.getRestrictedRanges(StorageProxy.java:1073)
   at 
 org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:879)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.multiRangeSlice(SelectStatement.java:209)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:128)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:118)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
   at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:107)
   at 
 org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:115)
   at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1521)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3618)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3606)
   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:184)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

--
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-4621) AssertionError in StorageProxy.getRestrictedRange

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-4621:


Attachment: 4621.txt

Pretty sure this has nothing to do with CQL. But the trace shows a token that 
is negative, which should not happen. So my guess is that it's because the new 
Murmur3Partitioner can generate negative token while it shouldn't. Patch 
attached to fix (there was 2 places where a negative could be generated, one 
was because the special case of Long.MIN_VALUE wasn't handled, the other was 
that we weren't taking the absolute value at all for random token. Both should 
be fixed though this is probably the latter that produced the error here since 
it's way more likely to happen).

 AssertionError in StorageProxy.getRestrictedRange
 -

 Key: CASSANDRA-4621
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4621
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 1
 Environment: archlinux, openjdk7
Reporter: Pierre-Yves Ritschard
Assignee: Sylvain Lebresne
 Fix For: 1.2.0 beta 1

 Attachments: 4621.txt


 On a freshly built cassandra from trunk, I can create a column family with a 
 composite row key using the syntax:
 for instance a standard eventlog CF:
  CREATE TABLE events (
facility text,
prio int,
message text,
PRIMARY KEY ( (facility, prio) )
  );
 A simple query will then generate exceptions:
 SELECT * FROM events; will yield:
 ERROR 15:33:40,383 Exception in thread Thread[Thrift:1,5,main]
 java.lang.AssertionError: [min(0),max(-8021625467324731134)]
   at org.apache.cassandra.dht.Bounds.init(Bounds.java:41)
   at org.apache.cassandra.dht.Bounds.split(Bounds.java:59)
   at 
 org.apache.cassandra.service.StorageProxy.getRestrictedRanges(StorageProxy.java:1073)
   at 
 org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:879)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.multiRangeSlice(SelectStatement.java:209)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:128)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:118)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
   at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:107)
   at 
 org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:115)
   at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1521)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3618)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3606)
   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:184)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

--
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-4621) AssertionError in StorageProxy.getRestrictedRange

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4621:
---

What if we just made the minimum token for M3P Long.MIN_VALUE instead?

 AssertionError in StorageProxy.getRestrictedRange
 -

 Key: CASSANDRA-4621
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4621
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 1
 Environment: archlinux, openjdk7
Reporter: Pierre-Yves Ritschard
Assignee: Sylvain Lebresne
 Fix For: 1.2.0 beta 1

 Attachments: 4621.txt


 On a freshly built cassandra from trunk, I can create a column family with a 
 composite row key using the syntax:
 for instance a standard eventlog CF:
  CREATE TABLE events (
facility text,
prio int,
message text,
PRIMARY KEY ( (facility, prio) )
  );
 A simple query will then generate exceptions:
 SELECT * FROM events; will yield:
 ERROR 15:33:40,383 Exception in thread Thread[Thrift:1,5,main]
 java.lang.AssertionError: [min(0),max(-8021625467324731134)]
   at org.apache.cassandra.dht.Bounds.init(Bounds.java:41)
   at org.apache.cassandra.dht.Bounds.split(Bounds.java:59)
   at 
 org.apache.cassandra.service.StorageProxy.getRestrictedRanges(StorageProxy.java:1073)
   at 
 org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:879)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.multiRangeSlice(SelectStatement.java:209)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:128)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:118)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
   at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:107)
   at 
 org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:115)
   at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1521)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3618)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3606)
   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:184)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

--
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: flesh out BatchlogManagerMBean patch by Aleksey Yeschenko; reviewed by jbellis for CASSANDRA-4635

2012-09-10 Thread jbellis
Updated Branches:
  refs/heads/trunk 02769d5b6 - b2dcd9406


flesh out BatchlogManagerMBean
patch by Aleksey Yeschenko; reviewed by jbellis for CASSANDRA-4635


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

Branch: refs/heads/trunk
Commit: b2dcd9406b779a2ef28041263a3580156b015dfd
Parents: 02769d5
Author: Jonathan Ellis jbel...@apache.org
Authored: Mon Sep 10 13:15:21 2012 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Mon Sep 10 13:15:21 2012 -0500

--
 CHANGES.txt|2 +-
 .../org/apache/cassandra/config/CFMetaData.java|1 -
 .../org/apache/cassandra/db/BatchlogManager.java   |  107 +--
 .../apache/cassandra/db/BatchlogManagerMBean.java  |   16 ++
 4 files changed, 82 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b2dcd940/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 896b8cc..95a8b18 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,5 @@
 1.2-beta1
- * add atomic_batch_mutate (CASSANDRA-4542)
+ * add atomic_batch_mutate (CASSANDRA-4542, -4635)
  * increase default max_hint_window_in_ms to 3h (CASSANDRA-4632)
  * include message initiation time to replicas so they can more
accurately drop timed-out requests (CASSANDRA-2858)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b2dcd940/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 9ee684c..4e29fc7 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -194,7 +194,6 @@ public final class CFMetaData
 
 public static final CFMetaData BatchlogCF = compile(16, CREATE TABLE  + 
SystemTable.BATCHLOG_CF +  (
 + id uuid PRIMARY 
KEY,
-+ coordinator 
inet,
 + written_at 
timestamp,
 + data blob
 + ) WITH 
COMMENT='uncommited batches' AND gc_grace_seconds=0);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b2dcd940/src/java/org/apache/cassandra/db/BatchlogManager.java
--
diff --git a/src/java/org/apache/cassandra/db/BatchlogManager.java 
b/src/java/org/apache/cassandra/db/BatchlogManager.java
index 2ae9361..ded1ca4 100644
--- a/src/java/org/apache/cassandra/db/BatchlogManager.java
+++ b/src/java/org/apache/cassandra/db/BatchlogManager.java
@@ -23,6 +23,8 @@ import java.net.InetAddress;
 import java.nio.ByteBuffer;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicLong;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
@@ -32,17 +34,16 @@ import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.config.CFMetaData;
 import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.db.filter.IFilter;
 import org.apache.cassandra.db.filter.NamesQueryFilter;
 import org.apache.cassandra.db.filter.QueryFilter;
 import org.apache.cassandra.db.filter.QueryPath;
-import org.apache.cassandra.db.marshal.InetAddressType;
 import org.apache.cassandra.db.marshal.LongType;
 import org.apache.cassandra.db.marshal.UTF8Type;
 import org.apache.cassandra.db.marshal.UUIDType;
 import org.apache.cassandra.dht.AbstractBounds;
 import org.apache.cassandra.dht.IPartitioner;
 import org.apache.cassandra.dht.Range;
-import org.apache.cassandra.gms.FailureDetector;
 import org.apache.cassandra.io.util.FastByteArrayOutputStream;
 import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.service.StorageProxy;
@@ -54,17 +55,18 @@ public class BatchlogManager implements BatchlogManagerMBean
 {
 private static final String MBEAN_NAME = 
org.apache.cassandra.db:type=BatchlogManager;
 private static final int VERSION = MessagingService.VERSION_12;
-private static final long TIMEOUT = 2 * DatabaseDescriptor.getRpcTimeout();
+private static final long TIMEOUT = 2 * 
DatabaseDescriptor.getWriteRpcTimeout();
 
-private static final ByteBuffer COORDINATOR = columnName(coordinator);
 private static 

[jira] [Updated] (CASSANDRA-4635) BatchlogManagerMBean

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4635:
--

Fix Version/s: (was: 1.2.0)
   1.2.0 beta 1

 BatchlogManagerMBean
 

 Key: CASSANDRA-4635
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4635
 Project: Cassandra
  Issue Type: Sub-task
Affects Versions: 1.2.0 beta 1
Reporter: Jonathan Ellis
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 1.2.0 beta 1

 Attachments: CASSANDRA-4635.patch


 CASSANDRA-4542 adds an empty BatchlogManagerMBean; we should flesh it out or 
 remove it.

--
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-4621) AssertionError in StorageProxy.getRestrictedRange

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4621:
-

A priori, I don't think that would be a problem (and if it's fine we should). 
We could also avoid using BigInteger to generate the middle of two longs :)

 AssertionError in StorageProxy.getRestrictedRange
 -

 Key: CASSANDRA-4621
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4621
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 1
 Environment: archlinux, openjdk7
Reporter: Pierre-Yves Ritschard
Assignee: Sylvain Lebresne
 Fix For: 1.2.0 beta 1

 Attachments: 4621.txt


 On a freshly built cassandra from trunk, I can create a column family with a 
 composite row key using the syntax:
 for instance a standard eventlog CF:
  CREATE TABLE events (
facility text,
prio int,
message text,
PRIMARY KEY ( (facility, prio) )
  );
 A simple query will then generate exceptions:
 SELECT * FROM events; will yield:
 ERROR 15:33:40,383 Exception in thread Thread[Thrift:1,5,main]
 java.lang.AssertionError: [min(0),max(-8021625467324731134)]
   at org.apache.cassandra.dht.Bounds.init(Bounds.java:41)
   at org.apache.cassandra.dht.Bounds.split(Bounds.java:59)
   at 
 org.apache.cassandra.service.StorageProxy.getRestrictedRanges(StorageProxy.java:1073)
   at 
 org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:879)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.multiRangeSlice(SelectStatement.java:209)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:128)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:118)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
   at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:107)
   at 
 org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:115)
   at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1521)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3618)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3606)
   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:184)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

--
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-4621) AssertionError in StorageProxy.getRestrictedRange

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4621:
-

(I'll have a shot at both)

 AssertionError in StorageProxy.getRestrictedRange
 -

 Key: CASSANDRA-4621
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4621
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 1
 Environment: archlinux, openjdk7
Reporter: Pierre-Yves Ritschard
Assignee: Sylvain Lebresne
 Fix For: 1.2.0 beta 1

 Attachments: 4621.txt


 On a freshly built cassandra from trunk, I can create a column family with a 
 composite row key using the syntax:
 for instance a standard eventlog CF:
  CREATE TABLE events (
facility text,
prio int,
message text,
PRIMARY KEY ( (facility, prio) )
  );
 A simple query will then generate exceptions:
 SELECT * FROM events; will yield:
 ERROR 15:33:40,383 Exception in thread Thread[Thrift:1,5,main]
 java.lang.AssertionError: [min(0),max(-8021625467324731134)]
   at org.apache.cassandra.dht.Bounds.init(Bounds.java:41)
   at org.apache.cassandra.dht.Bounds.split(Bounds.java:59)
   at 
 org.apache.cassandra.service.StorageProxy.getRestrictedRanges(StorageProxy.java:1073)
   at 
 org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:879)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.multiRangeSlice(SelectStatement.java:209)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:128)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:118)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
   at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:107)
   at 
 org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:115)
   at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1521)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3618)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3606)
   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:184)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

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


svn commit: r1383019 - in /cassandra/site: publish/download/index.html publish/index.html src/settings.py

2012-09-10 Thread slebresne
Author: slebresne
Date: Mon Sep 10 18:18:47 2012
New Revision: 1383019

URL: http://svn.apache.org/viewvc?rev=1383019view=rev
Log:
Update website for 1.1.5

Modified:
cassandra/site/publish/download/index.html
cassandra/site/publish/index.html
cassandra/site/src/settings.py

Modified: cassandra/site/publish/download/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/download/index.html?rev=1383019r1=1383018r2=1383019view=diff
==
--- cassandra/site/publish/download/index.html (original)
+++ cassandra/site/publish/download/index.html Mon Sep 10 18:18:47 2012
@@ -49,8 +49,8 @@
   Cassandra releases include the core server, the a 
href=http://wiki.apache.org/cassandra/NodeTool;nodetool/a administration 
command-line interface, and a development shell (a 
href=http://cassandra.apache.org/doc/cql/CQL.html;ttcqlsh/tt/a and the 
old ttcassandra-cli/tt).
 
   p
-  The latest stable release of Apache Cassandra is 1.1.4
-  (released on 2012-08-20).  iIf you're just
+  The latest stable release of Apache Cassandra is 1.1.5
+  (released on 2012-09-10).  iIf you're just
   starting out, download this one./i
   /p
 
@@ -59,13 +59,13 @@
   ul
 li
 a class=filename 
-   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.1.4/apache-cassandra-1.1.4-bin.tar.gz;
+   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.1.5/apache-cassandra-1.1.5-bin.tar.gz;
onclick=javascript: 
pageTracker._trackPageview('/clicks/binary_download');
-  apache-cassandra-1.1.4-bin.tar.gz
+  apache-cassandra-1.1.5-bin.tar.gz
 /a
-[a 
href=http://www.apache.org/dist/cassandra/1.1.4/apache-cassandra-1.1.4-bin.tar.gz.asc;PGP/a]
-[a 
href=http://www.apache.org/dist/cassandra/1.1.4/apache-cassandra-1.1.4-bin.tar.gz.md5;MD5/a]
-[a 
href=http://www.apache.org/dist/cassandra/1.1.4/apache-cassandra-1.1.4-bin.tar.gz.sha1;SHA1/a]
+[a 
href=http://www.apache.org/dist/cassandra/1.1.5/apache-cassandra-1.1.5-bin.tar.gz.asc;PGP/a]
+[a 
href=http://www.apache.org/dist/cassandra/1.1.5/apache-cassandra-1.1.5-bin.tar.gz.md5;MD5/a]
+[a 
href=http://www.apache.org/dist/cassandra/1.1.5/apache-cassandra-1.1.5-bin.tar.gz.sha1;SHA1/a]
 /li
 li
 a href=http://wiki.apache.org/cassandra/DebianPackaging;Debian 
installation instructions/a
@@ -153,13 +153,13 @@
   ul
 li
 a class=filename 
-   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.1.4/apache-cassandra-1.1.4-src.tar.gz;
+   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.1.5/apache-cassandra-1.1.5-src.tar.gz;
onclick=javascript: 
pageTracker._trackPageview('/clicks/source_download');
-  apache-cassandra-1.1.4-src.tar.gz
+  apache-cassandra-1.1.5-src.tar.gz
 /a
-[a 
href=http://www.apache.org/dist/cassandra/1.1.4/apache-cassandra-1.1.4-src.tar.gz.asc;PGP/a]
-[a 
href=http://www.apache.org/dist/cassandra/1.1.4/apache-cassandra-1.1.4-src.tar.gz.md5;MD5/a]
-[a 
href=http://www.apache.org/dist/cassandra/1.1.4/apache-cassandra-1.1.4-src.tar.gz.sha1;SHA1/a]
+[a 
href=http://www.apache.org/dist/cassandra/1.1.5/apache-cassandra-1.1.5-src.tar.gz.asc;PGP/a]
+[a 
href=http://www.apache.org/dist/cassandra/1.1.5/apache-cassandra-1.1.5-src.tar.gz.md5;MD5/a]
+[a 
href=http://www.apache.org/dist/cassandra/1.1.5/apache-cassandra-1.1.5-src.tar.gz.sha1;SHA1/a]
 /li
   
 li

Modified: cassandra/site/publish/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/index.html?rev=1383019r1=1383018r2=1383019view=diff
==
--- cassandra/site/publish/index.html (original)
+++ cassandra/site/publish/index.html Mon Sep 10 18:18:47 2012
@@ -75,8 +75,8 @@
   h2Download/h2
   div class=inner rc
 p
-The latest release is b1.1.4/b
-span class=relnotes(a 
href=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=blob_plain;f=CHANGES.txt;hb=refs/tags/cassandra-1.1.4;Changes/a)/span
+The latest release is b1.1.5/b
+span class=relnotes(a 
href=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=blob_plain;f=CHANGES.txt;hb=refs/tags/cassandra-1.1.5;Changes/a)/span
 /p
 
 pa class=filename href=/download/Download options/a/p

Modified: cassandra/site/src/settings.py
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/settings.py?rev=1383019r1=1383018r2=1383019view=diff
==
--- cassandra/site/src/settings.py (original)
+++ cassandra/site/src/settings.py Mon Sep 10 18:18:47 2012
@@ -98,8 +98,8 @@ class CassandraDef(object):
 veryoldstable_version = '0.8.10'
 veryoldstable_release_date = '2012-02-13'
 veryoldstable_exists = True
-stable_version = '1.1.4'
-stable_release_date = '2012-08-20'
+stable_version = '1.1.5'
+stable_release_date = '2012-09-10'
  

[jira] [Commented] (CASSANDRA-4380) CQLSH: describe command doesn't output valid CQL command.

2012-09-10 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-4380:


bq. for 1.2, provided you use the system.schema_columnfamilies table, it should 
(almost) always be possible to create a valid CQL3 definition from an existing 
CF

Could you elaborate on how that should be done? Say I made the following in 
CQL2:

{noformat}
CREATE TABLE foo (t text PRIMARY KEY, f float, x uuid) WITH 
default_validation=timestamp;
{noformat}

If that can be recreated in CQL 3, then I've missed a development somewhere.

bq. The Cassandra already does that (so that you can always access thrift CF 
from CQL3), see CFDefinition.java. It could be worth using the same made-up 
names here.

That's good to know. We should probably make that new ticket then.

 CQLSH: describe command doesn't output valid CQL command.
 -

 Key: CASSANDRA-4380
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4380
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.0
Reporter: Nick Bailey
Assignee: paul cannon
  Labels: cqlsh
 Fix For: 1.1.3


 {noformat}
 cqlsh:test describe columnfamily stats;
 CREATE TABLE stats (
   gid blob PRIMARY KEY
 ) WITH
   comment='' AND
   
 comparator='CompositeType(org.apache.cassandra.db.marshal.Int32Type,org.apache.cassandra.db.marshal.BytesType,org.apache.cassandra.db.marshal.UTF8Type)'
  AND
   read_repair_chance=0.10 AND
   gc_grace_seconds=864000 AND
   default_validation=blob AND
   min_compaction_threshold=4 AND
   max_compaction_threshold=32 AND
   replicate_on_write='true' AND
   compaction_strategy_class='SizeTieredCompactionStrategy' AND
   compression_parameters:sstable_compression='SnappyCompressor';
 {noformat}
 I can create a cf in cql3 and then use describe cf to get the above output. 
 However trying to run that create statement says that all of the following 
 are invalid options:
 * default_validation
 * min_compaction_threshold
 * max_compaction_threshold
 * comparator

--
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-4621) AssertionError in StorageProxy.getRestrictedRange

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4621:
-

I also think that it's a problem that Murmur3Partitioner has a MINIMUM token 
that is a valid token (one that correspond to actual keys). Indeed (min, X] 
is suppose to include everything smaller than token X, but if min is a actual 
token, it is not contained in (min, X]. 

 AssertionError in StorageProxy.getRestrictedRange
 -

 Key: CASSANDRA-4621
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4621
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 1
 Environment: archlinux, openjdk7
Reporter: Pierre-Yves Ritschard
Assignee: Sylvain Lebresne
 Fix For: 1.2.0 beta 1

 Attachments: 4621.txt


 On a freshly built cassandra from trunk, I can create a column family with a 
 composite row key using the syntax:
 for instance a standard eventlog CF:
  CREATE TABLE events (
facility text,
prio int,
message text,
PRIMARY KEY ( (facility, prio) )
  );
 A simple query will then generate exceptions:
 SELECT * FROM events; will yield:
 ERROR 15:33:40,383 Exception in thread Thread[Thrift:1,5,main]
 java.lang.AssertionError: [min(0),max(-8021625467324731134)]
   at org.apache.cassandra.dht.Bounds.init(Bounds.java:41)
   at org.apache.cassandra.dht.Bounds.split(Bounds.java:59)
   at 
 org.apache.cassandra.service.StorageProxy.getRestrictedRanges(StorageProxy.java:1073)
   at 
 org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:879)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.multiRangeSlice(SelectStatement.java:209)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:128)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:118)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
   at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:107)
   at 
 org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:115)
   at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1521)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3618)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3606)
   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:184)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

--
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-4634) cqlsh --color option doesn't allow you to disable colors

2012-09-10 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-4634:
---

Attachment: 4634-color-option-v2.txt

v2 patch adds a {{\-\-no-color}} option instead.  The behavior now is that with 
{{\-\-color}}, color will always be enabled, with {{\-\-no-color}}, it will 
always be disabled, and without either one, the behavior is similar to 
{{auto}}, where color is only enabled if not reading a file and stdout is 
connected to a terminal.

 cqlsh --color option doesn't allow you to disable colors
 

 Key: CASSANDRA-4634
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4634
 Project: Cassandra
  Issue Type: Bug
  Components: Drivers
Reporter: Tyler Hobbs
Assignee: Tyler Hobbs
Priority: Trivial
 Attachments: 4634-color-option.txt, 4634-color-option-v2.txt


 There's no way to disable colors with cqlsh, despite it having a {{--color}} 
 option, because that option can only enable color if present, not disable it, 
 and the default is that color is enabled.
 (Incidentally, if the {{--file}} option is used, it will disable color.)

--
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-4621) AssertionError in StorageProxy.getRestrictedRange

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4621:
---

Hmm.  Forgot that we changed MINIMUM to  ZERO for RP.

 AssertionError in StorageProxy.getRestrictedRange
 -

 Key: CASSANDRA-4621
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4621
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 1
 Environment: archlinux, openjdk7
Reporter: Pierre-Yves Ritschard
Assignee: Sylvain Lebresne
 Fix For: 1.2.0 beta 1

 Attachments: 4621.txt


 On a freshly built cassandra from trunk, I can create a column family with a 
 composite row key using the syntax:
 for instance a standard eventlog CF:
  CREATE TABLE events (
facility text,
prio int,
message text,
PRIMARY KEY ( (facility, prio) )
  );
 A simple query will then generate exceptions:
 SELECT * FROM events; will yield:
 ERROR 15:33:40,383 Exception in thread Thread[Thrift:1,5,main]
 java.lang.AssertionError: [min(0),max(-8021625467324731134)]
   at org.apache.cassandra.dht.Bounds.init(Bounds.java:41)
   at org.apache.cassandra.dht.Bounds.split(Bounds.java:59)
   at 
 org.apache.cassandra.service.StorageProxy.getRestrictedRanges(StorageProxy.java:1073)
   at 
 org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:879)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.multiRangeSlice(SelectStatement.java:209)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:128)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:118)
   at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
   at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:107)
   at 
 org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:115)
   at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1521)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3618)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3606)
   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:184)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

--
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-4380) CQLSH: describe command doesn't output valid CQL command.

2012-09-10 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4380:
-

bq. If that can be recreated in CQL 3, then I've missed a development somewhere

Good point, I think too much in term of CQL3 now I guess, forgot about those. I 
suppose we could generate a valid CQL3 definition that is compatible with 
that (the same thing without the default_validation_validation part), but it's 
unclear it's a better idea.

 CQLSH: describe command doesn't output valid CQL command.
 -

 Key: CASSANDRA-4380
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4380
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.0
Reporter: Nick Bailey
Assignee: paul cannon
  Labels: cqlsh
 Fix For: 1.1.3


 {noformat}
 cqlsh:test describe columnfamily stats;
 CREATE TABLE stats (
   gid blob PRIMARY KEY
 ) WITH
   comment='' AND
   
 comparator='CompositeType(org.apache.cassandra.db.marshal.Int32Type,org.apache.cassandra.db.marshal.BytesType,org.apache.cassandra.db.marshal.UTF8Type)'
  AND
   read_repair_chance=0.10 AND
   gc_grace_seconds=864000 AND
   default_validation=blob AND
   min_compaction_threshold=4 AND
   max_compaction_threshold=32 AND
   replicate_on_write='true' AND
   compaction_strategy_class='SizeTieredCompactionStrategy' AND
   compression_parameters:sstable_compression='SnappyCompressor';
 {noformat}
 I can create a cf in cql3 and then use describe cf to get the above output. 
 However trying to run that create statement says that all of the following 
 are invalid options:
 * default_validation
 * min_compaction_threshold
 * max_compaction_threshold
 * comparator

--
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-4634) cqlsh --color option doesn't allow you to disable colors

2012-09-10 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-4634:


+1

 cqlsh --color option doesn't allow you to disable colors
 

 Key: CASSANDRA-4634
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4634
 Project: Cassandra
  Issue Type: Bug
  Components: Drivers
Reporter: Tyler Hobbs
Assignee: Tyler Hobbs
Priority: Trivial
 Attachments: 4634-color-option.txt, 4634-color-option-v2.txt


 There's no way to disable colors with cqlsh, despite it having a {{--color}} 
 option, because that option can only enable color if present, not disable it, 
 and the default is that color is enabled.
 (Incidentally, if the {{--file}} option is used, it will disable color.)

--
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: cqlsh: allow disabling colors. Patch by Tyler Hobbs, reviewed by brandonwilliams for CASSANDRA-4634

2012-09-10 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-1.1 aba5a3765 - 7cbc0be23


cqlsh: allow disabling colors.
Patch by Tyler Hobbs, reviewed by brandonwilliams for CASSANDRA-4634


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

Branch: refs/heads/cassandra-1.1
Commit: 7cbc0be23d258559aa823cd9fa8586ff81f71c91
Parents: aba5a37
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Sep 10 14:40:45 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Sep 10 14:41:43 2012 -0500

--
 bin/cqlsh |   18 --
 1 files changed, 12 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7cbc0be2/bin/cqlsh
--
diff --git a/bin/cqlsh b/bin/cqlsh
index 6b61364..8d98c28 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -121,8 +121,10 @@ precedence over any defaults. % globals()
 parser = optparse.OptionParser(description=description, epilog=epilog,
usage=Usage: %prog [options] [host [port]],
version='cqlsh ' + version)
-parser.add_option(-C, --color, action=store_true,
-  help=Enable color output.)
+parser.add_option(-C, --color, action='store_true', dest='color',
+  help='Always use color output')
+parser.add_option(--no-color, action='store_false', dest='color',
+  help='Never use color output')
 parser.add_option(-u, --username, help=Authenticate as user.)
 parser.add_option(-p, --password, help=Authenticate using password.)
 parser.add_option('-k', '--keyspace', help='Authenticate to the given 
keyspace.')
@@ -2598,9 +2600,6 @@ def read_options(cmdlineargs, environment):
 optvalues.keyspace = option_with_default(configs.get, 'authentication', 
'keyspace')
 optvalues.completekey = option_with_default(configs.get, 'ui', 
'completekey', 'tab')
 optvalues.color = option_with_default(configs.getboolean, 'ui', 'color')
-if optvalues.color is None:
-# default yes if tty
-optvalues.color = should_use_color()
 optvalues.debug = False
 optvalues.file = None
 optvalues.tty = sys.stdin.isatty()
@@ -2620,9 +2619,16 @@ def read_options(cmdlineargs, environment):
 port = arguments[1]
 
 if options.file is not None:
-options.color = False
 options.tty = False
 
+if optvalues.color in (True, False):
+options.color = optvalues.color
+else:
+if options.file is not None:
+options.color = False
+else:
+options.color = should_use_color()
+
 options.cqlversion, cqlvertup = full_cql_version(options.cqlversion)
 if cqlvertup[0]  3:
 options.cqlmodule = cqlhandling



[jira] [Updated] (CASSANDRA-4537) We should emit number of sstables in each level from JMX

2012-09-10 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-4537:
--

Attachment: 4537-v2.txt

v2 attached. It displays max threshold of level when exceeded.

 We should emit number of sstables in each level from JMX
 

 Key: CASSANDRA-4537
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4537
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.0.0
Reporter: sankalp kohli
Assignee: Yuki Morishita
Priority: Minor
  Labels: compaction, leveled
 Fix For: 1.2.1

 Attachments: 4537.txt, 4537-v2.txt

   Original Estimate: 12h
  Remaining Estimate: 12h

 We should add methods to this Mbean 
 org.apache.cassandra.db.ColumnFamilyStoreMBean
 These metrics will be helpful to see how sstables are distributed in 
 different levels and how they move to higher level with time. 
 Currently we can see this by looking at the json file but with JMX, we can 
 monitor the historic values over time using any monitoring tool.  

--
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-4237) Add back 0.8-style memtable_lifetime feature

2012-09-10 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-4237:
---

bq. Hmm, I think this means that if perform a scheduled forceFlush but it's 
clean, we don't schedule another flush attempt.

There is expire check when flushed memtable is clean and reschedule another 
flush.

bq. Maybe brute force every 10s isn't so bad?

10sec brute force would work if memtable_flush_period is set longer (seconds or 
minutes). 

bq. Bonus: accomodates changing the period via mbean for free (which we should 
allow), without having to try to retrieve a ScheduledTask and cancel it

Here, you mean the period of brute force flush?

 Add back 0.8-style memtable_lifetime feature
 

 Key: CASSANDRA-4237
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4237
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Affects Versions: 1.0.0
Reporter: Jonathan Ellis
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 1.2.0

 Attachments: 4237.txt


 Back in 0.8 we had a memtable_lifetime_in_minutes setting.  We got rid of it 
 in 1.0 when we added CASSANDRA-2427, which is a better way to  ensure 
 flushing on low-activity memtables.
 However, at the same time we also added the ability to disable durable 
 writes.  So it's entirely possible to configure a low-activity memtable, that 
 isn't part of the commitlog.  So, we should add back a memtable lifetime 
 setting.
 An additional motive is pointed out by 
 http://www.fsl.cs.sunysb.edu/~pshetty/socc11-gtssl.pdf: if you have a *high* 
 activity columnfamily, and don't require absolute durability, the commitlog 
 is redundant if you are flushing faster than the commitlog sync period.  So, 
 disabling durable writes but setting memtable lifetime to the same as the 
 commitlog sync would be a reasonable optimization.
 Thus, when we add back memtable lifetime, I think we should measure it in 
 seconds or possibly even milliseconds (to match commitlog_sync_period) rather 
 than minutes.

--
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/8] git commit: explain how to work around exec problems in error message patch by jbellis for CASSANDRA-4590

2012-09-10 Thread xedin
explain how to work around exec problems in error message
patch by jbellis for CASSANDRA-4590


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

Branch: refs/heads/trunk
Commit: 0388a3370ec0400ccee33e669a3dd635b708ea77
Parents: 9b08a7f
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Sep 7 11:57:19 2012 -0500
Committer: Pavel Yaskevich xe...@apache.org
Committed: Tue Sep 11 00:12:09 2012 +0300

--
 src/java/org/apache/cassandra/utils/CLibrary.java |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0388a337/src/java/org/apache/cassandra/utils/CLibrary.java
--
diff --git a/src/java/org/apache/cassandra/utils/CLibrary.java 
b/src/java/org/apache/cassandra/utils/CLibrary.java
index e28337e..f8ad9d1 100644
--- a/src/java/org/apache/cassandra/utils/CLibrary.java
+++ b/src/java/org/apache/cassandra/utils/CLibrary.java
@@ -188,7 +188,10 @@ public final class CLibrary
 }
 catch (IOException ex)
 {
-logger.error(Unable to create hard link, ex);
+String st = osname.startsWith(Windows)
+  ? Unable to create hard link.  This probably means your 
data directory path is too long.  Exception follows:
+  : Unable to create hard link with exec.  Suggest 
installing JNA to avoid the need to exec entirely.  Exception follows: ;
+logger.error(st, ex);
 throw ex;
 }
 }



[5/8] git commit: Fix changelog

2012-09-10 Thread xedin
Fix changelog


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

Branch: refs/heads/trunk
Commit: dcf27a596c53c4f25cf71da542205b3e4c01e651
Parents: 429fa7a
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Fri Sep 7 18:27:31 2012 +0200
Committer: Pavel Yaskevich xe...@apache.org
Committed: Tue Sep 11 00:06:45 2012 +0300

--
 CHANGES.txt |4 
 1 files changed, 4 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dcf27a59/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 809013a..9ae8999 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -82,6 +82,10 @@
  * Respect five-minute flush moratorium after initial CL replay 
(CASSANDRA-4474)
  * Adds ntp as recommended in debian packaging (CASSANDRA-4606)
  * Configurable transport in CF Record{Reader|Writer} (CASSANDRA-4558)
+ * (cql3) fix potential NPE with both equal and unequal restriction 
(CASSANDRA-4532)
+ * (cql3) improves ORDER BY validation (CASSANDRA-4624)
+ * Fix potential deadlock during counter writes (CASSANDRA-4578)
+ * Fix cql error with ORDER BY when using IN (CASSANDRA-4612)
 Merged from 1.0:
  * increase Xss to 160k to accomodate latest 1.6 JVMs (CASSANDRA-4602)
  * fix toString of hint destination tokens (CASSANDRA-4568)



[8/8] git commit: change ColumnSerializer.deserialize to be able fix timestamps from future, related to CASSANDRA-4561

2012-09-10 Thread xedin
change ColumnSerializer.deserialize to be able fix timestamps from future, 
related to CASSANDRA-4561


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

Branch: refs/heads/trunk
Commit: 429fa7a80e22757a55c03e99c27c157824a666af
Parents: 2a3b0c0
Author: Pavel Yaskevich xe...@apache.org
Authored: Fri Sep 7 14:43:51 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Tue Sep 11 00:06:19 2012 +0300

--
 .../org/apache/cassandra/db/ColumnSerializer.java  |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/429fa7a8/src/java/org/apache/cassandra/db/ColumnSerializer.java
--
diff --git a/src/java/org/apache/cassandra/db/ColumnSerializer.java 
b/src/java/org/apache/cassandra/db/ColumnSerializer.java
index d4a3e64..55cffe8 100644
--- a/src/java/org/apache/cassandra/db/ColumnSerializer.java
+++ b/src/java/org/apache/cassandra/db/ColumnSerializer.java
@@ -26,6 +26,7 @@ import org.apache.cassandra.io.FSReadError;
 import org.apache.cassandra.io.IColumnSerializer;
 import org.apache.cassandra.io.util.FileDataInput;
 import org.apache.cassandra.utils.ByteBufferUtil;
+import org.apache.cassandra.utils.FBUtilities;
 
 public class ColumnSerializer implements IColumnSerializer
 {
@@ -105,6 +106,11 @@ public class ColumnSerializer implements IColumnSerializer
 else
 {
 long ts = dis.readLong();
+long now = FBUtilities.timestampMicros();
+
+if (ts  now) // fixing the timestamp from the future to be 'now' 
in micros
+ts = now; // helps with CASSANDRA-4561 as remote nodes can 
send schema with wrong nanoTime() timestamps
+
 ByteBuffer value = ByteBufferUtil.readWithLength(dis);
 return (mask  COUNTER_UPDATE_MASK) != 0
? new CounterUpdateColumn(name, value, ts)



[7/8] git commit: Bump stack to 180k. Patch by brandonwilliams reviewed by jbellis for CASSANDRA-4631

2012-09-10 Thread xedin
Bump stack to 180k.
Patch by brandonwilliams reviewed by jbellis for CASSANDRA-4631


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

Branch: refs/heads/trunk
Commit: 2a3b0c05f79b53e4e0176813e9abca640c93f01d
Parents: e681a1a
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Sep 7 10:59:56 2012 -0500
Committer: Pavel Yaskevich xe...@apache.org
Committed: Tue Sep 11 00:06:19 2012 +0300

--
 conf/cassandra-env.sh |8 ++--
 1 files changed, 2 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2a3b0c05/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index 6fa37ed..95760dd 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -184,12 +184,8 @@ if [ `uname` = Linux ] ; then
 # thread-per-client.  (Best practice is for client connections to
 # be pooled anyway.) Only do so on Linux where it is known to be
 # supported.
-if startswith $JVM_VERSION '1.7.'
-then
-JVM_OPTS=$JVM_OPTS -Xss180k
-else
-JVM_OPTS=$JVM_OPTS -Xss160k
-fi
+# u34 and greater need 180k
+JVM_OPTS=$JVM_OPTS -Xss180k
 fi
 echo xss = $JVM_OPTS
 



[6/8] git commit: Fix cql error with ORDER BY when using IN patch by Pavel Yaskevich; reviewed by Sylvain Lebresne for CASSANDRA-4612

2012-09-10 Thread xedin
Fix cql error with ORDER BY when using IN
patch by Pavel Yaskevich; reviewed by Sylvain Lebresne for CASSANDRA-4612


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

Branch: refs/heads/trunk
Commit: e681a1a62280dca648b8dd1b6a1d386cb1a2788e
Parents: b2dcd94
Author: Pavel Yaskevich xe...@apache.org
Authored: Thu Sep 6 18:11:05 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Tue Sep 11 00:06:19 2012 +0300

--
 CHANGES.txt|1 +
 .../cassandra/cql3/statements/SelectStatement.java |   95 ---
 2 files changed, 76 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e681a1a6/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 95a8b18..809013a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -63,6 +63,7 @@
   * (cql3) fix potential NPE with both equal and unequal restriction 
(CASSANDRA-4532)
   * (cql3) improves ORDER BY validation (CASSANDRA-4624)
   * Fix potential deadlock during counter writes (CASSANDRA-4578)
+  * Fix cql error with ORDER BY when using IN (CASSANDRA-4612)
 
 
 1.1.5

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e681a1a6/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 9696a78..2a097f5 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -808,28 +808,59 @@ public class SelectStatement implements CQLStatement
 if (parameters.orderings.size() == 1)
 {
 CFDefinition.Name ordering = 
cfDef.get(parameters.orderings.keySet().iterator().next());
-Collections.sort(cqlRows.rows, new 
SingleColumnComparator(ordering.position + 1, ordering.type));
+Collections.sort(cqlRows.rows, new 
SingleColumnComparator(getColumnPositionInSelect(ordering), ordering.type));
 return;
 }
 
-// figures out where ordering would start in results (startPosition),
-// builds a composite type for multi-column comparison from the 
comparators of the ordering components
+// builds a 'composite' type for multi-column comparison from the 
comparators of the ordering components
 // and passes collected position information and built composite 
comparator to CompositeComparator to do
 // an actual comparison of the CQL rows.
-int startPosition = -1;
-ListAbstractType? types = new ArrayListAbstractType?();
+ListAbstractType? types = new 
ArrayListAbstractType?(parameters.orderings.size());
+int[] positions = new int[parameters.orderings.size()];
 
+int idx = 0;
 for (ColumnIdentifier identifier : parameters.orderings.keySet())
 {
 CFDefinition.Name orderingColumn = cfDef.get(identifier);
+types.add(orderingColumn.type);
+positions[idx++] = getColumnPositionInSelect(orderingColumn);
+}
 
-if (startPosition == -1)
-startPosition = orderingColumn.position + 1;
+Collections.sort(cqlRows.rows, new CompositeComparator(types, 
positions));
+}
 
-types.add(orderingColumn.type);
+// determine position of column in the select clause
+private int getColumnPositionInSelect(CFDefinition.Name columnName)
+{
+for (int i = 0; i  selectedNames.size(); i++)
+{
+if (selectedNames.get(i).left.equals(columnName))
+return i;
 }
 
-Collections.sort(cqlRows.rows, new CompositeComparator(startPosition, 
types));
+throw new IllegalArgumentException(String.format(Column %s wasn't 
found in select clause., columnName));
+}
+
+/**
+ * For sparse composite, returns wheter two columns belong to the same
+ * cqlRow base on the full list of component in the name.
+ * Two columns do belong together if they differ only by the last
+ * component.
+ */
+private static boolean isSameRow(ByteBuffer[] c1, ByteBuffer[] c2)
+{
+// Cql don't allow to insert columns who doesn't have all component of
+// the composite set for sparse composite. Someone coming from thrift
+// could hit that though. But since we have no way to handle this
+// correctly, better fail here and tell whomever 

[1/8] git commit: changes related to CASSANDRA-4490 merge

2012-09-10 Thread xedin
Updated Branches:
  refs/heads/trunk b2dcd9406 - 804dd0991


changes related to CASSANDRA-4490 merge


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

Branch: refs/heads/trunk
Commit: 804dd099121f4b1b16344526e25c45c913bd5082
Parents: bcec7a5
Author: Pavel Yaskevich xe...@apache.org
Authored: Tue Sep 11 00:43:58 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Tue Sep 11 00:43:58 2012 +0300

--
 .../org/apache/cassandra/cql/QueryProcessor.java   |6 --
 .../statements/CreateColumnFamilyStatement.java|3 ++-
 .../cql3/statements/CreateKeyspaceStatement.java   |3 ++-
 .../cql3/statements/DropKeyspaceStatement.java |3 ++-
 4 files changed, 10 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/804dd099/src/java/org/apache/cassandra/cql/QueryProcessor.java
--
diff --git a/src/java/org/apache/cassandra/cql/QueryProcessor.java 
b/src/java/org/apache/cassandra/cql/QueryProcessor.java
index 955d07b..074c50a 100644
--- a/src/java/org/apache/cassandra/cql/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql/QueryProcessor.java
@@ -724,11 +724,13 @@ public class QueryProcessor
 
 case DROP_INDEX:
 DropIndexStatement dropIdx = 
(DropIndexStatement)statement.statement;
-clientState.hasColumnFamilySchemaAccess(Permission.WRITE);
 
 try
 {
-
MigrationManager.announceColumnFamilyUpdate(dropIdx.generateCFMetadataUpdate(clientState.getKeyspace()));
+CFMetaData updatedCF = 
dropIdx.generateCFMetadataUpdate(clientState.getKeyspace());
+clientState.hasColumnFamilyAccess(updatedCF.ksName, 
updatedCF.cfName, Permission.USE);
+
+MigrationManager.announceColumnFamilyUpdate(updatedCF);
 }
 catch (ConfigurationException e)
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/804dd099/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
--
diff --git 
a/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
 
b/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
index e815c40..ac7d02c 100644
--- 
a/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
+++ 
b/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
@@ -24,6 +24,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.cassandra.auth.Permission;
+import org.apache.cassandra.exceptions.UnauthorizedException;
 import org.apache.commons.lang.StringUtils;
 import com.google.common.collect.HashMultiset;
 import com.google.common.collect.Multiset;
@@ -67,7 +68,7 @@ public class CreateColumnFamilyStatement extends 
SchemaAlteringStatement
 this.properties = properties;
 }
 
-public void checkAccess(ClientState state) throws InvalidRequestException
+public void checkAccess(ClientState state) throws UnauthorizedException, 
InvalidRequestException
 {
 state.hasColumnFamilyAccess(keyspace(), columnFamily(), 
Permission.CREATE);
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/804dd099/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java
--
diff --git 
a/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java
index 1d60240..4252dfc 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java
@@ -27,6 +27,7 @@ import org.apache.cassandra.config.KSMetaData;
 import org.apache.cassandra.config.Schema;
 import org.apache.cassandra.exceptions.InvalidRequestException;
 import org.apache.cassandra.exceptions.RequestValidationException;
+import org.apache.cassandra.exceptions.UnauthorizedException;
 import org.apache.cassandra.locator.AbstractReplicationStrategy;
 import org.apache.cassandra.service.ClientState;
 import org.apache.cassandra.service.MigrationManager;
@@ -58,7 +59,7 @@ public class CreateKeyspaceStatement extends 
SchemaAlteringStatement
 this.attrs = attrs;
 }
 
-public void checkAccess(ClientState state) throws InvalidRequestException
+public void checkAccess(ClientState state) throws 

[4/8] git commit: Multiple values for CurrentLocal Node ID

2012-09-10 Thread xedin
Multiple values for CurrentLocal Node ID

patch by slebresne; reviewed by jbellis for CASSANDRA-4626


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

Branch: refs/heads/trunk
Commit: 9b08a7f187e14e93ed06e7a07b34a0ce64c1aa46
Parents: dcf27a5
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Fri Sep 7 16:14:58 2012 +0200
Committer: Pavel Yaskevich xe...@apache.org
Committed: Tue Sep 11 00:12:09 2012 +0300

--
 CHANGES.txt   |3 +
 src/java/org/apache/cassandra/db/SystemTable.java |   50 ++--
 2 files changed, 21 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9b08a7f1/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9ae8999..a6141f9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -97,6 +97,9 @@ Merged from 1.0:
(CASSANDRA-4494)
 Merged from 1.0:
  * (Hadoop) fix setting key length for old-style mapred api (CASSANDRA-4534)
+ * (Hadoop) fix iterating through a resultset consisting entirely
+   of tombstoned rows (CASSANDRA-4466)
+ * Fix multiple values for CurrentLocal NodeID (CASSANDRA-4626)
 
 
  * munmap commitlog segments before rename (CASSANDRA-4337)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9b08a7f1/src/java/org/apache/cassandra/db/SystemTable.java
--
diff --git a/src/java/org/apache/cassandra/db/SystemTable.java 
b/src/java/org/apache/cassandra/db/SystemTable.java
index 1cbab1a..8ff2b8d 100644
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@ -450,25 +450,19 @@ public class SystemTable
 {
 ByteBuffer id = null;
 Table table = Table.open(Table.SYSTEM_KS);
-QueryFilter filter = 
QueryFilter.getIdentityFilter(decorate(CURRENT_LOCAL_NODE_ID_KEY),
-   new 
QueryPath(NODE_ID_CF));
+
+// Get the last NodeId (since NodeId are timeuuid is thus ordered from 
the older to the newer one)
+QueryFilter filter = 
QueryFilter.getSliceFilter(decorate(ALL_LOCAL_NODE_ID_KEY),
+new 
QueryPath(NODE_ID_CF),
+
ByteBufferUtil.EMPTY_BYTE_BUFFER,
+
ByteBufferUtil.EMPTY_BYTE_BUFFER,
+true,
+1);
 ColumnFamily cf = 
table.getColumnFamilyStore(NODE_ID_CF).getColumnFamily(filter);
-// Even though gc_grace==0 on System table, we can have a race where 
we get back tombstones (see CASSANDRA-2824)
-cf = ColumnFamilyStore.removeDeleted(cf, 0);
-if (cf != null)
-{
-assert cf.getColumnCount() = 1;
-if (cf.getColumnCount()  0)
-id = cf.iterator().next().name();
-}
-if (id != null)
-{
-return NodeId.wrap(id);
-}
+if (cf != null  cf.getColumnCount() != 0)
+return NodeId.wrap(cf.iterator().next().name());
 else
-{
 return null;
-}
 }
 
 /**
@@ -482,21 +476,14 @@ public class SystemTable
  */
 public static void writeCurrentLocalNodeId(NodeId oldNodeId, NodeId 
newNodeId, long now)
 {
+ByteBuffer ip = 
ByteBuffer.wrap(FBUtilities.getBroadcastAddress().getAddress());
+
 ColumnFamily cf = ColumnFamily.create(Table.SYSTEM_KS, NODE_ID_CF);
-cf.addColumn(new Column(newNodeId.bytes(), 
ByteBufferUtil.EMPTY_BYTE_BUFFER, now));
-ColumnFamily cf2 = cf.cloneMe();
-if (oldNodeId != null)
-{
-// previously used (int)(now /1000) for the localDeletionTime
-// tests use single digit long values for now, so use actual time.
-cf2.addColumn(new DeletedColumn(oldNodeId.bytes(), 
(int)(System.currentTimeMillis() / 1000), now));
-}
-RowMutation rmCurrent = new RowMutation(Table.SYSTEM_KS, 
CURRENT_LOCAL_NODE_ID_KEY);
-RowMutation rmAll = new RowMutation(Table.SYSTEM_KS, 
ALL_LOCAL_NODE_ID_KEY);
-rmCurrent.add(cf2);
-rmAll.add(cf);
-rmCurrent.apply();
-rmAll.apply();
+cf.addColumn(new Column(newNodeId.bytes(), ip, now));
+RowMutation rm = new RowMutation(Table.SYSTEM_KS, 
ALL_LOCAL_NODE_ID_KEY);
+rm.add(cf);
+rm.apply();
+

git commit: small fix in permission checking in ClientState, related to CASSANDRA-4490

2012-09-10 Thread xedin
Updated Branches:
  refs/heads/cassandra-1.1 7cbc0be23 - e172a9b73


small fix in permission checking in ClientState, related to CASSANDRA-4490


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

Branch: refs/heads/cassandra-1.1
Commit: e172a9b735ef8f99cf45ba86c9850943829d14fb
Parents: 7cbc0be
Author: Pavel Yaskevich xe...@apache.org
Authored: Tue Sep 11 00:48:40 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Tue Sep 11 00:48:40 2012 +0300

--
 .../org/apache/cassandra/service/ClientState.java  |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e172a9b7/src/java/org/apache/cassandra/service/ClientState.java
--
diff --git a/src/java/org/apache/cassandra/service/ClientState.java 
b/src/java/org/apache/cassandra/service/ClientState.java
index 499486b..b7bf7d7 100644
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@ -189,9 +189,9 @@ public class ClientState
 resourceClear();
 resource.add(keyspace);
 
-// check if keyspace access is set to Permission.ALL
+// check if keyspace access is set to Permission.FULL_ACCESS
 // (which means that user has all access on keyspace and it's 
underlying elements)
-if (DatabaseDescriptor.getAuthority().authorize(user, 
resource).contains(Permission.ALL))
+if (DatabaseDescriptor.getAuthority().authorize(user, 
resource).contains(Permission.FULL_ACCESS))
 return;
 
 resource.add(columnFamily);



[2/13] git commit: small fix in permission checking in ClientState, related to CASSANDRA-4490

2012-09-10 Thread xedin
small fix in permission checking in ClientState, related to CASSANDRA-4490


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

Branch: refs/heads/trunk
Commit: e172a9b735ef8f99cf45ba86c9850943829d14fb
Parents: 7cbc0be
Author: Pavel Yaskevich xe...@apache.org
Authored: Tue Sep 11 00:48:40 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Tue Sep 11 00:48:40 2012 +0300

--
 .../org/apache/cassandra/service/ClientState.java  |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e172a9b7/src/java/org/apache/cassandra/service/ClientState.java
--
diff --git a/src/java/org/apache/cassandra/service/ClientState.java 
b/src/java/org/apache/cassandra/service/ClientState.java
index 499486b..b7bf7d7 100644
--- a/src/java/org/apache/cassandra/service/ClientState.java
+++ b/src/java/org/apache/cassandra/service/ClientState.java
@@ -189,9 +189,9 @@ public class ClientState
 resourceClear();
 resource.add(keyspace);
 
-// check if keyspace access is set to Permission.ALL
+// check if keyspace access is set to Permission.FULL_ACCESS
 // (which means that user has all access on keyspace and it's 
underlying elements)
-if (DatabaseDescriptor.getAuthority().authorize(user, 
resource).contains(Permission.ALL))
+if (DatabaseDescriptor.getAuthority().authorize(user, 
resource).contains(Permission.FULL_ACCESS))
 return;
 
 resource.add(columnFamily);



[1/13] git commit: merge from 1.1

2012-09-10 Thread xedin
Updated Branches:
  refs/heads/trunk 804dd0991 - c4692a171


merge from 1.1


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

Branch: refs/heads/trunk
Commit: c4692a1713e5abe1446954c9202aebe0f2d3ec81
Parents: 804dd09 e172a9b
Author: Pavel Yaskevich xe...@apache.org
Authored: Tue Sep 11 01:13:05 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Tue Sep 11 01:13:05 2012 +0300

--
 CHANGES.txt|4 +++
 bin/cqlsh  |   18 ++-
 .../cassandra/config/DatabaseDescriptor.java   |3 ++
 .../cql3/statements/AlterTableStatement.java   |   17 +++--
 .../statements/CreateColumnFamilyStatement.java|3 +-
 .../org/apache/cassandra/service/ClientState.java  |3 +-
 6 files changed, 32 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4692a17/CHANGES.txt
--
diff --cc CHANGES.txt
index 26c361a,246bc49..f5ae4e3
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -101,9 -37,9 +102,12 @@@ Merged from 1.0
   * (Hadoop) fix setting key length for old-style mapred api (CASSANDRA-4534)
   * (Hadoop) fix iterating through a resultset consisting entirely
 of tombstoned rows (CASSANDRA-4466)
++ HEAD
 + * Fix multiple values for CurrentLocal NodeID (CASSANDRA-4626)
++===
++ cassandra-1.1
  
  
 -1.1.3
   * munmap commitlog segments before rename (CASSANDRA-4337)
   * (JMX) rename getRangeKeySample to sampleKeyRange to avoid returning
 multi-MB results as an attribute (CASSANDRA-4452)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4692a17/bin/cqlsh
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4692a17/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--
diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 97106f1,20fa981..d479acb
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@@ -461,15 -438,21 +461,18 @@@ public class DatabaseDescripto
  rowCacheProvider = 
FBUtilities.newCacheProvider(conf.row_cache_provider);
  
  // Hardcoded system tables
 -KSMetaData systemMeta = KSMetaData.systemKeyspace();
 -Schema.instance.load(CFMetaData.StatusCf);
 -Schema.instance.load(CFMetaData.HintsCf);
 -Schema.instance.load(CFMetaData.MigrationsCf);
 -Schema.instance.load(CFMetaData.SchemaCf);
 -Schema.instance.load(CFMetaData.IndexCf);
 -Schema.instance.load(CFMetaData.NodeIdCf);
 -Schema.instance.load(CFMetaData.VersionCf);
 -Schema.instance.load(CFMetaData.SchemaKeyspacesCf);
 -Schema.instance.load(CFMetaData.SchemaColumnFamiliesCf);
 -Schema.instance.load(CFMetaData.SchemaColumnsCf);
 -
 -Schema.instance.addSystemTable(systemMeta);
 +ListKSMetaData systemKeyspaces = 
Arrays.asList(KSMetaData.systemKeyspace(), KSMetaData.traceKeyspace());
 +for (KSMetaData ksmd : systemKeyspaces)
 +{
 +for (CFMetaData cfm : ksmd.cfMetaData().values())
 +Schema.instance.load(cfm);
 +Schema.instance.setTableDefinition(ksmd);
 +}
 +
 +// setup schema required for authorization
++authorityContainer.setup();
+ 
+ // setup schema required for authorization
  authorityContainer.setup();
  
  /* Load the seeds for node contact points */

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4692a17/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
--
diff --cc src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
index 360d188,7867019..fe89f32
--- a/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
@@@ -17,21 -18,17 +17,22 @@@
   */
  package org.apache.cassandra.cql3.statements;
  
 -import java.util.*;
 +import java.nio.ByteBuffer;
- import java.util.*;
++import java.util.ArrayList;
++import java.util.HashMap;
++import java.util.List;
++import java.util.Map;
  
  import org.apache.cassandra.auth.Permission;
++import org.apache.cassandra.config.CFMetaData;
++import 

[5/13] git commit: explain how to work around exec problems in error message patch by jbellis for CASSANDRA-4590

2012-09-10 Thread xedin
explain how to work around exec problems in error message
patch by jbellis for CASSANDRA-4590


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

Branch: refs/heads/trunk
Commit: e395307893d93a01e976656f6e0f5cee1acf3c3b
Parents: dafa548
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Sep 7 11:57:19 2012 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri Sep 7 11:58:03 2012 -0500

--
 src/java/org/apache/cassandra/utils/CLibrary.java |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e3953078/src/java/org/apache/cassandra/utils/CLibrary.java
--
diff --git a/src/java/org/apache/cassandra/utils/CLibrary.java 
b/src/java/org/apache/cassandra/utils/CLibrary.java
index bcb5bfa..97015a7 100644
--- a/src/java/org/apache/cassandra/utils/CLibrary.java
+++ b/src/java/org/apache/cassandra/utils/CLibrary.java
@@ -189,7 +189,10 @@ public final class CLibrary
 }
 catch (IOException ex)
 {
-logger.error(Unable to create hard link, ex);
+String st = osname.startsWith(Windows)
+  ? Unable to create hard link.  This probably means your 
data directory path is too long.  Exception follows:
+  : Unable to create hard link with exec.  Suggest 
installing JNA to avoid the need to exec entirely.  Exception follows: ;
+logger.error(st, ex);
 throw ex;
 }
 }



[3/13] git commit: cqlsh: allow disabling colors. Patch by Tyler Hobbs, reviewed by brandonwilliams for CASSANDRA-4634

2012-09-10 Thread xedin
cqlsh: allow disabling colors.
Patch by Tyler Hobbs, reviewed by brandonwilliams for CASSANDRA-4634


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

Branch: refs/heads/trunk
Commit: 7cbc0be23d258559aa823cd9fa8586ff81f71c91
Parents: aba5a37
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Sep 10 14:40:45 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Sep 10 14:41:43 2012 -0500

--
 bin/cqlsh |   18 --
 1 files changed, 12 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7cbc0be2/bin/cqlsh
--
diff --git a/bin/cqlsh b/bin/cqlsh
index 6b61364..8d98c28 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -121,8 +121,10 @@ precedence over any defaults. % globals()
 parser = optparse.OptionParser(description=description, epilog=epilog,
usage=Usage: %prog [options] [host [port]],
version='cqlsh ' + version)
-parser.add_option(-C, --color, action=store_true,
-  help=Enable color output.)
+parser.add_option(-C, --color, action='store_true', dest='color',
+  help='Always use color output')
+parser.add_option(--no-color, action='store_false', dest='color',
+  help='Never use color output')
 parser.add_option(-u, --username, help=Authenticate as user.)
 parser.add_option(-p, --password, help=Authenticate using password.)
 parser.add_option('-k', '--keyspace', help='Authenticate to the given 
keyspace.')
@@ -2598,9 +2600,6 @@ def read_options(cmdlineargs, environment):
 optvalues.keyspace = option_with_default(configs.get, 'authentication', 
'keyspace')
 optvalues.completekey = option_with_default(configs.get, 'ui', 
'completekey', 'tab')
 optvalues.color = option_with_default(configs.getboolean, 'ui', 'color')
-if optvalues.color is None:
-# default yes if tty
-optvalues.color = should_use_color()
 optvalues.debug = False
 optvalues.file = None
 optvalues.tty = sys.stdin.isatty()
@@ -2620,9 +2619,16 @@ def read_options(cmdlineargs, environment):
 port = arguments[1]
 
 if options.file is not None:
-options.color = False
 options.tty = False
 
+if optvalues.color in (True, False):
+options.color = optvalues.color
+else:
+if options.file is not None:
+options.color = False
+else:
+options.color = should_use_color()
+
 options.cqlversion, cqlvertup = full_cql_version(options.cqlversion)
 if cqlvertup[0]  3:
 options.cqlmodule = cqlhandling



[7/13] git commit: Multiple values for CurrentLocal Node ID

2012-09-10 Thread xedin
Multiple values for CurrentLocal Node ID

patch by slebresne; reviewed by jbellis for CASSANDRA-4626


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

Branch: refs/heads/trunk
Commit: 19800189d76453cf08af60e21a544729565714ba
Parents: d391726
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Fri Sep 7 16:14:58 2012 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Fri Sep 7 18:32:31 2012 +0200

--
 CHANGES.txt   |1 +
 src/java/org/apache/cassandra/db/SystemTable.java |   44 +--
 2 files changed, 16 insertions(+), 29 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/19800189/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 8a0ce59..6157022 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -4,6 +4,7 @@
  * (Hadoop) fix setting key length for old-style mapred api (CASSANDRA-4534)
  * (Hadoop) fix iterating through a resultset consisting entirely
of tombstoned rows (CASSANDRA-4466)
+ * Fix multiple values for CurrentLocal NodeID (CASSANDRA-4626)
 
 
 1.0.11

http://git-wip-us.apache.org/repos/asf/cassandra/blob/19800189/src/java/org/apache/cassandra/db/SystemTable.java
--
diff --git a/src/java/org/apache/cassandra/db/SystemTable.java 
b/src/java/org/apache/cassandra/db/SystemTable.java
index 628719b..7b96c6f 100644
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@ -430,25 +430,19 @@ public class SystemTable
 {
 ByteBuffer id = null;
 Table table = Table.open(Table.SYSTEM_TABLE);
-QueryFilter filter = 
QueryFilter.getIdentityFilter(decorate(CURRENT_LOCAL_NODE_ID_KEY),
-new QueryPath(NODE_ID_CF));
+
+// Get the last NodeId (since NodeId are timeuuid is thus ordered from 
the older to the newer one)
+QueryFilter filter = 
QueryFilter.getSliceFilter(decorate(ALL_LOCAL_NODE_ID_KEY),
+new 
QueryPath(NODE_ID_CF),
+
ByteBufferUtil.EMPTY_BYTE_BUFFER,
+
ByteBufferUtil.EMPTY_BYTE_BUFFER,
+true,
+1);
 ColumnFamily cf = 
table.getColumnFamilyStore(NODE_ID_CF).getColumnFamily(filter);
-if (cf != null)
-{
-// Even though gc_grace==0 on System table, we can have a race 
where we get back tombstones (see CASSANDRA-2824)
-cf = ColumnFamilyStore.removeDeleted(cf, 0);
-assert cf.getColumnCount() = 1;
-if (cf.getColumnCount()  0)
-id = cf.iterator().next().name();
-}
-if (id != null)
-{
-return NodeId.wrap(id);
-}
+if (cf != null  cf.getColumnCount() != 0)
+return NodeId.wrap(cf.iterator().next().name());
 else
-{
 return null;
-}
 }
 
 /**
@@ -465,24 +459,17 @@ public class SystemTable
 
 ColumnFamily cf = ColumnFamily.create(Table.SYSTEM_TABLE, NODE_ID_CF);
 cf.addColumn(new Column(newNodeId.bytes(), ip, now));
-ColumnFamily cf2 = cf.cloneMe();
-if (oldNodeId != null)
-{
-cf2.addColumn(new DeletedColumn(oldNodeId.bytes(), (int) (now / 
1000), now));
-}
-RowMutation rmCurrent = new RowMutation(Table.SYSTEM_TABLE, 
CURRENT_LOCAL_NODE_ID_KEY);
-RowMutation rmAll = new RowMutation(Table.SYSTEM_TABLE, 
ALL_LOCAL_NODE_ID_KEY);
-rmCurrent.add(cf2);
-rmAll.add(cf);
+RowMutation rm = new RowMutation(Table.SYSTEM_TABLE, 
ALL_LOCAL_NODE_ID_KEY);
+rm.add(cf);
 try
 {
-rmCurrent.apply();
-rmAll.apply();
+rm.apply();
 }
 catch (IOException e)
 {
 throw new RuntimeException(e);
 }
+forceBlockingFlush(NODE_ID_CF);
 }
 
 public static ListNodeId.NodeIdRecord getOldLocalNodeIds()
@@ -490,8 +477,7 @@ public class SystemTable
 ListNodeId.NodeIdRecord l = new ArrayListNodeId.NodeIdRecord();
 
 Table table = Table.open(Table.SYSTEM_TABLE);
-QueryFilter filter = 
QueryFilter.getIdentityFilter(decorate(ALL_LOCAL_NODE_ID_KEY),
-new QueryPath(NODE_ID_CF));
+QueryFilter filter = 

[8/13] git commit: Fix changelog

2012-09-10 Thread xedin
Fix changelog


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

Branch: refs/heads/trunk
Commit: a1c8dad819ea4f17cf76106fa39dfb3ae60dd797
Parents: 2c69e2e
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Fri Sep 7 18:27:31 2012 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Fri Sep 7 18:27:31 2012 +0200

--
 CHANGES.txt |   11 ---
 1 files changed, 4 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1c8dad8/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index ed4f026..54a74d4 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,10 +1,3 @@
-1.1.6
-  * (cql3) fix potential NPE with both equal and unequal restriction 
(CASSANDRA-4532)
-  * (cql3) improves ORDER BY validation (CASSANDRA-4624)
-  * Fix potential deadlock during counter writes (CASSANDRA-4578)
-  * Fix cql error with ORDER BY when using IN (CASSANDRA-4612)
-
-
 1.1.5
  * add SecondaryIndex.reload API (CASSANDRA-4581)
  * use millis + atomicint for commitlog segment creation instead of
@@ -21,6 +14,10 @@
  * Respect five-minute flush moratorium after initial CL replay 
(CASSANDRA-4474)
  * Adds ntp as recommended in debian packaging (CASSANDRA-4606)
  * Configurable transport in CF Record{Reader|Writer} (CASSANDRA-4558)
+ * (cql3) fix potential NPE with both equal and unequal restriction 
(CASSANDRA-4532)
+ * (cql3) improves ORDER BY validation (CASSANDRA-4624)
+ * Fix potential deadlock during counter writes (CASSANDRA-4578)
+ * Fix cql error with ORDER BY when using IN (CASSANDRA-4612)
 Merged from 1.0:
  * increase Xss to 160k to accomodate latest 1.6 JVMs (CASSANDRA-4602)
  * fix toString of hint destination tokens (CASSANDRA-4568)



[12/13] git commit: Bump stack to 180k. Patch by brandonwilliams reviewed by jbellis for CASSANDRA-4631

2012-09-10 Thread xedin
Bump stack to 180k.
Patch by brandonwilliams reviewed by jbellis for CASSANDRA-4631


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

Branch: refs/heads/trunk
Commit: 567146e49201259f8c51dc7c84cbb8717e3c60c1
Parents: 76e092b
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Sep 7 10:59:56 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Sep 7 11:01:59 2012 -0500

--
 conf/cassandra-env.sh |8 ++--
 1 files changed, 2 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/567146e4/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index 6fa37ed..95760dd 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -184,12 +184,8 @@ if [ `uname` = Linux ] ; then
 # thread-per-client.  (Best practice is for client connections to
 # be pooled anyway.) Only do so on Linux where it is known to be
 # supported.
-if startswith $JVM_VERSION '1.7.'
-then
-JVM_OPTS=$JVM_OPTS -Xss180k
-else
-JVM_OPTS=$JVM_OPTS -Xss160k
-fi
+# u34 and greater need 180k
+JVM_OPTS=$JVM_OPTS -Xss180k
 fi
 echo xss = $JVM_OPTS
 



[6/13] git commit: Merge branch 'cassandra-1.0' into cassandra-1.1

2012-09-10 Thread xedin
Merge branch 'cassandra-1.0' into cassandra-1.1

Conflicts:
CHANGES.txt
src/java/org/apache/cassandra/db/SystemTable.java


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

Branch: refs/heads/trunk
Commit: dafa548fdb677edb0abd8533c686dd0001e0b35a
Parents: a1c8dad 1980018
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Fri Sep 7 18:37:30 2012 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Fri Sep 7 18:37:30 2012 +0200

--
 CHANGES.txt   |3 +
 src/java/org/apache/cassandra/db/SystemTable.java |   46 +---
 2 files changed, 18 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dafa548f/CHANGES.txt
--
diff --cc CHANGES.txt
index 54a74d4,6157022..61cede4
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,186 -1,15 +1,189 @@@
 -1.0.12
 +1.1.5
 + * add SecondaryIndex.reload API (CASSANDRA-4581)
 + * use millis + atomicint for commitlog segment creation instead of
 +   nanotime, which has issues under some hypervisors (CASSANDRA-4601)
 + * fix FD leak in slice queries (CASSANDRA-4571)
 + * avoid recursion in leveled compaction (CASSANDRA-4587)
 + * increase stack size under Java7 to 180K
 + * Log(info) schema changes (CASSANDRA-4547)
 + * Change nodetool setcachecapcity to manipulate global caches 
(CASSANDRA-4563)
 + * (cql3) fix setting compaction strategy (CASSANDRA-4597)
 + * fix broken system.schema_* timestamps on system startup (CASSANDRA-4561)
 + * fix wrong skip of cache saving (CASSANDRA-4533)
 + * Avoid NPE when lost+found is in data dir (CASSANDRA-4572)
 + * Respect five-minute flush moratorium after initial CL replay 
(CASSANDRA-4474)
 + * Adds ntp as recommended in debian packaging (CASSANDRA-4606)
 + * Configurable transport in CF Record{Reader|Writer} (CASSANDRA-4558)
 + * (cql3) fix potential NPE with both equal and unequal restriction 
(CASSANDRA-4532)
 + * (cql3) improves ORDER BY validation (CASSANDRA-4624)
 + * Fix potential deadlock during counter writes (CASSANDRA-4578)
 + * Fix cql error with ORDER BY when using IN (CASSANDRA-4612)
 +Merged from 1.0:
   * increase Xss to 160k to accomodate latest 1.6 JVMs (CASSANDRA-4602)
   * fix toString of hint destination tokens (CASSANDRA-4568)
++ * Fix multiple values for CurrentLocal NodeID (CASSANDRA-4626)
 +
 +
 +1.1.4
 + * fix offline scrub to catch = out of order rows (CASSANDRA-4411)
 + * fix cassandra-env.sh on RHEL and other non-dash-based systems 
 +   (CASSANDRA-4494)
 +Merged from 1.0:
   * (Hadoop) fix setting key length for old-style mapred api (CASSANDRA-4534)
+  * (Hadoop) fix iterating through a resultset consisting entirely
+of tombstoned rows (CASSANDRA-4466)
 - * Fix multiple values for CurrentLocal NodeID (CASSANDRA-4626)
  
  
 -1.0.11
 +1.1.3
 + * munmap commitlog segments before rename (CASSANDRA-4337)
 + * (JMX) rename getRangeKeySample to sampleKeyRange to avoid returning
 +   multi-MB results as an attribute (CASSANDRA-4452)
 + * flush based on data size, not throughput; overwritten columns no 
 +   longer artificially inflate liveRatio (CASSANDRA-4399)
 + * update default commitlog segment size to 32MB and total commitlog
 +   size to 32/1024 MB for 32/64 bit JVMs, respectively (CASSANDRA-4422)
 + * avoid using global partitioner to estimate ranges in index sstables
 +   (CASSANDRA-4403)
 + * restore pre-CASSANDRA-3862 approach to removing expired tombstones
 +   from row cache during compaction (CASSANDRA-4364)
 + * (stress) support for CQL prepared statements (CASSANDRA-3633)
 + * Correctly catch exception when Snappy cannot be loaded (CASSANDRA-4400)
 + * (cql3) Support ORDER BY when IN condition is given in WHERE clause 
(CASSANDRA-4327)
 + * (cql3) delete component_index column on DROP TABLE call (CASSANDRA-4420)
 + * change nanoTime() to currentTimeInMillis() in schema related code 
(CASSANDRA-4432)
 + * add a token generation tool (CASSANDRA-3709)
 + * Fix LCS bug with sstable containing only 1 row (CASSANDRA-4411)
 + * fix Can't Modify Index Name problem on CF update (CASSANDRA-4439)
 + * Fix assertion error in getOverlappingSSTables during repair 
(CASSANDRA-4456)
 + * fix nodetool's setcompactionthreshold command (CASSANDRA-4455)
 + * Ensure compacted files are never used, to avoid counter overcount 
(CASSANDRA-4436)
 +Merged from 1.0:
 + * Push the validation of secondary index values to the SecondaryIndexManager 
(CASSANDRA-4240)
 + * (Hadoop) fix iterating through a resultset consisting entirely
 +   of tombstoned rows (CASSANDRA-4466)
   * allow dropping columns 

[10/13] git commit: Merge branch 'cassandra-1.0' into cassandra-1.1

2012-09-10 Thread xedin
Merge branch 'cassandra-1.0' into cassandra-1.1


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

Branch: refs/heads/trunk
Commit: 06893e4ff4fe81161010e0e948af20b0bb587c4c
Parents: 567146e d391726
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Sep 7 11:05:35 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Sep 7 11:05:35 2012 -0500

--

--




[9/13] git commit: change ColumnSerializer.deserialize to be able fix timestamps from future, related to CASSANDRA-4561

2012-09-10 Thread xedin
change ColumnSerializer.deserialize to be able fix timestamps from future, 
related to CASSANDRA-4561


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

Branch: refs/heads/trunk
Commit: 2c69e2ea757be9492a095aa22b5d51234c4b4102
Parents: 06893e4
Author: Pavel Yaskevich xe...@apache.org
Authored: Fri Sep 7 14:43:51 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Fri Sep 7 19:07:31 2012 +0300

--
 .../org/apache/cassandra/db/ColumnSerializer.java  |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c69e2ea/src/java/org/apache/cassandra/db/ColumnSerializer.java
--
diff --git a/src/java/org/apache/cassandra/db/ColumnSerializer.java 
b/src/java/org/apache/cassandra/db/ColumnSerializer.java
index cd7ba33..d5011aa 100644
--- a/src/java/org/apache/cassandra/db/ColumnSerializer.java
+++ b/src/java/org/apache/cassandra/db/ColumnSerializer.java
@@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory;
 import org.apache.cassandra.io.IColumnSerializer;
 import org.apache.cassandra.io.util.FileDataInput;
 import org.apache.cassandra.utils.ByteBufferUtil;
+import org.apache.cassandra.utils.FBUtilities;
 
 public class ColumnSerializer implements IColumnSerializer
 {
@@ -116,6 +117,11 @@ public class ColumnSerializer implements IColumnSerializer
 else
 {
 long ts = dis.readLong();
+long now = FBUtilities.timestampMicros();
+
+if (ts  now) // fixing the timestamp from the future to be 'now' 
in micros
+ts = now; // helps with CASSANDRA-4561 as remote nodes can 
send schema with wrong nanoTime() timestamps
+
 ByteBuffer value = ByteBufferUtil.readWithLength(dis);
 return (b  COUNTER_UPDATE_MASK) != 0
? new CounterUpdateColumn(name, value, ts)



[13/13] git commit: Fix cql error with ORDER BY when using IN patch by Pavel Yaskevich; reviewed by Sylvain Lebresne for CASSANDRA-4612

2012-09-10 Thread xedin
Fix cql error with ORDER BY when using IN
patch by Pavel Yaskevich; reviewed by Sylvain Lebresne for CASSANDRA-4612


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

Branch: refs/heads/trunk
Commit: 76e092b2d3785ac1549f1af16702839bee570c69
Parents: 7371e10
Author: Pavel Yaskevich xe...@apache.org
Authored: Thu Sep 6 18:11:05 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Fri Sep 7 18:59:46 2012 +0300

--
 CHANGES.txt|1 +
 .../cassandra/cql3/statements/SelectStatement.java |   75 ++-
 2 files changed, 53 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/76e092b2/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index f192be2..ed4f026 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
   * (cql3) fix potential NPE with both equal and unequal restriction 
(CASSANDRA-4532)
   * (cql3) improves ORDER BY validation (CASSANDRA-4624)
   * Fix potential deadlock during counter writes (CASSANDRA-4578)
+  * Fix cql error with ORDER BY when using IN (CASSANDRA-4612)
 
 
 1.1.5

http://git-wip-us.apache.org/repos/asf/cassandra/blob/76e092b2/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 1d0918e..2f47f86 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -833,30 +833,38 @@ public class SelectStatement implements CQLStatement
 if (parameters.orderings.size() == 1)
 {
 CFDefinition.Name ordering = 
cfDef.get(parameters.orderings.keySet().iterator().next());
-Collections.sort(cqlRows, new 
SingleColumnComparator(ordering.position + 1, ordering.type));
+Collections.sort(cqlRows, new 
SingleColumnComparator(getColumnPositionInSelect(ordering), ordering.type));
 return;
 }
 
-// figures out where ordering would start in results (startPosition),
-// builds a composite type for multi-column comparison from the 
comparators of the ordering components
+// builds a 'composite' type for multi-column comparison from the 
comparators of the ordering components
 // and passes collected position information and built composite 
comparator to CompositeComparator to do
 // an actual comparison of the CQL rows.
-int startPosition = -1;
-ListAbstractType? types = new ArrayListAbstractType?();
+ListAbstractType? types = new 
ArrayListAbstractType?(parameters.orderings.size());
+int[] positions = new int[parameters.orderings.size()];
 
+int idx = 0;
 for (ColumnIdentifier identifier : parameters.orderings.keySet())
 {
 CFDefinition.Name orderingColumn = cfDef.get(identifier);
-
-if (startPosition == -1)
-startPosition = orderingColumn.position + 1;
-
 types.add(orderingColumn.type);
+positions[idx++] = getColumnPositionInSelect(orderingColumn);
 }
 
-Collections.sort(cqlRows, new CompositeComparator(startPosition, 
types));
+Collections.sort(cqlRows, new CompositeComparator(types, positions));
 }
 
+// determine position of column in the select clause
+private int getColumnPositionInSelect(CFDefinition.Name columnName)
+{
+for (int i = 0; i  selectedNames.size(); i++)
+{
+if (selectedNames.get(i).left.equals(columnName))
+return i;
+}
+
+throw new IllegalArgumentException(String.format(Column %s wasn't 
found in select clause., columnName));
+}
 
 /**
  * For sparse composite, returns wheter two columns belong to the same
@@ -1073,6 +1081,28 @@ public class SelectStatement implements CQLStatement
 if (stmt.isKeyRange())
 throw new InvalidRequestException(ORDER BY is only 
supported when the partition key is restricted by an EQ or an IN.);
 
+// check if we are trying to order by column that wouldn't be 
included in the results
+if (!stmt.selectedNames.isEmpty()) // empty means wildcard was 
used
+{
+for (ColumnIdentifier column : 
stmt.parameters.orderings.keySet())
+{
+

[11/13] git commit: Bump stack to 180k. Patch by brandonwilliams reviewed by jbellis for CASSANDRA-4631

2012-09-10 Thread xedin
Bump stack to 180k.
Patch by brandonwilliams reviewed by jbellis for CASSANDRA-4631


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

Branch: refs/heads/trunk
Commit: d3917260b97b5a76574823e9873a922e9333c5c8
Parents: 08c6546
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Sep 7 10:59:56 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Sep 7 11:05:08 2012 -0500

--
 conf/cassandra-env.sh |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d3917260/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index 5400fd9..7056668 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -150,7 +150,8 @@ if [ `uname` = Linux ] ; then
 # thread-per-client.  (Best practice is for client connections to
 # be pooled anyway.) Only do so on Linux where it is known to be
 # supported.
-JVM_OPTS=$JVM_OPTS -Xss160k
+# u34 and greater need 180k
+JVM_OPTS=$JVM_OPTS -Xss180k
 fi
 
 # GC tuning options



[jira] [Commented] (CASSANDRA-4561) update column family fails

2012-09-10 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-4561:
---

Integrated in Cassandra #2084 (See 
[https://builds.apache.org/job/Cassandra/2084/])
change ColumnSerializer.deserialize to be able fix timestamps from future, 
related to CASSANDRA-4561 (Revision 2c69e2ea757be9492a095aa22b5d51234c4b4102)
change ColumnSerializer.deserialize to be able fix timestamps from future, 
related to CASSANDRA-4561 (Revision 429fa7a80e22757a55c03e99c27c157824a666af)

 Result = ABORTED
xedin : 
Files : 
* src/java/org/apache/cassandra/db/ColumnSerializer.java

xedin : 
Files : 
* src/java/org/apache/cassandra/db/ColumnSerializer.java


 update column family fails
 --

 Key: CASSANDRA-4561
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4561
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4
Reporter: Zenek Kraweznik
Assignee: Pavel Yaskevich
 Fix For: 1.1.5

 Attachments: CASSANDRA-4561-CS.patch, CASSANDRA-4561.patch


 [default@test] show schema;
 create column family Messages
   with column_type = 'Standard'
   and comparator = 'AsciiType'
   and default_validation_class = 'BytesType'
   and key_validation_class = 'AsciiType'
   and read_repair_chance = 0.1
   and dclocal_read_repair_chance = 0.0
   and gc_grace = 864000
   and min_compaction_threshold = 2
   and max_compaction_threshold = 4
   and replicate_on_write = true
   and compaction_strategy = 
 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
   and caching = 'KEYS_ONLY'
   and compaction_strategy_options = {'sstable_size_in_mb' : '1024'}
   and compression_options = {'chunk_length_kb' : '64', 'sstable_compression' 
 : 'org.apache.cassandra.io.compress.DeflateCompressor'};
 [default@test] update column family Messages with min_compaction_threshold = 
 4 and  max_compaction_threshold = 32;
 a5b7544e-1ef5-3bfd-8770-c09594e37ec2
 Waiting for schema agreement...
 ... schemas agree across the cluster
 [default@test] show schema;
 create column family Messages
   with column_type = 'Standard'
   and comparator = 'AsciiType'
   and default_validation_class = 'BytesType'
   and key_validation_class = 'AsciiType'
   and read_repair_chance = 0.1
   and dclocal_read_repair_chance = 0.0
   and gc_grace = 864000
   and min_compaction_threshold = 2
   and max_compaction_threshold = 4
   and replicate_on_write = true
   and compaction_strategy = 
 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
   and caching = 'KEYS_ONLY'
   and compaction_strategy_options = {'sstable_size_in_mb' : '1024'}
   and compression_options = {'chunk_length_kb' : '64', 'sstable_compression' 
 : 'org.apache.cassandra.io.compress.DeflateCompressor'};

--
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-4490) Improve IAuthority interface by introducing fine-grained access permissions and grant/revoke commands.

2012-09-10 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-4490:
---

Integrated in Cassandra #2084 (See 
[https://builds.apache.org/job/Cassandra/2084/])
changes related to CASSANDRA-4490 merge (Revision 
804dd099121f4b1b16344526e25c45c913bd5082)
small fix in permission checking in ClientState, related to CASSANDRA-4490 
(Revision e172a9b735ef8f99cf45ba86c9850943829d14fb)

 Result = ABORTED
xedin : 
Files : 
* src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java
* src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
* src/java/org/apache/cassandra/cql/QueryProcessor.java
* src/java/org/apache/cassandra/cql3/statements/DropKeyspaceStatement.java

xedin : 
Files : 
* src/java/org/apache/cassandra/service/ClientState.java


 Improve IAuthority interface by introducing fine-grained access permissions 
 and grant/revoke commands.
 --

 Key: CASSANDRA-4490
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4490
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Pavel Yaskevich
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 1.1.6

 Attachments: 4490-v3.txt, CASSANDRA-4490.patch, 
 CASSANDRA-4490-v2.patch


 In order to improve IAuthority interface I propose to add the following new 
 permissions: USE, SELECT, CREATE, ALTER, DROP, UPDATE, DELETE, ALL, NONE. And 
 the following new commands to the CQL 3.0 which would give users possibility 
 (with appropriate implementation) to dynamically change user's rights to 
 access system objects:
 GRANT  permission ON resource TO user [WITH GRANT OPTION];
 REVOKE permission ON resource FROM user_name;
 LIST GRANTS FOR user; // Not 'SHOW' because it's reserved for cqlsh for 
 commands like 'show cluster'
 where resource is Keyspace or ColumnFamily (initially, but extendable to 
 indexes or configration options in the future), and permission is listed 
 above.
 To keep the system backward compatible with old authorization interface 
 implementations Permission class would include the mappings of the new to old 
 permissions:
 READ  - USE, SELECT
 WRITE - USE, CREATE, ALTER, DROP, UPDATE, DELETE

--
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-4541) Replace Throttle with Guava's RateLimiter

2012-09-10 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-4541:
-

Attachment: CASSANDRA-4541.patch

 Replace Throttle with Guava's RateLimiter
 -

 Key: CASSANDRA-4541
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4541
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Michaël Figuière
Assignee: Aleksey Yeschenko
Priority: Minor
 Attachments: CASSANDRA-4541.patch


 Guava 13 introduced {{RateLimiter}} [1] which should be a good replacement 
 for {{o.a.c.utils.Throttle}} that is used in Compaction and Streaming as a 
 throughput limiter.
 [1] 
 [http://code.google.com/p/guava-libraries/source/browse/guava/src/com/google/common/util/concurrent/RateLimiter.java]

--
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-4377) CQL3 column value validation bug

2012-09-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4377:
---

So, this is good to commit?

 CQL3 column value validation bug
 

 Key: CASSANDRA-4377
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4377
 Project: Cassandra
  Issue Type: Bug
  Components: API
Affects Versions: 1.1.1
Reporter: Nick Bailey
Assignee: Pavel Yaskevich
  Labels: cql3
 Fix For: 1.2.0

 Attachments: 4377-2.txt, 4377.txt, CASSANDRA-4377.patch


 {noformat}
 cqlsh create keyspace test with strategy_class = 'SimpleStrategy' and 
 strategy_options:replication_factor = 1;
 cqlsh use test;
 cqlsh:test CREATE TABLE stats (
 ...   gid  blob,
 ...   period int,
 ...   tid  blob, 
 ...   sumint,
 ...   uniques   blob,
 ...   PRIMARY KEY(gid, period, tid)
 ... );
 cqlsh:test describe columnfamily stats;
 CREATE TABLE stats (
   gid blob PRIMARY KEY
 ) WITH
   comment='' AND
   
 comparator='CompositeType(org.apache.cassandra.db.marshal.Int32Type,org.apache.cassandra.db.marshal.BytesType,org.apache.cassandra.db.marshal.UTF8Type)'
  AND
   read_repair_chance=0.10 AND
   gc_grace_seconds=864000 AND
   default_validation=text AND
   min_compaction_threshold=4 AND
   max_compaction_threshold=32 AND
   replicate_on_write='true' AND
   compaction_strategy_class='SizeTieredCompactionStrategy' AND
   compression_parameters:sstable_compression='SnappyCompressor';
 {noformat}
 You can see in the above output that the stats cf is created with the column 
 validator set to text, but neither of the non primary key columns defined are 
 text. It should either be setting metadata for those columns or not setting a 
 default validator or some combination of the two.

--
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-4322) Error in CLI when updating keyspace

2012-09-10 Thread Dave Brosius (JIRA)

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

Dave Brosius commented on CASSANDRA-4322:
-

+1 patch LGTM

 Error in CLI when updating keyspace
 ---

 Key: CASSANDRA-4322
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4322
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.1
Reporter: Richard Low
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 1.1.6

 Attachments: auth_for_mod_ks.txt, CASSANDRA-4322.patch


 To repro:
 1. Open the cli
 2. Create a keyspace:
   create keyspace ks1 with placement_strategy = SimpleStrategy and 
 strategy_options = {replication_factor:1};
 3. Update the keyspace:
   update keyspace ks1 with strategy_options = {replication_factor:3};
 The output is:
 [default@unknown] create keyspace ks1 with placement_strategy = 
 SimpleStrategy and strategy_options = {replication_factor:1}; 
   
 8ecd5e16-e0f7-37e7-850e-38ee1a3a510e
 Waiting for schema agreement...
 ... schemas agree across the cluster
 [default@unknown] update keyspace ks1 with strategy_options = 
 {replication_factor:3};
 857af387-6677-3e39-bdf6-e1132673c25b
 Waiting for schema agreement...
 ... schemas agree across the cluster
 org.apache.thrift.protocol.TProtocolException: Required field 'keyspace' was 
 not present! Struct: describe_keyspace_args(keyspace:null)
 [default@unknown]
 The problem is that the patch in CASSANDRA-4052 assumes the CLI is 
 authenticated to a working keyspace.  getKSMetaData in executeUpdateKeySpace 
 is called with keySpace, which is null.
 Changing this to keyspaceName partially solves it, we now get:
 [default@unknown] update keyspace ks1 with strategy_options = 
 {replication_factor:3};
 Not authenticated to a working keyspace.
 18d750fc-19d9-30f0-b8b9-18b2e4a0a0d4
 Waiting for schema agreement...
 ... schemas agree across the cluster
 Not authenticated to a working keyspace.
 This comes from replayAssumptions in getKSMetaData.
 It seems that the refresh code needs to be reworked slightly to not assume 
 the CLI is authenticated to a keyspace.

--
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-4417) invalid counter shard detected

2012-09-10 Thread Peter Schuller (JIRA)

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

Peter Schuller commented on CASSANDRA-4417:
---

@Fabien That sounds plausible to me upon first read at least. I cannot confirm 
or deny whether it's possible that I've only seen this under circumstances 
where a non-clean shutdown has taken place. In particular, I cannot (at the top 
of my head anyway) think of a way in which the situation you describe is ever 
*prevented* from happening. So regardless of whether or not this is *the* 
explanation for this problem, it seems to me to at least be *an* explanation 
for it.

 invalid counter shard detected 
 ---

 Key: CASSANDRA-4417
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4417
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.1
 Environment: Amazon Linux
Reporter: Senthilvel Rangaswamy

 Seeing errors like these:
 2012-07-06_07:00:27.22662 ERROR 07:00:27,226 invalid counter shard detected; 
 (17bfd850-ac52-11e1--6ecd0b5b61e7, 1, 13) and 
 (17bfd850-ac52-11e1--6ecd0b5b61e7, 1, 1) differ only in count; will pick 
 highest to self-heal; this indicates a bug or corruption generated a bad 
 counter shard
 What does it mean ?

--
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-3997) Make SerializingCache Memory Pluggable

2012-09-10 Thread Vijay (JIRA)

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

Vijay updated CASSANDRA-3997:
-

Attachment: 0001-CASSANDRA-3997-v3.patch

Hi Paul, Sorry somehow missed update on the ticket... Rebased in v3

FYI: To enable JEMalloc we need to update
cassandra-env.sh with
export LD_LIBRARY_PATH=~/jemalloc/lib/
JVM_OPTS=-Djava.library.path=~/jemalloc/lib/

cassandra.yaml with
memory_allocator: org.apache.cassandra.io.util.JEMallocAllocator


 Make SerializingCache Memory Pluggable
 --

 Key: CASSANDRA-3997
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3997
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Vijay
Assignee: Vijay
Priority: Minor
  Labels: cache
 Fix For: 1.3

 Attachments: 0001-CASSANDRA-3997.patch, 0001-CASSANDRA-3997-v2.patch, 
 0001-CASSANDRA-3997-v3.patch, jna.zip


 Serializing cache uses native malloc and free by making FM pluggable, users 
 will have a choice of gcc malloc, TCMalloc or JEMalloc as needed. 
 Initial tests shows less fragmentation in JEMalloc but the only issue with it 
 is that (both TCMalloc and JEMalloc) are kind of single threaded (at-least 
 they crash in my test otherwise).

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