[1/2] git commit: Fix preparing queries with counter columns

2012-12-05 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2.0 215813157 - ba8dfe300


Fix preparing queries with counter columns

patch by slebresne; reviewed by iamaleksey for CASSANDRA-5022


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

Branch: refs/heads/cassandra-1.2.0
Commit: ba8dfe300c6e52766ad7f98afdd6e2ff8e67b79b
Parents: 25d41ce
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Dec 5 09:01:32 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Dec 5 09:01:32 2012 +0100

--
 CHANGES.txt|1 +
 .../cql3/operations/PreparedOperation.java |4 +
 .../cassandra/cql3/statements/UpdateStatement.java |   96 ++-
 3 files changed, 42 insertions(+), 59 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba8dfe30/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index ad2a1a8..14fe46e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
  * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
  * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
  * Fix preparing insert queries (CASSANDRA-5016)
+ * Fix preparing queries with counter increment (CASSANDRA-5022)
 
 
 1.2-beta3

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba8dfe30/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
--
diff --git 
a/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java 
b/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
index a54b065..540fdde 100644
--- a/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
+++ b/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
@@ -136,6 +136,10 @@ public class PreparedOperation implements Operation
 return (validator instanceof ListType)  kind == Kind.MINUS_PREPARED;
 }
 
+public boolean isPotentialCounterOperation() {
+return kind == Kind.PLUS_PREPARED || kind == Kind.MINUS_PREPARED;
+}
+
 public Type getType()
 {
 return Type.PREPARED;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba8dfe30/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
index c690530..48b74ac 100644
--- a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
@@ -26,6 +26,7 @@ import org.apache.cassandra.cql3.*;
 import org.apache.cassandra.config.CFMetaData;
 import org.apache.cassandra.cql3.operations.ColumnOperation;
 import org.apache.cassandra.cql3.operations.Operation;
+import org.apache.cassandra.cql3.operations.PreparedOperation;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.marshal.*;
 import org.apache.cassandra.exceptions.*;
@@ -205,8 +206,6 @@ public class UpdateStatement extends ModificationStatement
 throws InvalidRequestException
 {
 validateKey(key);
-// if true we need to wrap RowMutation into CounterMutation
-boolean hasCounterColumn = false;
 
 QueryProcessor.validateKey(key);
 RowMutation rm = new RowMutation(cfDef.cfm.ksName, key);
@@ -246,7 +245,7 @@ public class UpdateStatement extends ModificationStatement
 assert operations.size() == 1;
 operation = operations.get(0);
 }
-hasCounterColumn = addToMutation(cf, builder, cfDef.value, 
operation, params, null);
+operation.execute(cf, builder.copy(), cfDef.value == null ? null : 
cfDef.value.type, params, null);
 }
 else
 {
@@ -254,70 +253,26 @@ public class UpdateStatement extends ModificationStatement
 {
 CFDefinition.Name name = entry.getKey();
 Operation op = entry.getValue();
-hasCounterColumn |= addToMutation(cf, 
builder.copy().add(name.name.key), name, op, params, group == null || 
!op.requiresRead(name.type) ? null : group.getCollection(name.name.key));
+op.execute(cf, builder.copy().add(name.name.key), name.type, 
params, group == null || !op.requiresRead(name.type) ? null : 
group.getCollection(name.name.key));
 }
 }
 
-return (hasCounterColumn) ? new CounterMutation(rm, cl) : rm;
-}
-
-private 

[2/2] git commit: Fix preparing INSERT queries

2012-12-05 Thread slebresne
Fix preparing INSERT queries

patch by slebresne; reviewed by iamaleksey for CASSANDRA-5016


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

Branch: refs/heads/cassandra-1.2.0
Commit: 25d41ceb0500145f29f443610e4fac4a61859fca
Parents: 2158131
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Dec 5 08:59:37 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Dec 5 08:59:37 2012 +0100

--
 CHANGES.txt|1 +
 .../cassandra/cql3/statements/UpdateStatement.java |3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/25d41ceb/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 732cc5d..ad2a1a8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
 1.2-rc1
  * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
  * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
+ * Fix preparing insert queries (CASSANDRA-5016)
 
 
 1.2-beta3

http://git-wip-us.apache.org/repos/asf/cassandra/blob/25d41ceb/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
index 97844ad..c690530 100644
--- a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
@@ -340,7 +340,8 @@ public class UpdateStatement extends ModificationStatement
 case COLUMN_ALIAS:
 if (processedKeys.containsKey(name.name))
 throw new 
InvalidRequestException(String.format(Multiple definitions found for PRIMARY 
KEY part %s, name));
-if (operation.getType() != Operation.Type.COLUMN)
+// We know collection are not accepted for key and 
column aliases
+if (operation.getType() != Operation.Type.COLUMN  
operation.getType() != Operation.Type.PREPARED)
 throw new 
InvalidRequestException(String.format(Invalid definition for %s, not a 
collection type, name));
 processedKeys.put(name.name, operation.getValues());
 break;



[3/3] git commit: Fix preparing INSERT queries

2012-12-05 Thread slebresne
Fix preparing INSERT queries

patch by slebresne; reviewed by iamaleksey for CASSANDRA-5016


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

Branch: refs/heads/cassandra-1.2
Commit: 25d41ceb0500145f29f443610e4fac4a61859fca
Parents: 2158131
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Dec 5 08:59:37 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Dec 5 08:59:37 2012 +0100

--
 CHANGES.txt|1 +
 .../cassandra/cql3/statements/UpdateStatement.java |3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/25d41ceb/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 732cc5d..ad2a1a8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
 1.2-rc1
  * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
  * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
+ * Fix preparing insert queries (CASSANDRA-5016)
 
 
 1.2-beta3

http://git-wip-us.apache.org/repos/asf/cassandra/blob/25d41ceb/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
index 97844ad..c690530 100644
--- a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
@@ -340,7 +340,8 @@ public class UpdateStatement extends ModificationStatement
 case COLUMN_ALIAS:
 if (processedKeys.containsKey(name.name))
 throw new 
InvalidRequestException(String.format(Multiple definitions found for PRIMARY 
KEY part %s, name));
-if (operation.getType() != Operation.Type.COLUMN)
+// We know collection are not accepted for key and 
column aliases
+if (operation.getType() != Operation.Type.COLUMN  
operation.getType() != Operation.Type.PREPARED)
 throw new 
InvalidRequestException(String.format(Invalid definition for %s, not a 
collection type, name));
 processedKeys.put(name.name, operation.getValues());
 break;



[2/3] git commit: Fix preparing queries with counter columns

2012-12-05 Thread slebresne
Fix preparing queries with counter columns

patch by slebresne; reviewed by iamaleksey for CASSANDRA-5022


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

Branch: refs/heads/cassandra-1.2
Commit: ba8dfe300c6e52766ad7f98afdd6e2ff8e67b79b
Parents: 25d41ce
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Dec 5 09:01:32 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Dec 5 09:01:32 2012 +0100

--
 CHANGES.txt|1 +
 .../cql3/operations/PreparedOperation.java |4 +
 .../cassandra/cql3/statements/UpdateStatement.java |   96 ++-
 3 files changed, 42 insertions(+), 59 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba8dfe30/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index ad2a1a8..14fe46e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
  * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
  * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
  * Fix preparing insert queries (CASSANDRA-5016)
+ * Fix preparing queries with counter increment (CASSANDRA-5022)
 
 
 1.2-beta3

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba8dfe30/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
--
diff --git 
a/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java 
b/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
index a54b065..540fdde 100644
--- a/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
+++ b/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
@@ -136,6 +136,10 @@ public class PreparedOperation implements Operation
 return (validator instanceof ListType)  kind == Kind.MINUS_PREPARED;
 }
 
+public boolean isPotentialCounterOperation() {
+return kind == Kind.PLUS_PREPARED || kind == Kind.MINUS_PREPARED;
+}
+
 public Type getType()
 {
 return Type.PREPARED;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba8dfe30/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
index c690530..48b74ac 100644
--- a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
@@ -26,6 +26,7 @@ import org.apache.cassandra.cql3.*;
 import org.apache.cassandra.config.CFMetaData;
 import org.apache.cassandra.cql3.operations.ColumnOperation;
 import org.apache.cassandra.cql3.operations.Operation;
+import org.apache.cassandra.cql3.operations.PreparedOperation;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.marshal.*;
 import org.apache.cassandra.exceptions.*;
@@ -205,8 +206,6 @@ public class UpdateStatement extends ModificationStatement
 throws InvalidRequestException
 {
 validateKey(key);
-// if true we need to wrap RowMutation into CounterMutation
-boolean hasCounterColumn = false;
 
 QueryProcessor.validateKey(key);
 RowMutation rm = new RowMutation(cfDef.cfm.ksName, key);
@@ -246,7 +245,7 @@ public class UpdateStatement extends ModificationStatement
 assert operations.size() == 1;
 operation = operations.get(0);
 }
-hasCounterColumn = addToMutation(cf, builder, cfDef.value, 
operation, params, null);
+operation.execute(cf, builder.copy(), cfDef.value == null ? null : 
cfDef.value.type, params, null);
 }
 else
 {
@@ -254,70 +253,26 @@ public class UpdateStatement extends ModificationStatement
 {
 CFDefinition.Name name = entry.getKey();
 Operation op = entry.getValue();
-hasCounterColumn |= addToMutation(cf, 
builder.copy().add(name.name.key), name, op, params, group == null || 
!op.requiresRead(name.type) ? null : group.getCollection(name.name.key));
+op.execute(cf, builder.copy().add(name.name.key), name.type, 
params, group == null || !op.requiresRead(name.type) ? null : 
group.getCollection(name.name.key));
 }
 }
 
-return (hasCounterColumn) ? new CounterMutation(rm, cl) : rm;
-}
-
-private boolean addToMutation(ColumnFamily cf,
-  

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

2012-12-05 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 dc682de2e - f65e52007


Merge branch 'cassandra-1.2.0' into cassandra-1.2


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

Branch: refs/heads/cassandra-1.2
Commit: f65e5200736ca8f26b1ffb5854e779cd7a7b9a88
Parents: dc682de ba8dfe3
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Dec 5 09:02:50 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Dec 5 09:02:50 2012 +0100

--
 CHANGES.txt|2 +
 .../cql3/operations/PreparedOperation.java |4 +
 .../cassandra/cql3/statements/UpdateStatement.java |   99 ++-
 3 files changed, 45 insertions(+), 60 deletions(-)
--


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



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

2012-12-05 Thread slebresne
Updated Branches:
  refs/heads/trunk 47e6f3799 - 46f1c7fab


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 46f1c7fabd6a7102a7a363bcfdc40c62a3bdc461
Parents: 47e6f37 f65e520
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Dec 5 09:03:11 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Dec 5 09:03:11 2012 +0100

--
 CHANGES.txt|2 +
 .../cql3/operations/PreparedOperation.java |4 +
 .../cassandra/cql3/statements/UpdateStatement.java |   99 ++-
 3 files changed, 45 insertions(+), 60 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/46f1c7fa/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
--



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

2012-12-05 Thread slebresne
Merge branch 'cassandra-1.2.0' into cassandra-1.2


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

Branch: refs/heads/trunk
Commit: f65e5200736ca8f26b1ffb5854e779cd7a7b9a88
Parents: dc682de ba8dfe3
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Dec 5 09:02:50 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Dec 5 09:02:50 2012 +0100

--
 CHANGES.txt|2 +
 .../cql3/operations/PreparedOperation.java |4 +
 .../cassandra/cql3/statements/UpdateStatement.java |   99 ++-
 3 files changed, 45 insertions(+), 60 deletions(-)
--


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



[4/4] git commit: Fix preparing INSERT queries

2012-12-05 Thread slebresne
Fix preparing INSERT queries

patch by slebresne; reviewed by iamaleksey for CASSANDRA-5016


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

Branch: refs/heads/trunk
Commit: 25d41ceb0500145f29f443610e4fac4a61859fca
Parents: 2158131
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Dec 5 08:59:37 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Dec 5 08:59:37 2012 +0100

--
 CHANGES.txt|1 +
 .../cassandra/cql3/statements/UpdateStatement.java |3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/25d41ceb/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 732cc5d..ad2a1a8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
 1.2-rc1
  * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
  * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
+ * Fix preparing insert queries (CASSANDRA-5016)
 
 
 1.2-beta3

http://git-wip-us.apache.org/repos/asf/cassandra/blob/25d41ceb/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
index 97844ad..c690530 100644
--- a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
@@ -340,7 +340,8 @@ public class UpdateStatement extends ModificationStatement
 case COLUMN_ALIAS:
 if (processedKeys.containsKey(name.name))
 throw new 
InvalidRequestException(String.format(Multiple definitions found for PRIMARY 
KEY part %s, name));
-if (operation.getType() != Operation.Type.COLUMN)
+// We know collection are not accepted for key and 
column aliases
+if (operation.getType() != Operation.Type.COLUMN  
operation.getType() != Operation.Type.PREPARED)
 throw new 
InvalidRequestException(String.format(Invalid definition for %s, not a 
collection type, name));
 processedKeys.put(name.name, operation.getValues());
 break;



[3/4] git commit: Fix preparing queries with counter columns

2012-12-05 Thread slebresne
Fix preparing queries with counter columns

patch by slebresne; reviewed by iamaleksey for CASSANDRA-5022


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

Branch: refs/heads/trunk
Commit: ba8dfe300c6e52766ad7f98afdd6e2ff8e67b79b
Parents: 25d41ce
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Dec 5 09:01:32 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Dec 5 09:01:32 2012 +0100

--
 CHANGES.txt|1 +
 .../cql3/operations/PreparedOperation.java |4 +
 .../cassandra/cql3/statements/UpdateStatement.java |   96 ++-
 3 files changed, 42 insertions(+), 59 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba8dfe30/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index ad2a1a8..14fe46e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
  * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
  * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
  * Fix preparing insert queries (CASSANDRA-5016)
+ * Fix preparing queries with counter increment (CASSANDRA-5022)
 
 
 1.2-beta3

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba8dfe30/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
--
diff --git 
a/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java 
b/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
index a54b065..540fdde 100644
--- a/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
+++ b/src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
@@ -136,6 +136,10 @@ public class PreparedOperation implements Operation
 return (validator instanceof ListType)  kind == Kind.MINUS_PREPARED;
 }
 
+public boolean isPotentialCounterOperation() {
+return kind == Kind.PLUS_PREPARED || kind == Kind.MINUS_PREPARED;
+}
+
 public Type getType()
 {
 return Type.PREPARED;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba8dfe30/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
index c690530..48b74ac 100644
--- a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
@@ -26,6 +26,7 @@ import org.apache.cassandra.cql3.*;
 import org.apache.cassandra.config.CFMetaData;
 import org.apache.cassandra.cql3.operations.ColumnOperation;
 import org.apache.cassandra.cql3.operations.Operation;
+import org.apache.cassandra.cql3.operations.PreparedOperation;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.marshal.*;
 import org.apache.cassandra.exceptions.*;
@@ -205,8 +206,6 @@ public class UpdateStatement extends ModificationStatement
 throws InvalidRequestException
 {
 validateKey(key);
-// if true we need to wrap RowMutation into CounterMutation
-boolean hasCounterColumn = false;
 
 QueryProcessor.validateKey(key);
 RowMutation rm = new RowMutation(cfDef.cfm.ksName, key);
@@ -246,7 +245,7 @@ public class UpdateStatement extends ModificationStatement
 assert operations.size() == 1;
 operation = operations.get(0);
 }
-hasCounterColumn = addToMutation(cf, builder, cfDef.value, 
operation, params, null);
+operation.execute(cf, builder.copy(), cfDef.value == null ? null : 
cfDef.value.type, params, null);
 }
 else
 {
@@ -254,70 +253,26 @@ public class UpdateStatement extends ModificationStatement
 {
 CFDefinition.Name name = entry.getKey();
 Operation op = entry.getValue();
-hasCounterColumn |= addToMutation(cf, 
builder.copy().add(name.name.key), name, op, params, group == null || 
!op.requiresRead(name.type) ? null : group.getCollection(name.name.key));
+op.execute(cf, builder.copy().add(name.name.key), name.type, 
params, group == null || !op.requiresRead(name.type) ? null : 
group.getCollection(name.name.key));
 }
 }
 
-return (hasCounterColumn) ? new CounterMutation(rm, cl) : rm;
-}
-
-private boolean addToMutation(ColumnFamily cf,
-  

[jira] [Resolved] (CASSANDRA-5028) Native protocol prepared INSERT broken

2012-12-05 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne resolved CASSANDRA-5028.
-

Resolution: Duplicate

 Native protocol prepared INSERT broken
 --

 Key: CASSANDRA-5028
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5028
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 3
 Environment: Cassandra 1.2.0-beta3-SNAPSHOT (b86f75d)
Reporter: Jonathan Rudenberg
Assignee: Sylvain Lebresne
 Fix For: 1.2.0 rc1


 b4f2f201 breaks prepared inserts via the native protocol (a regression from 
 1.2.0-beta2).
 {noformat}
 cassandra.Exec(INSERT INTO tests (id, content) VALUES (?, ?), 1, test)
 Error: Invalid definition for id, not a collection type
 {noformat}
 {noformat}
 cqlsh CREATE KEYSPACE test WITH replication = { 'class' : 'SimpleStrategy', 
 'replication_factor' : 1 };
 cqlsh USE test;
 cqlsh:test CREATE TABLE tests (id bigint PRIMARY KEY, content text);
 {noformat}
 Repro code: https://gist.github.com/edafe5383c81c22aed5a

--
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-5017) Preparing UPDATE queries with collections returns suboptimal metadata

2012-12-05 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-5017:


Attachment: 0004-Update-validation-of-ListOperation.txt

Right, forgot to update the validation of ListType. Fourth patch attached to 
fix that.

 Preparing UPDATE queries with collections returns suboptimal metadata
 -

 Key: CASSANDRA-5017
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5017
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 2
Reporter: Aleksey Yeschenko
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.0 rc1

 Attachments: 0001-Return-correct-metadata-when-preparing-map.txt, 
 0002-Fix-prepared-list-index-and-using-integer-for-map-keys.txt, 
 0003-Fix-handling-of-prepared-marker-for-deletes.txt, 
 0004-Update-validation-of-ListOperation.txt


 CQL3, binary protocol.
 collections (id int primary key, amap mapint, varchar);
 preparing UPDATE test.collections SET amap[?] = ? WHERE id = ? returns the 
 following metadata:
 [{column,test,collections,amap,
{map,int,varchar}},
{column,test,collections,amap,
{map,int,varchar}},
{column,test,collections,id,int}]
 Ideally it should return [int, varchar, int] types. Less ideally [{map, int, 
 varchar}, int] and expect an encoded map with a single key-value pair. But 
 certainly not what it currently returns.

--
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-5026) Reduce log spam from counter shard warnings

2012-12-05 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-5026:


Attachment: 5026.txt

 Reduce log spam from counter shard warnings
 ---

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

 Attachments: 5026.txt


 The invalid counter shard warning we can get after unclean shutdown in 
 periodic commitlog mode or after node movement (CASSANDRA-4071) can spam the 
 log hard since it is logged once per read until compaction merges it away.

--
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-5026) Reduce log spam from counter shard warnings

2012-12-05 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-5026:
-

bq. only logging it during compaction

Agreed that it's the best option. It'll also make the message more true in the 
sense that the message says will pick highest to self-heal, but we only 
self-heal things on compaction.

Patch attached for that.

 Reduce log spam from counter shard warnings
 ---

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

 Attachments: 5026.txt


 The invalid counter shard warning we can get after unclean shutdown in 
 periodic commitlog mode or after node movement (CASSANDRA-4071) can spam the 
 log hard since it is logged once per read until compaction merges it away.

--
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-3929) Support row size limits

2012-12-05 Thread Fabien Rousseau (JIRA)

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

Fabien Rousseau updated CASSANDRA-3929:
---

Attachment: 3929_e.txt

 Support row size limits
 ---

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

 Attachments: 3929_b.txt, 3929_c.txt, 3929_d.txt, 3929_e.txt, 3929.txt


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

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


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

2012-12-05 Thread Fabien Rousseau (JIRA)

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

Fabien Rousseau commented on CASSANDRA-3929:


Hum, the current patch works if no deletes are done...

Let's have an example with deletes :
Suppose that we want to keep 3 columns, and have standard comparator.
Let's insert 4 column names : E, F, G, H
Then flush (on the SSTable, we will have : E, F, G, tombstone(H) ).
Let's insert another 4 column names : A, B, C, D
Then delete column B.
Then flush (on the SSTable, we will have : A, tombstone(B), C, tombstone(D) )

With the current patch (which excludes tombstones in the count on the read 
path) :
reading the first 3 columns would return : A,C,E
By including the tombstones in the count in the read path :
reading the first 3 columns would return : A,C

I think returning A,C,E is incorrect because last inserted columns where A,C,D.

So, to support delete, there is also something to do on the read path (include 
tombstones in columns count, so it never goes after maxColumns).

I propose the patch 3929_e.txt.




 Support row size limits
 ---

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

 Attachments: 3929_b.txt, 3929_c.txt, 3929_d.txt, 3929_e.txt, 3929.txt


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

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


[jira] [Commented] (CASSANDRA-5025) Schema push/pull race

2012-12-05 Thread Chris Herron (JIRA)

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

Chris Herron commented on CASSANDRA-5025:
-

Clarifying for anyone else who encounters this issue:
* This problem was introduced in CASSANDRA-3931
* For use cases that involve creation/update/deletion of multiple keyspaces or 
column families, the symptom will be increasingly slow schema migrations as the 
KS/CF population grows. Depending on client RPC timeout config, schema change 
requests may fail. 
* In a test environment running stock C* 1.1.7, for a test that creates new CFs 
in sequence, we see the following CF creation times:
** Empty cluster: sub-second
** 200+ CFs: 15s ave.
** 400+ CFs: 30s+ with eventual failure due to 30s client side (Hector) RPC 
timeout.
* In the same test environment running 1.1.7 patched with 5025.txt:
** For the first 60s duration of the test, CF creation times are sub-second
** At 60s, the delayed rectifySchema migration calls kick in and creation times 
drop to 50s+ (including waits for schema agreement) with eventual failure due 
to 30s client side RPC timeout.



 Schema push/pull race
 -

 Key: CASSANDRA-5025
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5025
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.0
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 1.1.8

 Attachments: 5025.txt


 When a schema change is made, the coordinator pushes the delta to the other 
 nodes in the cluster.  This is more efficient than sending the entire schema. 
  But the coordinator also announces the new schema version, so the other 
 nodes' reception of the new version races with processing the delta, and 
 usually seeing the new schema wins.  So the other nodes also issue a pull to 
 the coordinator for the entire schema.
 Thus, schema changes tend to become O(n) in the number of KS and CF present.

--
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-3931) gossipers notion of schema differs from reality as reported by the nodes in question

2012-12-05 Thread Chris Herron (JIRA)

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

Chris Herron commented on CASSANDRA-3931:
-

FYI the fixes for this issue introduced issue CASSANDRA-5025.

 gossipers notion of schema differs from reality as reported by the nodes in 
 question
 

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

 Attachments: 3931.txt, 3931-v2.txt


 On a 1.1 cluster we happened to notice that {{nodetool gossipinfo | grep 
 SCHEMA}} reported disagreement:
 {code}
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:b0d7bab7-c13c-37d9-9adb-8ab8a5b7215d
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:bcdbd318-82df-3518-89e3-6b72227b3f66
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:bcdbd318-82df-3518-89e3-6b72227b3f66
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
   SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f
 {code}
 However, the result of a thrift {{describe_ring}} on the cluster claims they 
 all agree and that {{b0d7bab7-c13c-37d9-9adb-8ab8a5b7215d}} is the schema 
 they have.
 The schemas seem to actually propagate; e.g. dropping a keyspace actually 
 drops the 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-5017) Preparing UPDATE queries with collections returns suboptimal metadata

2012-12-05 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-5017:
--

Everything works now (prepared and unprepared). +1

 Preparing UPDATE queries with collections returns suboptimal metadata
 -

 Key: CASSANDRA-5017
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5017
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 beta 2
Reporter: Aleksey Yeschenko
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.0 rc1

 Attachments: 0001-Return-correct-metadata-when-preparing-map.txt, 
 0002-Fix-prepared-list-index-and-using-integer-for-map-keys.txt, 
 0003-Fix-handling-of-prepared-marker-for-deletes.txt, 
 0004-Update-validation-of-ListOperation.txt


 CQL3, binary protocol.
 collections (id int primary key, amap mapint, varchar);
 preparing UPDATE test.collections SET amap[?] = ? WHERE id = ? returns the 
 following metadata:
 [{column,test,collections,amap,
{map,int,varchar}},
{column,test,collections,amap,
{map,int,varchar}},
{column,test,collections,id,int}]
 Ideally it should return [int, varchar, int] types. Less ideally [{map, int, 
 varchar}, int] and expect an encoded map with a single key-value pair. But 
 certainly not what it currently returns.

--
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-5030) IndexHelper.IndexFor call throws AOB exception when passing multiple slices

2012-12-05 Thread T Jake Luciani (JIRA)
T Jake Luciani created CASSANDRA-5030:
-

 Summary: IndexHelper.IndexFor call throws AOB exception when 
passing multiple slices
 Key: CASSANDRA-5030
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5030
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
 Attachments: broken-index-helper-test.txt

While testing multiple slices I'm seeing some exceptions when a slice hits the 
end of an index.

{code}
ERROR [ReadStage:138179] 2012-12-04 18:04:28,796 CassandraDaemon.java (line 
132) Exception in thread Thread[ReadStage:138179,5,main]
java.lang.IndexOutOfBoundsException: toIndex = 6
at java.util.SubList.init(AbstractList.java:602)
at java.util.RandomAccessSubList.init(AbstractList.java:758)
at java.util.AbstractList.subList(AbstractList.java:468)
at 
org.apache.cassandra.io.sstable.IndexHelper.indexFor(IndexHelper.java:182)
at 
org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.setNextSlice(IndexedSliceReader.java:253)
at 
org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.init(IndexedSliceReader.java:246)
at 
org.apache.cassandra.db.columniterator.IndexedSliceReader.init(IndexedSliceReader.java:91)
at 
org.apache.cassandra.db.columniterator.SSTableSliceIterator.createReader(SSTableSliceIterator.java:68)
at 
org.apache.cassandra.db.columniterator.SSTableSliceIterator.init(SSTableSliceIterator.java:44)
at 
org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:101)
at 
org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:68)
at 
org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:267)
at 
org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:61)
at 
org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1387)
at 
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1247)
at 
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1159)
at org.apache.cassandra.db.Table.getRow(Table.java:348)
at 
org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:70)
at 
org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:48)
at 
org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
{code}


I can reproduce this in a test, attached

--
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-5030) IndexHelper.IndexFor call throws AOB exception when passing multiple slices

2012-12-05 Thread T Jake Luciani (JIRA)

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

T Jake Luciani updated CASSANDRA-5030:
--

Attachment: broken-index-helper-test.txt

 IndexHelper.IndexFor call throws AOB exception when passing multiple slices
 ---

 Key: CASSANDRA-5030
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5030
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
 Attachments: broken-index-helper-test.txt


 While testing multiple slices I'm seeing some exceptions when a slice hits 
 the end of an index.
 {code}
 ERROR [ReadStage:138179] 2012-12-04 18:04:28,796 CassandraDaemon.java (line 
 132) Exception in thread Thread[ReadStage:138179,5,main]
 java.lang.IndexOutOfBoundsException: toIndex = 6
 at java.util.SubList.init(AbstractList.java:602)
 at java.util.RandomAccessSubList.init(AbstractList.java:758)
 at java.util.AbstractList.subList(AbstractList.java:468)
 at 
 org.apache.cassandra.io.sstable.IndexHelper.indexFor(IndexHelper.java:182)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.setNextSlice(IndexedSliceReader.java:253)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.init(IndexedSliceReader.java:246)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader.init(IndexedSliceReader.java:91)
 at 
 org.apache.cassandra.db.columniterator.SSTableSliceIterator.createReader(SSTableSliceIterator.java:68)
 at 
 org.apache.cassandra.db.columniterator.SSTableSliceIterator.init(SSTableSliceIterator.java:44)
 at 
 org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:101)
 at 
 org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:68)
 at 
 org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:267)
 at 
 org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:61)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1387)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1247)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1159)
 at org.apache.cassandra.db.Table.getRow(Table.java:348)
 at 
 org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:70)
 at 
 org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:48)
 at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 {code}
 I can reproduce this in a test, attached

--
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-5030) IndexHelper.IndexFor call throws AOB exception when passing multiple slices

2012-12-05 Thread T Jake Luciani (JIRA)

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

T Jake Luciani updated CASSANDRA-5030:
--

Attachment: 5030.txt

 IndexHelper.IndexFor call throws AOB exception when passing multiple slices
 ---

 Key: CASSANDRA-5030
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5030
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
 Attachments: 5030.txt


 While testing multiple slices I'm seeing some exceptions when a slice hits 
 the end of an index.
 {code}
 ERROR [ReadStage:138179] 2012-12-04 18:04:28,796 CassandraDaemon.java (line 
 132) Exception in thread Thread[ReadStage:138179,5,main]
 java.lang.IndexOutOfBoundsException: toIndex = 6
 at java.util.SubList.init(AbstractList.java:602)
 at java.util.RandomAccessSubList.init(AbstractList.java:758)
 at java.util.AbstractList.subList(AbstractList.java:468)
 at 
 org.apache.cassandra.io.sstable.IndexHelper.indexFor(IndexHelper.java:182)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.setNextSlice(IndexedSliceReader.java:253)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.init(IndexedSliceReader.java:246)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader.init(IndexedSliceReader.java:91)
 at 
 org.apache.cassandra.db.columniterator.SSTableSliceIterator.createReader(SSTableSliceIterator.java:68)
 at 
 org.apache.cassandra.db.columniterator.SSTableSliceIterator.init(SSTableSliceIterator.java:44)
 at 
 org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:101)
 at 
 org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:68)
 at 
 org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:267)
 at 
 org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:61)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1387)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1247)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1159)
 at org.apache.cassandra.db.Table.getRow(Table.java:348)
 at 
 org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:70)
 at 
 org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:48)
 at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 {code}
 I can reproduce this in a test, attached

--
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-5030) IndexHelper.IndexFor call throws AOB exception when passing multiple slices

2012-12-05 Thread T Jake Luciani (JIRA)

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

T Jake Luciani updated CASSANDRA-5030:
--

Attachment: (was: broken-index-helper-test.txt)

 IndexHelper.IndexFor call throws AOB exception when passing multiple slices
 ---

 Key: CASSANDRA-5030
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5030
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
 Attachments: 5030.txt


 While testing multiple slices I'm seeing some exceptions when a slice hits 
 the end of an index.
 {code}
 ERROR [ReadStage:138179] 2012-12-04 18:04:28,796 CassandraDaemon.java (line 
 132) Exception in thread Thread[ReadStage:138179,5,main]
 java.lang.IndexOutOfBoundsException: toIndex = 6
 at java.util.SubList.init(AbstractList.java:602)
 at java.util.RandomAccessSubList.init(AbstractList.java:758)
 at java.util.AbstractList.subList(AbstractList.java:468)
 at 
 org.apache.cassandra.io.sstable.IndexHelper.indexFor(IndexHelper.java:182)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.setNextSlice(IndexedSliceReader.java:253)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.init(IndexedSliceReader.java:246)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader.init(IndexedSliceReader.java:91)
 at 
 org.apache.cassandra.db.columniterator.SSTableSliceIterator.createReader(SSTableSliceIterator.java:68)
 at 
 org.apache.cassandra.db.columniterator.SSTableSliceIterator.init(SSTableSliceIterator.java:44)
 at 
 org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:101)
 at 
 org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:68)
 at 
 org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:267)
 at 
 org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:61)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1387)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1247)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1159)
 at org.apache.cassandra.db.Table.getRow(Table.java:348)
 at 
 org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:70)
 at 
 org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:48)
 at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 {code}
 I can reproduce this in a test, attached

--
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-5030) IndexHelper.IndexFor call throws AOB exception when passing multiple slices

2012-12-05 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-5030:
--

 Reviewer: dr-alves
Fix Version/s: 1.2.0 rc1
 Assignee: T Jake Luciani

 IndexHelper.IndexFor call throws AOB exception when passing multiple slices
 ---

 Key: CASSANDRA-5030
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5030
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
Assignee: T Jake Luciani
 Fix For: 1.2.0 rc1

 Attachments: 5030.txt


 While testing multiple slices I'm seeing some exceptions when a slice hits 
 the end of an index.
 {code}
 ERROR [ReadStage:138179] 2012-12-04 18:04:28,796 CassandraDaemon.java (line 
 132) Exception in thread Thread[ReadStage:138179,5,main]
 java.lang.IndexOutOfBoundsException: toIndex = 6
 at java.util.SubList.init(AbstractList.java:602)
 at java.util.RandomAccessSubList.init(AbstractList.java:758)
 at java.util.AbstractList.subList(AbstractList.java:468)
 at 
 org.apache.cassandra.io.sstable.IndexHelper.indexFor(IndexHelper.java:182)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.setNextSlice(IndexedSliceReader.java:253)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.init(IndexedSliceReader.java:246)
 at 
 org.apache.cassandra.db.columniterator.IndexedSliceReader.init(IndexedSliceReader.java:91)
 at 
 org.apache.cassandra.db.columniterator.SSTableSliceIterator.createReader(SSTableSliceIterator.java:68)
 at 
 org.apache.cassandra.db.columniterator.SSTableSliceIterator.init(SSTableSliceIterator.java:44)
 at 
 org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:101)
 at 
 org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:68)
 at 
 org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:267)
 at 
 org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:61)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1387)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1247)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1159)
 at org.apache.cassandra.db.Table.getRow(Table.java:348)
 at 
 org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:70)
 at 
 org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:48)
 at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 {code}
 I can reproduce this in a test, attached

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

2012-12-05 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-4790:
--

lgtm, +1 (piconit - IDEA's auto-import misplaced FBUtilities import in 
StageManager).

 Allow property override of available processors value
 -

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

 Attachments: 4790.txt


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

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


git commit: ninja fix for crc_check_chance validation

2012-12-05 Thread jake
Updated Branches:
  refs/heads/cassandra-1.2.0 ba8dfe300 - 5a90123eb


ninja fix for crc_check_chance validation


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

Branch: refs/heads/cassandra-1.2.0
Commit: 5a90123eb5b275e35eb0e5777bae383c41d03b24
Parents: ba8dfe3
Author: Jake Luciani jluci...@bluemountaincapital.com
Authored: Wed Dec 5 20:16:34 2012 +0100
Committer: Jake Luciani jluci...@bluemountaincapital.com
Committed: Wed Dec 5 20:16:34 2012 +0100

--
 .../io/compress/CompressionParameters.java |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a90123e/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
--
diff --git 
a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java 
b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
index 25fc742..df077ac 100644
--- a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
+++ b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
@@ -56,6 +56,7 @@ public class CompressionParameters
 String chunkLength = options.get(CHUNK_LENGTH_KB);
 options.remove(SSTABLE_COMPRESSION);
 options.remove(CHUNK_LENGTH_KB);
+options.remove(CRC_CHECK_CHANCE);
 CompressionParameters cp = new 
CompressionParameters(sstableCompressionClass, parseChunkLength(chunkLength), 
options);
 cp.validate();
 return cp;



[jira] [Created] (CASSANDRA-5031) Add ssl support to binary protocol

2012-12-05 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-5031:
-

 Summary: Add ssl support to binary protocol
 Key: CASSANDRA-5031
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5031
 Project: Cassandra
  Issue Type: New Feature
  Components: API
Reporter: Jonathan Ellis
Assignee: Jason Brown
 Fix For: 1.2.1


CASSANDRA-4239 added support in Thrift

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


[1/2] git commit: r/m unused SSLTransportFactory.java (CustomTThreadPoolServer uses TSSLTransportFactory directly)

2012-12-05 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.2 f65e52007 - 6e61c4cdd
  refs/heads/trunk 46f1c7fab - c533b8885


r/m unused SSLTransportFactory.java (CustomTThreadPoolServer uses 
TSSLTransportFactory directly)


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

Branch: refs/heads/cassandra-1.2
Commit: 6e61c4cddd51e1a1bae33239e50dc603f3b12010
Parents: f65e520
Author: Jonathan Ellis jbel...@apache.org
Authored: Wed Dec 5 13:29:04 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Wed Dec 5 13:29:23 2012 -0600

--
 .../cli/transport/FramedTransportFactory.java  |1 -
 .../cassandra/stress/SSLTransportFactory.java  |   45 ---
 2 files changed, 0 insertions(+), 46 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6e61c4cd/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
--
diff --git 
a/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java 
b/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
index 653d45f..dc7ef81 100644
--- a/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
+++ b/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
@@ -23,7 +23,6 @@ import org.apache.thrift.transport.TTransportFactory;
 
 public class FramedTransportFactory extends TTransportFactory
 {
-
 public static final int DEFAULT_MAX_FRAME_SIZE = 15 * 1024 * 1024; // 15 
MiB
 
 public TTransport getTransport(TTransport base)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6e61c4cd/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java
--
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java 
b/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java
deleted file mode 100644
index 8fd4006..000
--- a/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * License); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.cassandra.stress;
-
-import org.apache.cassandra.cli.transport.FramedTransportFactory;
-import org.apache.thrift.transport.TSSLTransportFactory;
-import 
org.apache.thrift.transport.TSSLTransportFactory.TSSLTransportParameters;
-import org.apache.thrift.transport.TTransport;
-import org.apache.thrift.transport.TTransportException;
-import org.apache.thrift.transport.TTransportFactory;
-
-public class SSLTransportFactory extends TTransportFactory
-{
-public TTransport getTransport(TTransport trans)
-{
-final Session session = Stress.session;
-try
-{
-String hostName = 
session.nodes[Stress.randomizer.nextInt(session.nodes.length)];
-TSSLTransportParameters params = new 
TSSLTransportParameters(session.encOptions.protocol, 
session.encOptions.cipher_suites);
-params.setTrustStore(session.encOptions.truststore, 
session.encOptions.truststore_password);
-trans = TSSLTransportFactory.getClientSocket(hostName, 
session.port, 0, params);
-return new FramedTransportFactory().getTransport(trans);
-}
-catch (TTransportException e)
-{
-throw new RuntimeException(Failed to create a client SSL 
connection., e);
-}
-}
-}



[2/2] git commit: r/m unused SSLTransportFactory.java (CustomTThreadPoolServer uses TSSLTransportFactory directly)

2012-12-05 Thread jbellis
r/m unused SSLTransportFactory.java (CustomTThreadPoolServer uses 
TSSLTransportFactory directly)


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

Branch: refs/heads/trunk
Commit: c533b888510c1e6f78b9f3100e259a7b784bddbb
Parents: 46f1c7f
Author: Jonathan Ellis jbel...@apache.org
Authored: Wed Dec 5 13:29:04 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Wed Dec 5 13:29:18 2012 -0600

--
 .../cli/transport/FramedTransportFactory.java  |1 -
 .../cassandra/stress/SSLTransportFactory.java  |   45 ---
 2 files changed, 0 insertions(+), 46 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c533b888/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
--
diff --git 
a/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java 
b/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
index 653d45f..dc7ef81 100644
--- a/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
+++ b/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
@@ -23,7 +23,6 @@ import org.apache.thrift.transport.TTransportFactory;
 
 public class FramedTransportFactory extends TTransportFactory
 {
-
 public static final int DEFAULT_MAX_FRAME_SIZE = 15 * 1024 * 1024; // 15 
MiB
 
 public TTransport getTransport(TTransport base)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c533b888/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java
--
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java 
b/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java
deleted file mode 100644
index 8fd4006..000
--- a/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * License); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.cassandra.stress;
-
-import org.apache.cassandra.cli.transport.FramedTransportFactory;
-import org.apache.thrift.transport.TSSLTransportFactory;
-import 
org.apache.thrift.transport.TSSLTransportFactory.TSSLTransportParameters;
-import org.apache.thrift.transport.TTransport;
-import org.apache.thrift.transport.TTransportException;
-import org.apache.thrift.transport.TTransportFactory;
-
-public class SSLTransportFactory extends TTransportFactory
-{
-public TTransport getTransport(TTransport trans)
-{
-final Session session = Stress.session;
-try
-{
-String hostName = 
session.nodes[Stress.randomizer.nextInt(session.nodes.length)];
-TSSLTransportParameters params = new 
TSSLTransportParameters(session.encOptions.protocol, 
session.encOptions.cipher_suites);
-params.setTrustStore(session.encOptions.truststore, 
session.encOptions.truststore_password);
-trans = TSSLTransportFactory.getClientSocket(hostName, 
session.port, 0, params);
-return new FramedTransportFactory().getTransport(trans);
-}
-catch (TTransportException e)
-{
-throw new RuntimeException(Failed to create a client SSL 
connection., e);
-}
-}
-}



[jira] [Created] (CASSANDRA-5032) Downed node looses it's host-id

2012-12-05 Thread T Jake Luciani (JIRA)
T Jake Luciani created CASSANDRA-5032:
-

 Summary: Downed node looses it's host-id
 Key: CASSANDRA-5032
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5032
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
Assignee: Brandon Williams


We took down one of our nodes for maintenance and during that time it seems the 
other nodes haves lost the downed nodes node id

We also see lots of hint assertion exceptions Missing host ID for 10.6.27.98

{code}
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address   Load   Tokens  Owns (effective)  Host ID  
 Rack
UN  10.6.27.96129.37 GB  256 140.0%
59f3df94-e551-45ce-a3b0-51462f3ea868  27
UN  10.6.27.97125.24 GB  256 133.7%
f5bb146c-db51-475c-a44f-9facf2f1ad6e  27
DN  10.6.27.98?  256 126.3%null 
 27
{code}

We restarted c* on the two other nodes that are up, my guess is the host id was 
lost on restart of those.


--
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-5032) Downed node loses its host-id

2012-12-05 Thread T Jake Luciani (JIRA)

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

T Jake Luciani updated CASSANDRA-5032:
--

Summary: Downed node loses its host-id  (was: Downed node looses its 
host-id)

 Downed node loses its host-id
 -

 Key: CASSANDRA-5032
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5032
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
Assignee: Brandon Williams
  Labels: vnodes

 We took down one of our nodes for maintenance and during that time it seems 
 the other nodes haves lost the downed nodes node id
 We also see lots of hint assertion exceptions Missing host ID for 10.6.27.98
 {code}
 Status=Up/Down
 |/ State=Normal/Leaving/Joining/Moving
 --  Address   Load   Tokens  Owns (effective)  Host ID
Rack
 UN  10.6.27.96129.37 GB  256 140.0%
 59f3df94-e551-45ce-a3b0-51462f3ea868  27
 UN  10.6.27.97125.24 GB  256 133.7%
 f5bb146c-db51-475c-a44f-9facf2f1ad6e  27
 DN  10.6.27.98?  256 126.3%null   
27
 {code}
 We restarted c* on the two other nodes that are up, my guess is the host id 
 was lost on restart of those.

--
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-5032) Downed node looses its host-id

2012-12-05 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5032:


Summary: Downed node looses its host-id  (was: Downed node looses it's 
host-id)

 Downed node looses its host-id
 --

 Key: CASSANDRA-5032
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5032
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
Assignee: Brandon Williams
  Labels: vnodes

 We took down one of our nodes for maintenance and during that time it seems 
 the other nodes haves lost the downed nodes node id
 We also see lots of hint assertion exceptions Missing host ID for 10.6.27.98
 {code}
 Status=Up/Down
 |/ State=Normal/Leaving/Joining/Moving
 --  Address   Load   Tokens  Owns (effective)  Host ID
Rack
 UN  10.6.27.96129.37 GB  256 140.0%
 59f3df94-e551-45ce-a3b0-51462f3ea868  27
 UN  10.6.27.97125.24 GB  256 133.7%
 f5bb146c-db51-475c-a44f-9facf2f1ad6e  27
 DN  10.6.27.98?  256 126.3%null   
27
 {code}
 We restarted c* on the two other nodes that are up, my guess is the host id 
 was lost on restart of those.

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


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

2012-12-05 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-1.1 2e271233f - 5abeecc8b
  refs/heads/cassandra-1.2 6e61c4cdd - 52a650ea7
  refs/heads/cassandra-1.2.0 5a90123eb - 2f3b5bfb2


Merge branch 'cassandra-1.2.0' into cassandra-1.2


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

Branch: refs/heads/cassandra-1.2
Commit: 52a650ea7439fff2757aa051a175a1ffb43e16d8
Parents: 6e61c4c 2f3b5bf
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:28:41 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:28:41 2012 -0600

--
 .../apache/cassandra/concurrent/StageManager.java  |9 +
 src/java/org/apache/cassandra/config/Config.java   |3 ++-
 .../cassandra/config/DatabaseDescriptor.java   |2 +-
 .../PeriodicCommitLogExecutorService.java  |3 ++-
 .../db/compaction/ParallelCompactionIterable.java  |2 +-
 .../cassandra/hadoop/ColumnFamilyRecordWriter.java |3 ++-
 .../io/compress/CompressionParameters.java |1 +
 .../apache/cassandra/io/sstable/SSTableReader.java |2 +-
 .../org/apache/cassandra/service/StorageProxy.java |2 +-
 .../apache/cassandra/thrift/CustomTHsHaServer.java |3 ++-
 .../org/apache/cassandra/utils/FBUtilities.java|8 
 11 files changed, 26 insertions(+), 12 deletions(-)
--




[4/9] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2.0

2012-12-05 Thread brandonwilliams
Merge branch 'cassandra-1.1' into cassandra-1.2.0


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

Branch: refs/heads/cassandra-1.2
Commit: 99c833886cea4512069f14c47ef59c8aceb641f8
Parents: 5a90123 5abeecc
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:25:42 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:25:42 2012 -0600

--

--




[3/9] git commit: Allow overriding available processors with -Dcassandra.available_processors Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790

2012-12-05 Thread brandonwilliams
Allow overriding available processors with
-Dcassandra.available_processors
Patch by brandonwilliams, reviewed by iamaleksey for
CASSANDRA-4790


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

Branch: refs/heads/cassandra-1.2
Commit: 2f3b5bfb2da968b408062d56b9d41ab420b95ba2
Parents: 99c8338
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:26:13 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:26:13 2012 -0600

--
 .../apache/cassandra/concurrent/StageManager.java  |9 +
 src/java/org/apache/cassandra/config/Config.java   |3 ++-
 .../cassandra/config/DatabaseDescriptor.java   |2 +-
 .../PeriodicCommitLogExecutorService.java  |3 ++-
 .../db/compaction/ParallelCompactionIterable.java  |2 +-
 .../cassandra/hadoop/ColumnFamilyRecordWriter.java |3 ++-
 .../apache/cassandra/io/sstable/SSTableReader.java |2 +-
 .../org/apache/cassandra/service/StorageProxy.java |2 +-
 .../apache/cassandra/thrift/CustomTHsHaServer.java |3 ++-
 .../org/apache/cassandra/utils/FBUtilities.java|8 
 10 files changed, 25 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f3b5bfb/src/java/org/apache/cassandra/concurrent/StageManager.java
--
diff --git a/src/java/org/apache/cassandra/concurrent/StageManager.java 
b/src/java/org/apache/cassandra/concurrent/StageManager.java
index 7ca45f4..287b19e 100644
--- a/src/java/org/apache/cassandra/concurrent/StageManager.java
+++ b/src/java/org/apache/cassandra/concurrent/StageManager.java
@@ -24,6 +24,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.net.MessagingService;
+import org.apache.cassandra.utils.FBUtilities;
 
 import static org.apache.cassandra.config.DatabaseDescriptor.*;
 
@@ -41,21 +42,21 @@ public class StageManager
 
 public static final long KEEPALIVE = 60; // seconds to keep extra 
threads alive for when idle
 
-public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
Runtime.getRuntime().availableProcessors();
+public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
FBUtilities.getAvailableProcessors();
 
 static
 {
 stages.put(Stage.MUTATION, 
multiThreadedConfigurableStage(Stage.MUTATION, getConcurrentWriters()));
 stages.put(Stage.READ, multiThreadedConfigurableStage(Stage.READ, 
getConcurrentReaders()));
-stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
-stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
FBUtilities.getAvailableProcessors()));
+stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.REPLICATE_ON_WRITE, 
multiThreadedConfigurableStage(Stage.REPLICATE_ON_WRITE, 
getConcurrentReplicators(), MAX_REPLICATE_ON_WRITE_TASKS));
 // the rest are all single-threaded
 stages.put(Stage.GOSSIP, new 
JMXEnabledThreadPoolExecutor(Stage.GOSSIP));
 stages.put(Stage.ANTI_ENTROPY, new 
JMXEnabledThreadPoolExecutor(Stage.ANTI_ENTROPY));
 stages.put(Stage.MIGRATION, new 
JMXEnabledThreadPoolExecutor(Stage.MIGRATION));
 stages.put(Stage.MISC, new JMXEnabledThreadPoolExecutor(Stage.MISC));
-stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.TRACING, tracingExecutor());
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f3b5bfb/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index fa8f273..492bb7a 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -20,6 +20,7 @@ package org.apache.cassandra.config;
 import org.apache.cassandra.cache.SerializingCacheProvider;
 import org.apache.cassandra.config.EncryptionOptions.ClientEncryptionOptions;
 import org.apache.cassandra.config.EncryptionOptions.ServerEncryptionOptions;
+import 

[2/9] git commit: Allow overriding available processors with -Dcassandra.available_processors Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790

2012-12-05 Thread brandonwilliams
Allow overriding available processors with
-Dcassandra.available_processors
Patch by brandonwilliams, reviewed by iamaleksey for
CASSANDRA-4790


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

Branch: refs/heads/cassandra-1.2.0
Commit: 2f3b5bfb2da968b408062d56b9d41ab420b95ba2
Parents: 99c8338
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:26:13 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:26:13 2012 -0600

--
 .../apache/cassandra/concurrent/StageManager.java  |9 +
 src/java/org/apache/cassandra/config/Config.java   |3 ++-
 .../cassandra/config/DatabaseDescriptor.java   |2 +-
 .../PeriodicCommitLogExecutorService.java  |3 ++-
 .../db/compaction/ParallelCompactionIterable.java  |2 +-
 .../cassandra/hadoop/ColumnFamilyRecordWriter.java |3 ++-
 .../apache/cassandra/io/sstable/SSTableReader.java |2 +-
 .../org/apache/cassandra/service/StorageProxy.java |2 +-
 .../apache/cassandra/thrift/CustomTHsHaServer.java |3 ++-
 .../org/apache/cassandra/utils/FBUtilities.java|8 
 10 files changed, 25 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f3b5bfb/src/java/org/apache/cassandra/concurrent/StageManager.java
--
diff --git a/src/java/org/apache/cassandra/concurrent/StageManager.java 
b/src/java/org/apache/cassandra/concurrent/StageManager.java
index 7ca45f4..287b19e 100644
--- a/src/java/org/apache/cassandra/concurrent/StageManager.java
+++ b/src/java/org/apache/cassandra/concurrent/StageManager.java
@@ -24,6 +24,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.net.MessagingService;
+import org.apache.cassandra.utils.FBUtilities;
 
 import static org.apache.cassandra.config.DatabaseDescriptor.*;
 
@@ -41,21 +42,21 @@ public class StageManager
 
 public static final long KEEPALIVE = 60; // seconds to keep extra 
threads alive for when idle
 
-public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
Runtime.getRuntime().availableProcessors();
+public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
FBUtilities.getAvailableProcessors();
 
 static
 {
 stages.put(Stage.MUTATION, 
multiThreadedConfigurableStage(Stage.MUTATION, getConcurrentWriters()));
 stages.put(Stage.READ, multiThreadedConfigurableStage(Stage.READ, 
getConcurrentReaders()));
-stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
-stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
FBUtilities.getAvailableProcessors()));
+stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.REPLICATE_ON_WRITE, 
multiThreadedConfigurableStage(Stage.REPLICATE_ON_WRITE, 
getConcurrentReplicators(), MAX_REPLICATE_ON_WRITE_TASKS));
 // the rest are all single-threaded
 stages.put(Stage.GOSSIP, new 
JMXEnabledThreadPoolExecutor(Stage.GOSSIP));
 stages.put(Stage.ANTI_ENTROPY, new 
JMXEnabledThreadPoolExecutor(Stage.ANTI_ENTROPY));
 stages.put(Stage.MIGRATION, new 
JMXEnabledThreadPoolExecutor(Stage.MIGRATION));
 stages.put(Stage.MISC, new JMXEnabledThreadPoolExecutor(Stage.MISC));
-stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.TRACING, tracingExecutor());
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f3b5bfb/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index fa8f273..492bb7a 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -20,6 +20,7 @@ package org.apache.cassandra.config;
 import org.apache.cassandra.cache.SerializingCacheProvider;
 import org.apache.cassandra.config.EncryptionOptions.ClientEncryptionOptions;
 import org.apache.cassandra.config.EncryptionOptions.ServerEncryptionOptions;
+import 

[5/9] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2.0

2012-12-05 Thread brandonwilliams
Merge branch 'cassandra-1.1' into cassandra-1.2.0


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

Branch: refs/heads/cassandra-1.2.0
Commit: 99c833886cea4512069f14c47ef59c8aceb641f8
Parents: 5a90123 5abeecc
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:25:42 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:25:42 2012 -0600

--

--




[7/9] git commit: Allow overriding available processors with -Dcassandra.available_processors Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790

2012-12-05 Thread brandonwilliams
Allow overriding available processors with
-Dcassandra.available_processors
Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790


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

Branch: refs/heads/cassandra-1.2
Commit: 5abeecc8b51b896742403d48019300b68caceecb
Parents: 2e27123
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 13:18:00 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 13:18:00 2012 -0600

--
 .../apache/cassandra/concurrent/StageManager.java  |9 +
 src/java/org/apache/cassandra/config/Config.java   |3 ++-
 .../cassandra/config/DatabaseDescriptor.java   |6 +++---
 .../PeriodicCommitLogExecutorService.java  |3 ++-
 .../db/compaction/ParallelCompactionIterable.java  |2 +-
 .../cassandra/hadoop/ColumnFamilyRecordWriter.java |3 ++-
 .../apache/cassandra/io/sstable/SSTableReader.java |2 +-
 .../org/apache/cassandra/service/StorageProxy.java |2 +-
 .../apache/cassandra/thrift/CassandraDaemon.java   |3 ++-
 .../org/apache/cassandra/utils/FBUtilities.java|8 
 10 files changed, 27 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5abeecc8/src/java/org/apache/cassandra/concurrent/StageManager.java
--
diff --git a/src/java/org/apache/cassandra/concurrent/StageManager.java 
b/src/java/org/apache/cassandra/concurrent/StageManager.java
index 4bcb75d..662be29 100644
--- a/src/java/org/apache/cassandra/concurrent/StageManager.java
+++ b/src/java/org/apache/cassandra/concurrent/StageManager.java
@@ -24,6 +24,7 @@ import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
 import static org.apache.cassandra.config.DatabaseDescriptor.*;
+import org.apache.cassandra.utils.FBUtilities;
 
 
 /**
@@ -37,14 +38,14 @@ public class StageManager
 
 public static final long KEEPALIVE = 60; // seconds to keep extra 
threads alive for when idle
 
-public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
Runtime.getRuntime().availableProcessors();
+public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
FBUtilities.getAvailableProcessors();
 
 static
 {
 stages.put(Stage.MUTATION, 
multiThreadedConfigurableStage(Stage.MUTATION, getConcurrentWriters()));
 stages.put(Stage.READ, multiThreadedConfigurableStage(Stage.READ, 
getConcurrentReaders()));
-stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
-stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
FBUtilities.getAvailableProcessors()));
+stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.REPLICATE_ON_WRITE, 
multiThreadedConfigurableStage(Stage.REPLICATE_ON_WRITE, 
getConcurrentReplicators(), MAX_REPLICATE_ON_WRITE_TASKS));
 // the rest are all single-threaded
 stages.put(Stage.STREAM, new 
JMXEnabledThreadPoolExecutor(Stage.STREAM));
@@ -52,7 +53,7 @@ public class StageManager
 stages.put(Stage.ANTI_ENTROPY, new 
JMXEnabledThreadPoolExecutor(Stage.ANTI_ENTROPY));
 stages.put(Stage.MIGRATION, new 
JMXEnabledThreadPoolExecutor(Stage.MIGRATION));
 stages.put(Stage.MISC, new JMXEnabledThreadPoolExecutor(Stage.MISC));
-stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
FBUtilities.getAvailableProcessors()));
 }
 
 private static ThreadPoolExecutor multiThreadedStage(Stage stage, int 
numThreads)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5abeecc8/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index f4e7955..3170ef7 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -21,6 +21,7 @@ package org.apache.cassandra.config;
  */
 
 import org.apache.cassandra.cache.SerializingCacheProvider;
+import org.apache.cassandra.utils.FBUtilities;
 
 
 public class Config
@@ -83,7 +84,7 @@ public 

[6/9] git commit: Allow overriding available processors with -Dcassandra.available_processors Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790

2012-12-05 Thread brandonwilliams
Allow overriding available processors with
-Dcassandra.available_processors
Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790


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

Branch: refs/heads/cassandra-1.2.0
Commit: 5abeecc8b51b896742403d48019300b68caceecb
Parents: 2e27123
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 13:18:00 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 13:18:00 2012 -0600

--
 .../apache/cassandra/concurrent/StageManager.java  |9 +
 src/java/org/apache/cassandra/config/Config.java   |3 ++-
 .../cassandra/config/DatabaseDescriptor.java   |6 +++---
 .../PeriodicCommitLogExecutorService.java  |3 ++-
 .../db/compaction/ParallelCompactionIterable.java  |2 +-
 .../cassandra/hadoop/ColumnFamilyRecordWriter.java |3 ++-
 .../apache/cassandra/io/sstable/SSTableReader.java |2 +-
 .../org/apache/cassandra/service/StorageProxy.java |2 +-
 .../apache/cassandra/thrift/CassandraDaemon.java   |3 ++-
 .../org/apache/cassandra/utils/FBUtilities.java|8 
 10 files changed, 27 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5abeecc8/src/java/org/apache/cassandra/concurrent/StageManager.java
--
diff --git a/src/java/org/apache/cassandra/concurrent/StageManager.java 
b/src/java/org/apache/cassandra/concurrent/StageManager.java
index 4bcb75d..662be29 100644
--- a/src/java/org/apache/cassandra/concurrent/StageManager.java
+++ b/src/java/org/apache/cassandra/concurrent/StageManager.java
@@ -24,6 +24,7 @@ import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
 import static org.apache.cassandra.config.DatabaseDescriptor.*;
+import org.apache.cassandra.utils.FBUtilities;
 
 
 /**
@@ -37,14 +38,14 @@ public class StageManager
 
 public static final long KEEPALIVE = 60; // seconds to keep extra 
threads alive for when idle
 
-public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
Runtime.getRuntime().availableProcessors();
+public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
FBUtilities.getAvailableProcessors();
 
 static
 {
 stages.put(Stage.MUTATION, 
multiThreadedConfigurableStage(Stage.MUTATION, getConcurrentWriters()));
 stages.put(Stage.READ, multiThreadedConfigurableStage(Stage.READ, 
getConcurrentReaders()));
-stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
-stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
FBUtilities.getAvailableProcessors()));
+stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.REPLICATE_ON_WRITE, 
multiThreadedConfigurableStage(Stage.REPLICATE_ON_WRITE, 
getConcurrentReplicators(), MAX_REPLICATE_ON_WRITE_TASKS));
 // the rest are all single-threaded
 stages.put(Stage.STREAM, new 
JMXEnabledThreadPoolExecutor(Stage.STREAM));
@@ -52,7 +53,7 @@ public class StageManager
 stages.put(Stage.ANTI_ENTROPY, new 
JMXEnabledThreadPoolExecutor(Stage.ANTI_ENTROPY));
 stages.put(Stage.MIGRATION, new 
JMXEnabledThreadPoolExecutor(Stage.MIGRATION));
 stages.put(Stage.MISC, new JMXEnabledThreadPoolExecutor(Stage.MISC));
-stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
FBUtilities.getAvailableProcessors()));
 }
 
 private static ThreadPoolExecutor multiThreadedStage(Stage stage, int 
numThreads)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5abeecc8/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index f4e7955..3170ef7 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -21,6 +21,7 @@ package org.apache.cassandra.config;
  */
 
 import org.apache.cassandra.cache.SerializingCacheProvider;
+import org.apache.cassandra.utils.FBUtilities;
 
 
 public class Config
@@ -83,7 +84,7 @@ public 

[8/9] git commit: Allow overriding available processors with -Dcassandra.available_processors Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790

2012-12-05 Thread brandonwilliams
Allow overriding available processors with
-Dcassandra.available_processors
Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790


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

Branch: refs/heads/cassandra-1.1
Commit: 5abeecc8b51b896742403d48019300b68caceecb
Parents: 2e27123
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 13:18:00 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 13:18:00 2012 -0600

--
 .../apache/cassandra/concurrent/StageManager.java  |9 +
 src/java/org/apache/cassandra/config/Config.java   |3 ++-
 .../cassandra/config/DatabaseDescriptor.java   |6 +++---
 .../PeriodicCommitLogExecutorService.java  |3 ++-
 .../db/compaction/ParallelCompactionIterable.java  |2 +-
 .../cassandra/hadoop/ColumnFamilyRecordWriter.java |3 ++-
 .../apache/cassandra/io/sstable/SSTableReader.java |2 +-
 .../org/apache/cassandra/service/StorageProxy.java |2 +-
 .../apache/cassandra/thrift/CassandraDaemon.java   |3 ++-
 .../org/apache/cassandra/utils/FBUtilities.java|8 
 10 files changed, 27 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5abeecc8/src/java/org/apache/cassandra/concurrent/StageManager.java
--
diff --git a/src/java/org/apache/cassandra/concurrent/StageManager.java 
b/src/java/org/apache/cassandra/concurrent/StageManager.java
index 4bcb75d..662be29 100644
--- a/src/java/org/apache/cassandra/concurrent/StageManager.java
+++ b/src/java/org/apache/cassandra/concurrent/StageManager.java
@@ -24,6 +24,7 @@ import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
 import static org.apache.cassandra.config.DatabaseDescriptor.*;
+import org.apache.cassandra.utils.FBUtilities;
 
 
 /**
@@ -37,14 +38,14 @@ public class StageManager
 
 public static final long KEEPALIVE = 60; // seconds to keep extra 
threads alive for when idle
 
-public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
Runtime.getRuntime().availableProcessors();
+public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
FBUtilities.getAvailableProcessors();
 
 static
 {
 stages.put(Stage.MUTATION, 
multiThreadedConfigurableStage(Stage.MUTATION, getConcurrentWriters()));
 stages.put(Stage.READ, multiThreadedConfigurableStage(Stage.READ, 
getConcurrentReaders()));
-stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
-stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
FBUtilities.getAvailableProcessors()));
+stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.REPLICATE_ON_WRITE, 
multiThreadedConfigurableStage(Stage.REPLICATE_ON_WRITE, 
getConcurrentReplicators(), MAX_REPLICATE_ON_WRITE_TASKS));
 // the rest are all single-threaded
 stages.put(Stage.STREAM, new 
JMXEnabledThreadPoolExecutor(Stage.STREAM));
@@ -52,7 +53,7 @@ public class StageManager
 stages.put(Stage.ANTI_ENTROPY, new 
JMXEnabledThreadPoolExecutor(Stage.ANTI_ENTROPY));
 stages.put(Stage.MIGRATION, new 
JMXEnabledThreadPoolExecutor(Stage.MIGRATION));
 stages.put(Stage.MISC, new JMXEnabledThreadPoolExecutor(Stage.MISC));
-stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
FBUtilities.getAvailableProcessors()));
 }
 
 private static ThreadPoolExecutor multiThreadedStage(Stage stage, int 
numThreads)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5abeecc8/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index f4e7955..3170ef7 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -21,6 +21,7 @@ package org.apache.cassandra.config;
  */
 
 import org.apache.cassandra.cache.SerializingCacheProvider;
+import org.apache.cassandra.utils.FBUtilities;
 
 
 public class Config
@@ -83,7 +84,7 @@ public 

[9/9] git commit: ninja fix for crc_check_chance validation

2012-12-05 Thread brandonwilliams
ninja fix for crc_check_chance validation


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

Branch: refs/heads/cassandra-1.2
Commit: 5a90123eb5b275e35eb0e5777bae383c41d03b24
Parents: ba8dfe3
Author: Jake Luciani jluci...@bluemountaincapital.com
Authored: Wed Dec 5 20:16:34 2012 +0100
Committer: Jake Luciani jluci...@bluemountaincapital.com
Committed: Wed Dec 5 20:16:34 2012 +0100

--
 .../io/compress/CompressionParameters.java |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a90123e/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
--
diff --git 
a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java 
b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
index 25fc742..df077ac 100644
--- a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
+++ b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
@@ -56,6 +56,7 @@ public class CompressionParameters
 String chunkLength = options.get(CHUNK_LENGTH_KB);
 options.remove(SSTABLE_COMPRESSION);
 options.remove(CHUNK_LENGTH_KB);
+options.remove(CRC_CHECK_CHANCE);
 CompressionParameters cp = new 
CompressionParameters(sstableCompressionClass, parseChunkLength(chunkLength), 
options);
 cp.validate();
 return cp;



[jira] [Updated] (CASSANDRA-5032) Downed node loses its host-id

2012-12-05 Thread T Jake Luciani (JIRA)

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

T Jake Luciani updated CASSANDRA-5032:
--

Description: 
We took down one of our nodes for maintenance and during that time it seems the 
other nodes have lost the downed nodes node id

We also see lots of hint assertion exceptions Missing host ID for 10.6.27.98

{code}
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address   Load   Tokens  Owns (effective)  Host ID  
 Rack
UN  10.6.27.96129.37 GB  256 140.0%
59f3df94-e551-45ce-a3b0-51462f3ea868  27
UN  10.6.27.97125.24 GB  256 133.7%
f5bb146c-db51-475c-a44f-9facf2f1ad6e  27
DN  10.6.27.98?  256 126.3%null 
 27
{code}

We restarted c* on the two other nodes that are up, my guess is the host id was 
lost on restart of those.


  was:
We took down one of our nodes for maintenance and during that time it seems the 
other nodes haves lost the downed nodes node id

We also see lots of hint assertion exceptions Missing host ID for 10.6.27.98

{code}
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address   Load   Tokens  Owns (effective)  Host ID  
 Rack
UN  10.6.27.96129.37 GB  256 140.0%
59f3df94-e551-45ce-a3b0-51462f3ea868  27
UN  10.6.27.97125.24 GB  256 133.7%
f5bb146c-db51-475c-a44f-9facf2f1ad6e  27
DN  10.6.27.98?  256 126.3%null 
 27
{code}

We restarted c* on the two other nodes that are up, my guess is the host id was 
lost on restart of those.



 Downed node loses its host-id
 -

 Key: CASSANDRA-5032
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5032
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
Assignee: Brandon Williams
  Labels: vnodes

 We took down one of our nodes for maintenance and during that time it seems 
 the other nodes have lost the downed nodes node id
 We also see lots of hint assertion exceptions Missing host ID for 10.6.27.98
 {code}
 Status=Up/Down
 |/ State=Normal/Leaving/Joining/Moving
 --  Address   Load   Tokens  Owns (effective)  Host ID
Rack
 UN  10.6.27.96129.37 GB  256 140.0%
 59f3df94-e551-45ce-a3b0-51462f3ea868  27
 UN  10.6.27.97125.24 GB  256 133.7%
 f5bb146c-db51-475c-a44f-9facf2f1ad6e  27
 DN  10.6.27.98?  256 126.3%null   
27
 {code}
 We restarted c* on the two other nodes that are up, my guess is the host id 
 was lost on restart of those.

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


[1/3] git commit: Allow overriding available processors with -Dcassandra.available_processors Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790

2012-12-05 Thread brandonwilliams
Updated Branches:
  refs/heads/trunk c533b8885 - 7ec4f5a6e


Allow overriding available processors with
-Dcassandra.available_processors
Patch by brandonwilliams, reviewed by iamaleksey for
CASSANDRA-4790


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

Branch: refs/heads/trunk
Commit: 7ec4f5a6e5256b135c8fbf7df2eb110a133c159a
Parents: d6d4151
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:26:13 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:48:08 2012 -0600

--
 .../apache/cassandra/concurrent/StageManager.java  |1 +
 .../apache/cassandra/thrift/CustomTHsHaServer.java |3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7ec4f5a6/src/java/org/apache/cassandra/concurrent/StageManager.java
--
diff --git a/src/java/org/apache/cassandra/concurrent/StageManager.java 
b/src/java/org/apache/cassandra/concurrent/StageManager.java
index bf2e4c2..be66dde 100644
--- a/src/java/org/apache/cassandra/concurrent/StageManager.java
+++ b/src/java/org/apache/cassandra/concurrent/StageManager.java
@@ -24,6 +24,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.net.MessagingService;
+import org.apache.cassandra.utils.FBUtilities;
 
 import static org.apache.cassandra.config.DatabaseDescriptor.*;
 import org.apache.cassandra.utils.FBUtilities;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7ec4f5a6/src/java/org/apache/cassandra/thrift/CustomTHsHaServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/CustomTHsHaServer.java 
b/src/java/org/apache/cassandra/thrift/CustomTHsHaServer.java
index 250a549..a199a27 100644
--- a/src/java/org/apache/cassandra/thrift/CustomTHsHaServer.java
+++ b/src/java/org/apache/cassandra/thrift/CustomTHsHaServer.java
@@ -30,6 +30,7 @@ import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.SynchronousQueue;
 import java.util.concurrent.TimeUnit;
 
+import org.apache.cassandra.utils.FBUtilities;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -378,7 +379,7 @@ public class CustomTHsHaServer extends TNonblockingServer

.outputProtocolFactory(args.tProtocolFactory)

.processor(args.processor);
 // Check for available processors in the system which will be 
equal to the IO Threads.
-return new CustomTHsHaServer(serverArgs, executorService, 
Runtime.getRuntime().availableProcessors());
+return new CustomTHsHaServer(serverArgs, executorService, 
FBUtilities.getAvailableProcessors());
 }
 }
 }



[2/3] git commit: Allow overriding available processors with -Dcassandra.available_processors Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790

2012-12-05 Thread brandonwilliams
Allow overriding available processors with
-Dcassandra.available_processors
Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790


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

Branch: refs/heads/trunk
Commit: d6d4151ee24791aa35a983de1c39cc4f895d6a55
Parents: 54ab2d2
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 13:18:00 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:46:11 2012 -0600

--
 .../apache/cassandra/concurrent/StageManager.java  |9 +-
 src/java/org/apache/cassandra/config/Config.java   |6 +-
 .../cassandra/config/DatabaseDescriptor.java   |2 +-
 .../PeriodicCommitLogExecutorService.java  |3 +-
 .../db/compaction/ParallelCompactionIterable.java  |2 +-
 .../cassandra/hadoop/ColumnFamilyRecordWriter.java |3 +-
 .../apache/cassandra/io/sstable/SSTableReader.java |2 +-
 .../org/apache/cassandra/service/StorageProxy.java |4 +-
 .../apache/cassandra/thrift/CassandraDaemon.java   |  223 +++
 .../org/apache/cassandra/utils/FBUtilities.java|8 +
 10 files changed, 251 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d6d4151e/src/java/org/apache/cassandra/concurrent/StageManager.java
--
diff --git a/src/java/org/apache/cassandra/concurrent/StageManager.java 
b/src/java/org/apache/cassandra/concurrent/StageManager.java
index 7ca45f4..bf2e4c2 100644
--- a/src/java/org/apache/cassandra/concurrent/StageManager.java
+++ b/src/java/org/apache/cassandra/concurrent/StageManager.java
@@ -26,6 +26,7 @@ import org.slf4j.LoggerFactory;
 import org.apache.cassandra.net.MessagingService;
 
 import static org.apache.cassandra.config.DatabaseDescriptor.*;
+import org.apache.cassandra.utils.FBUtilities;
 
 
 /**
@@ -41,21 +42,21 @@ public class StageManager
 
 public static final long KEEPALIVE = 60; // seconds to keep extra 
threads alive for when idle
 
-public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
Runtime.getRuntime().availableProcessors();
+public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
FBUtilities.getAvailableProcessors();
 
 static
 {
 stages.put(Stage.MUTATION, 
multiThreadedConfigurableStage(Stage.MUTATION, getConcurrentWriters()));
 stages.put(Stage.READ, multiThreadedConfigurableStage(Stage.READ, 
getConcurrentReaders()));
-stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
-stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
FBUtilities.getAvailableProcessors()));
+stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.REPLICATE_ON_WRITE, 
multiThreadedConfigurableStage(Stage.REPLICATE_ON_WRITE, 
getConcurrentReplicators(), MAX_REPLICATE_ON_WRITE_TASKS));
 // the rest are all single-threaded
 stages.put(Stage.GOSSIP, new 
JMXEnabledThreadPoolExecutor(Stage.GOSSIP));
 stages.put(Stage.ANTI_ENTROPY, new 
JMXEnabledThreadPoolExecutor(Stage.ANTI_ENTROPY));
 stages.put(Stage.MIGRATION, new 
JMXEnabledThreadPoolExecutor(Stage.MIGRATION));
 stages.put(Stage.MISC, new JMXEnabledThreadPoolExecutor(Stage.MISC));
-stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.TRACING, tracingExecutor());
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d6d4151e/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index e9f190f..609633c 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -21,12 +21,15 @@ import org.apache.cassandra.cache.SerializingCacheProvider;
 import org.apache.cassandra.config.EncryptionOptions.ClientEncryptionOptions;
 import org.apache.cassandra.config.EncryptionOptions.ServerEncryptionOptions;
 import org.apache.cassandra.io.util.NativeAllocator;
+import 

[3/3] git commit: ninja fix for crc_check_chance validation

2012-12-05 Thread brandonwilliams
ninja fix for crc_check_chance validation


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

Branch: refs/heads/trunk
Commit: 54ab2d2cf5022d23a1682e82b71480e61eb89e83
Parents: c533b88
Author: Jake Luciani jluci...@bluemountaincapital.com
Authored: Wed Dec 5 20:16:34 2012 +0100
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:31:28 2012 -0600

--
 .../io/compress/CompressionParameters.java |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/54ab2d2c/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
--
diff --git 
a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java 
b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
index 25fc742..df077ac 100644
--- a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
+++ b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
@@ -56,6 +56,7 @@ public class CompressionParameters
 String chunkLength = options.get(CHUNK_LENGTH_KB);
 options.remove(SSTABLE_COMPRESSION);
 options.remove(CHUNK_LENGTH_KB);
+options.remove(CRC_CHECK_CHANCE);
 CompressionParameters cp = new 
CompressionParameters(sstableCompressionClass, parseChunkLength(chunkLength), 
options);
 cp.validate();
 return cp;



buildbot failure in ASF Buildbot on cassandra-trunk

2012-12-05 Thread buildbot
The Buildbot has detected a new failure on builder cassandra-trunk while 
building cassandra.
Full details are available at:
 http://ci.apache.org/builders/cassandra-trunk/builds/2155

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: portunus_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch trunk] 7ec4f5a6e5256b135c8fbf7df2eb110a133c159a
Blamelist: Brandon Williams brandonwilli...@apache.org,Jake Luciani 
jluci...@bluemountaincapital.com

BUILD FAILED: failed compile

sincerely,
 -The Buildbot





[4/12] git commit: fix typo

2012-12-05 Thread brandonwilliams
fix typo


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

Branch: refs/heads/trunk
Commit: a41b7806a627e5253cead31ae30300f862a331da
Parents: 2f3b5bf
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:49:15 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:49:15 2012 -0600

--
 .../org/apache/cassandra/utils/FBUtilities.java|2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a41b7806/src/java/org/apache/cassandra/utils/FBUtilities.java
--
diff --git a/src/java/org/apache/cassandra/utils/FBUtilities.java 
b/src/java/org/apache/cassandra/utils/FBUtilities.java
index d894036..783ce48 100644
--- a/src/java/org/apache/cassandra/utils/FBUtilities.java
+++ b/src/java/org/apache/cassandra/utils/FBUtilities.java
@@ -73,7 +73,7 @@ public class FBUtilities
 if (System.getProperty(cassandra.available_processors) != null)
 return 
Integer.parseInt(System.getProperty(cassandra.available_processors));
 else
-return FBUtilities.getAvailableProcessors();
+return Runtime.getRuntime().availableProcessors();
 }
 
 private static final ThreadLocalMessageDigest localMD5Digest = new 
ThreadLocalMessageDigest()



[5/12] git commit: fix typo

2012-12-05 Thread brandonwilliams
fix typo


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

Branch: refs/heads/cassandra-1.2
Commit: a41b7806a627e5253cead31ae30300f862a331da
Parents: 2f3b5bf
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:49:15 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:49:15 2012 -0600

--
 .../org/apache/cassandra/utils/FBUtilities.java|2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a41b7806/src/java/org/apache/cassandra/utils/FBUtilities.java
--
diff --git a/src/java/org/apache/cassandra/utils/FBUtilities.java 
b/src/java/org/apache/cassandra/utils/FBUtilities.java
index d894036..783ce48 100644
--- a/src/java/org/apache/cassandra/utils/FBUtilities.java
+++ b/src/java/org/apache/cassandra/utils/FBUtilities.java
@@ -73,7 +73,7 @@ public class FBUtilities
 if (System.getProperty(cassandra.available_processors) != null)
 return 
Integer.parseInt(System.getProperty(cassandra.available_processors));
 else
-return FBUtilities.getAvailableProcessors();
+return Runtime.getRuntime().availableProcessors();
 }
 
 private static final ThreadLocalMessageDigest localMD5Digest = new 
ThreadLocalMessageDigest()



[6/12] git commit: fix typo

2012-12-05 Thread brandonwilliams
fix typo


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

Branch: refs/heads/cassandra-1.2.0
Commit: a41b7806a627e5253cead31ae30300f862a331da
Parents: 2f3b5bf
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:49:15 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:49:15 2012 -0600

--
 .../org/apache/cassandra/utils/FBUtilities.java|2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a41b7806/src/java/org/apache/cassandra/utils/FBUtilities.java
--
diff --git a/src/java/org/apache/cassandra/utils/FBUtilities.java 
b/src/java/org/apache/cassandra/utils/FBUtilities.java
index d894036..783ce48 100644
--- a/src/java/org/apache/cassandra/utils/FBUtilities.java
+++ b/src/java/org/apache/cassandra/utils/FBUtilities.java
@@ -73,7 +73,7 @@ public class FBUtilities
 if (System.getProperty(cassandra.available_processors) != null)
 return 
Integer.parseInt(System.getProperty(cassandra.available_processors));
 else
-return FBUtilities.getAvailableProcessors();
+return Runtime.getRuntime().availableProcessors();
 }
 
 private static final ThreadLocalMessageDigest localMD5Digest = new 
ThreadLocalMessageDigest()



[7/12] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-05 Thread brandonwilliams
Merge branch 'cassandra-1.2.0' into cassandra-1.2


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

Branch: refs/heads/trunk
Commit: 52a650ea7439fff2757aa051a175a1ffb43e16d8
Parents: 6e61c4c 2f3b5bf
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:28:41 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:28:41 2012 -0600

--
 .../apache/cassandra/concurrent/StageManager.java  |9 +
 src/java/org/apache/cassandra/config/Config.java   |3 ++-
 .../cassandra/config/DatabaseDescriptor.java   |2 +-
 .../PeriodicCommitLogExecutorService.java  |3 ++-
 .../db/compaction/ParallelCompactionIterable.java  |2 +-
 .../cassandra/hadoop/ColumnFamilyRecordWriter.java |3 ++-
 .../io/compress/CompressionParameters.java |1 +
 .../apache/cassandra/io/sstable/SSTableReader.java |2 +-
 .../org/apache/cassandra/service/StorageProxy.java |2 +-
 .../apache/cassandra/thrift/CustomTHsHaServer.java |3 ++-
 .../org/apache/cassandra/utils/FBUtilities.java|8 
 11 files changed, 26 insertions(+), 12 deletions(-)
--




[9/12] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2.0

2012-12-05 Thread brandonwilliams
Merge branch 'cassandra-1.1' into cassandra-1.2.0


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

Branch: refs/heads/trunk
Commit: 99c833886cea4512069f14c47ef59c8aceb641f8
Parents: 5a90123 5abeecc
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:25:42 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:25:42 2012 -0600

--

--




[12/12] git commit: ninja fix for crc_check_chance validation

2012-12-05 Thread brandonwilliams
ninja fix for crc_check_chance validation


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

Branch: refs/heads/trunk
Commit: 5a90123eb5b275e35eb0e5777bae383c41d03b24
Parents: ba8dfe3
Author: Jake Luciani jluci...@bluemountaincapital.com
Authored: Wed Dec 5 20:16:34 2012 +0100
Committer: Jake Luciani jluci...@bluemountaincapital.com
Committed: Wed Dec 5 20:16:34 2012 +0100

--
 .../io/compress/CompressionParameters.java |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a90123e/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
--
diff --git 
a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java 
b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
index 25fc742..df077ac 100644
--- a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
+++ b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
@@ -56,6 +56,7 @@ public class CompressionParameters
 String chunkLength = options.get(CHUNK_LENGTH_KB);
 options.remove(SSTABLE_COMPRESSION);
 options.remove(CHUNK_LENGTH_KB);
+options.remove(CRC_CHECK_CHANCE);
 CompressionParameters cp = new 
CompressionParameters(sstableCompressionClass, parseChunkLength(chunkLength), 
options);
 cp.validate();
 return cp;



[11/12] git commit: Allow overriding available processors with -Dcassandra.available_processors Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790

2012-12-05 Thread brandonwilliams
Allow overriding available processors with
-Dcassandra.available_processors
Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790


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

Branch: refs/heads/trunk
Commit: 5abeecc8b51b896742403d48019300b68caceecb
Parents: 2e27123
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 13:18:00 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 13:18:00 2012 -0600

--
 .../apache/cassandra/concurrent/StageManager.java  |9 +
 src/java/org/apache/cassandra/config/Config.java   |3 ++-
 .../cassandra/config/DatabaseDescriptor.java   |6 +++---
 .../PeriodicCommitLogExecutorService.java  |3 ++-
 .../db/compaction/ParallelCompactionIterable.java  |2 +-
 .../cassandra/hadoop/ColumnFamilyRecordWriter.java |3 ++-
 .../apache/cassandra/io/sstable/SSTableReader.java |2 +-
 .../org/apache/cassandra/service/StorageProxy.java |2 +-
 .../apache/cassandra/thrift/CassandraDaemon.java   |3 ++-
 .../org/apache/cassandra/utils/FBUtilities.java|8 
 10 files changed, 27 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5abeecc8/src/java/org/apache/cassandra/concurrent/StageManager.java
--
diff --git a/src/java/org/apache/cassandra/concurrent/StageManager.java 
b/src/java/org/apache/cassandra/concurrent/StageManager.java
index 4bcb75d..662be29 100644
--- a/src/java/org/apache/cassandra/concurrent/StageManager.java
+++ b/src/java/org/apache/cassandra/concurrent/StageManager.java
@@ -24,6 +24,7 @@ import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
 import static org.apache.cassandra.config.DatabaseDescriptor.*;
+import org.apache.cassandra.utils.FBUtilities;
 
 
 /**
@@ -37,14 +38,14 @@ public class StageManager
 
 public static final long KEEPALIVE = 60; // seconds to keep extra 
threads alive for when idle
 
-public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
Runtime.getRuntime().availableProcessors();
+public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
FBUtilities.getAvailableProcessors();
 
 static
 {
 stages.put(Stage.MUTATION, 
multiThreadedConfigurableStage(Stage.MUTATION, getConcurrentWriters()));
 stages.put(Stage.READ, multiThreadedConfigurableStage(Stage.READ, 
getConcurrentReaders()));
-stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
-stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
FBUtilities.getAvailableProcessors()));
+stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.REPLICATE_ON_WRITE, 
multiThreadedConfigurableStage(Stage.REPLICATE_ON_WRITE, 
getConcurrentReplicators(), MAX_REPLICATE_ON_WRITE_TASKS));
 // the rest are all single-threaded
 stages.put(Stage.STREAM, new 
JMXEnabledThreadPoolExecutor(Stage.STREAM));
@@ -52,7 +53,7 @@ public class StageManager
 stages.put(Stage.ANTI_ENTROPY, new 
JMXEnabledThreadPoolExecutor(Stage.ANTI_ENTROPY));
 stages.put(Stage.MIGRATION, new 
JMXEnabledThreadPoolExecutor(Stage.MIGRATION));
 stages.put(Stage.MISC, new JMXEnabledThreadPoolExecutor(Stage.MISC));
-stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
FBUtilities.getAvailableProcessors()));
 }
 
 private static ThreadPoolExecutor multiThreadedStage(Stage stage, int 
numThreads)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5abeecc8/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index f4e7955..3170ef7 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -21,6 +21,7 @@ package org.apache.cassandra.config;
  */
 
 import org.apache.cassandra.cache.SerializingCacheProvider;
+import org.apache.cassandra.utils.FBUtilities;
 
 
 public class Config
@@ -83,7 +84,7 @@ public class 

[8/12] git commit: Allow overriding available processors with -Dcassandra.available_processors Patch by brandonwilliams, reviewed by iamaleksey for CASSANDRA-4790

2012-12-05 Thread brandonwilliams
Allow overriding available processors with
-Dcassandra.available_processors
Patch by brandonwilliams, reviewed by iamaleksey for
CASSANDRA-4790


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

Branch: refs/heads/trunk
Commit: 2f3b5bfb2da968b408062d56b9d41ab420b95ba2
Parents: 99c8338
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 14:26:13 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 14:26:13 2012 -0600

--
 .../apache/cassandra/concurrent/StageManager.java  |9 +
 src/java/org/apache/cassandra/config/Config.java   |3 ++-
 .../cassandra/config/DatabaseDescriptor.java   |2 +-
 .../PeriodicCommitLogExecutorService.java  |3 ++-
 .../db/compaction/ParallelCompactionIterable.java  |2 +-
 .../cassandra/hadoop/ColumnFamilyRecordWriter.java |3 ++-
 .../apache/cassandra/io/sstable/SSTableReader.java |2 +-
 .../org/apache/cassandra/service/StorageProxy.java |2 +-
 .../apache/cassandra/thrift/CustomTHsHaServer.java |3 ++-
 .../org/apache/cassandra/utils/FBUtilities.java|8 
 10 files changed, 25 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f3b5bfb/src/java/org/apache/cassandra/concurrent/StageManager.java
--
diff --git a/src/java/org/apache/cassandra/concurrent/StageManager.java 
b/src/java/org/apache/cassandra/concurrent/StageManager.java
index 7ca45f4..287b19e 100644
--- a/src/java/org/apache/cassandra/concurrent/StageManager.java
+++ b/src/java/org/apache/cassandra/concurrent/StageManager.java
@@ -24,6 +24,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.net.MessagingService;
+import org.apache.cassandra.utils.FBUtilities;
 
 import static org.apache.cassandra.config.DatabaseDescriptor.*;
 
@@ -41,21 +42,21 @@ public class StageManager
 
 public static final long KEEPALIVE = 60; // seconds to keep extra 
threads alive for when idle
 
-public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
Runtime.getRuntime().availableProcessors();
+public static final int MAX_REPLICATE_ON_WRITE_TASKS = 1024 * 
FBUtilities.getAvailableProcessors();
 
 static
 {
 stages.put(Stage.MUTATION, 
multiThreadedConfigurableStage(Stage.MUTATION, getConcurrentWriters()));
 stages.put(Stage.READ, multiThreadedConfigurableStage(Stage.READ, 
getConcurrentReaders()));
-stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
-stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.REQUEST_RESPONSE, 
multiThreadedStage(Stage.REQUEST_RESPONSE, 
FBUtilities.getAvailableProcessors()));
+stages.put(Stage.INTERNAL_RESPONSE, 
multiThreadedStage(Stage.INTERNAL_RESPONSE, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.REPLICATE_ON_WRITE, 
multiThreadedConfigurableStage(Stage.REPLICATE_ON_WRITE, 
getConcurrentReplicators(), MAX_REPLICATE_ON_WRITE_TASKS));
 // the rest are all single-threaded
 stages.put(Stage.GOSSIP, new 
JMXEnabledThreadPoolExecutor(Stage.GOSSIP));
 stages.put(Stage.ANTI_ENTROPY, new 
JMXEnabledThreadPoolExecutor(Stage.ANTI_ENTROPY));
 stages.put(Stage.MIGRATION, new 
JMXEnabledThreadPoolExecutor(Stage.MIGRATION));
 stages.put(Stage.MISC, new JMXEnabledThreadPoolExecutor(Stage.MISC));
-stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
Runtime.getRuntime().availableProcessors()));
+stages.put(Stage.READ_REPAIR, multiThreadedStage(Stage.READ_REPAIR, 
FBUtilities.getAvailableProcessors()));
 stages.put(Stage.TRACING, tracingExecutor());
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f3b5bfb/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index fa8f273..492bb7a 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -20,6 +20,7 @@ package org.apache.cassandra.config;
 import org.apache.cassandra.cache.SerializingCacheProvider;
 import org.apache.cassandra.config.EncryptionOptions.ClientEncryptionOptions;
 import org.apache.cassandra.config.EncryptionOptions.ServerEncryptionOptions;
+import 

[10/12] git commit: r/m unused SSLTransportFactory.java (CustomTThreadPoolServer uses TSSLTransportFactory directly)

2012-12-05 Thread brandonwilliams
r/m unused SSLTransportFactory.java (CustomTThreadPoolServer uses 
TSSLTransportFactory directly)


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

Branch: refs/heads/trunk
Commit: 6e61c4cddd51e1a1bae33239e50dc603f3b12010
Parents: f65e520
Author: Jonathan Ellis jbel...@apache.org
Authored: Wed Dec 5 13:29:04 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Wed Dec 5 13:29:23 2012 -0600

--
 .../cli/transport/FramedTransportFactory.java  |1 -
 .../cassandra/stress/SSLTransportFactory.java  |   45 ---
 2 files changed, 0 insertions(+), 46 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6e61c4cd/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
--
diff --git 
a/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java 
b/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
index 653d45f..dc7ef81 100644
--- a/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
+++ b/src/java/org/apache/cassandra/cli/transport/FramedTransportFactory.java
@@ -23,7 +23,6 @@ import org.apache.thrift.transport.TTransportFactory;
 
 public class FramedTransportFactory extends TTransportFactory
 {
-
 public static final int DEFAULT_MAX_FRAME_SIZE = 15 * 1024 * 1024; // 15 
MiB
 
 public TTransport getTransport(TTransport base)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6e61c4cd/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java
--
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java 
b/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java
deleted file mode 100644
index 8fd4006..000
--- a/tools/stress/src/org/apache/cassandra/stress/SSLTransportFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * License); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.cassandra.stress;
-
-import org.apache.cassandra.cli.transport.FramedTransportFactory;
-import org.apache.thrift.transport.TSSLTransportFactory;
-import 
org.apache.thrift.transport.TSSLTransportFactory.TSSLTransportParameters;
-import org.apache.thrift.transport.TTransport;
-import org.apache.thrift.transport.TTransportException;
-import org.apache.thrift.transport.TTransportFactory;
-
-public class SSLTransportFactory extends TTransportFactory
-{
-public TTransport getTransport(TTransport trans)
-{
-final Session session = Stress.session;
-try
-{
-String hostName = 
session.nodes[Stress.randomizer.nextInt(session.nodes.length)];
-TSSLTransportParameters params = new 
TSSLTransportParameters(session.encOptions.protocol, 
session.encOptions.cipher_suites);
-params.setTrustStore(session.encOptions.truststore, 
session.encOptions.truststore_password);
-trans = TSSLTransportFactory.getClientSocket(hostName, 
session.port, 0, params);
-return new FramedTransportFactory().getTransport(trans);
-}
-catch (TTransportException e)
-{
-throw new RuntimeException(Failed to create a client SSL 
connection., e);
-}
-}
-}



[jira] [Updated] (CASSANDRA-4790) Allow property override of available processors value

2012-12-05 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-4790:


Fix Version/s: 1.2.0 rc1

 Allow property override of available processors value
 -

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

 Attachments: 4790.txt


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

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


[jira] [Updated] (CASSANDRA-5032) Downed node loses its host-id

2012-12-05 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5032:


Fix Version/s: 1.2.0 rc1

 Downed node loses its host-id
 -

 Key: CASSANDRA-5032
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5032
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
Assignee: Brandon Williams
  Labels: vnodes
 Fix For: 1.2.0 rc1


 We took down one of our nodes for maintenance and during that time it seems 
 the other nodes have lost the downed nodes node id
 We also see lots of hint assertion exceptions Missing host ID for 10.6.27.98
 {code}
 Status=Up/Down
 |/ State=Normal/Leaving/Joining/Moving
 --  Address   Load   Tokens  Owns (effective)  Host ID
Rack
 UN  10.6.27.96129.37 GB  256 140.0%
 59f3df94-e551-45ce-a3b0-51462f3ea868  27
 UN  10.6.27.97125.24 GB  256 133.7%
 f5bb146c-db51-475c-a44f-9facf2f1ad6e  27
 DN  10.6.27.98?  256 126.3%null   
27
 {code}
 We restarted c* on the two other nodes that are up, my guess is the host id 
 was lost on restart of those.

--
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-5033) Keep intransit mutation tracking off heap

2012-12-05 Thread T Jake Luciani (JIRA)
T Jake Luciani created CASSANDRA-5033:
-

 Summary: Keep intransit mutation tracking off heap
 Key: CASSANDRA-5033
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5033
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Affects Versions: 1.1.0
Reporter: T Jake Luciani


When a node is down and writes are timing out to that node the coordinator 
keeps the mutation in memory and writes out the hint on timeout.  

The problem is under heavy write load these mutations pile up quite a bit (when 
CL is low).  It causes a lot of heap pressure and causes a lot of problems 
(which shouldn't happen just because a node is down)

If we serialized the mutation and put it in a off heap cache vs on head we 
could avoid this problem.

--
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-5025) Schema push/pull race

2012-12-05 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-5025:


[~cherro] I don't think that we every want to make such a frequent schema 
changes, it's not considered a good practice for a number of reasons, unless 
you are trying to do something like temp-tables which has it's own 
implications... Agree on [~jbellis] that it doesn't seem like a good idea to 
re-invent HH for schema until we have a good reason to do so.

 Schema push/pull race
 -

 Key: CASSANDRA-5025
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5025
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.0
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 1.1.8

 Attachments: 5025.txt


 When a schema change is made, the coordinator pushes the delta to the other 
 nodes in the cluster.  This is more efficient than sending the entire schema. 
  But the coordinator also announces the new schema version, so the other 
 nodes' reception of the new version races with processing the delta, and 
 usually seeing the new schema wins.  So the other nodes also issue a pull to 
 the coordinator for the entire schema.
 Thus, schema changes tend to become O(n) in the number of KS and CF present.

--
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-4966) Bug in cassandra-cli parser

2012-12-05 Thread Kirk True (JIRA)

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

Kirk True reassigned CASSANDRA-4966:


Assignee: Kirk True

 Bug in cassandra-cli parser
 ---

 Key: CASSANDRA-4966
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4966
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 1.1.6
Reporter: Jeremiah Jordan
Assignee: Kirk True
Priority: Trivial

 describe clusterenter
 ;enter
 Doesn't work:
 [default@unknown] describe cluster
 ...   ;
 Syntax error at position 17: mismatched character ';' expecting 'N'

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


[jira] [Commented] (CASSANDRA-5000) Null pointer exception in SecondaryIndexManager.getIndexKeyFor in Cassandra 1.1.x

2012-12-05 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-5000:
---

[~tooda01] is sIntSer in your docx sample Int32Type? Comparator is defined 
as CompositeType(IntegerType, UTF8Type, UUIDType), so it can be type 
mismatch. This has been working in cassanandra 1.0.x *unintentionally*, but I 
consider it is bug in that version.

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

 Key: CASSANDRA-5000
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5000
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.0
 Environment: Linux (exact environment doesn't appear to be relevant; 
 reproduced on RedHat and Centos)
Reporter: David Tootill
Assignee: Yuki Morishita
 Fix For: 1.1.8

 Attachments: CassandraDefect5000-1.0-SNAPSHOT-1.tar.gz, 
 CassandraDefect5000-1.0-SNAPSHOT-2.tar.gz, Cassandra Defect 5000 Reproduction 
 and Background.docx, stdlog.txt, system.log


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

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


[jira] [Updated] (CASSANDRA-5032) Downed node loses its host-id

2012-12-05 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5032:


Attachment: 0002-Load-host_ids-when-adding-saved-endpoints.txt
0001-rename-ring_id-to-host_id-for-clarity.txt

First patch renames 'ring_id' in peers to 'host_id' because that's what we call 
it everywhere else including nodetool, so we should be consistent.

Second patch updates the hostid in TMD when it updates the tokens.

 Downed node loses its host-id
 -

 Key: CASSANDRA-5032
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5032
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
Assignee: Brandon Williams
  Labels: vnodes
 Fix For: 1.2.0 rc1

 Attachments: 0001-rename-ring_id-to-host_id-for-clarity.txt, 
 0002-Load-host_ids-when-adding-saved-endpoints.txt


 We took down one of our nodes for maintenance and during that time it seems 
 the other nodes have lost the downed nodes node id
 We also see lots of hint assertion exceptions Missing host ID for 10.6.27.98
 {code}
 Status=Up/Down
 |/ State=Normal/Leaving/Joining/Moving
 --  Address   Load   Tokens  Owns (effective)  Host ID
Rack
 UN  10.6.27.96129.37 GB  256 140.0%
 59f3df94-e551-45ce-a3b0-51462f3ea868  27
 UN  10.6.27.97125.24 GB  256 133.7%
 f5bb146c-db51-475c-a44f-9facf2f1ad6e  27
 DN  10.6.27.98?  256 126.3%null   
27
 {code}
 We restarted c* on the two other nodes that are up, my guess is the host id 
 was lost on restart of those.

--
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-4966) Bug in cassandra-cli parser

2012-12-05 Thread Kirk True (JIRA)

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

Kirk True reassigned CASSANDRA-4966:


Assignee: (was: Kirk True)

 Bug in cassandra-cli parser
 ---

 Key: CASSANDRA-4966
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4966
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 1.1.6
Reporter: Jeremiah Jordan
Priority: Trivial

 describe clusterenter
 ;enter
 Doesn't work:
 [default@unknown] describe cluster
 ...   ;
 Syntax error at position 17: mismatched character ';' expecting 'N'

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


[jira] [Commented] (CASSANDRA-5000) Null pointer exception in SecondaryIndexManager.getIndexKeyFor in Cassandra 1.1.x

2012-12-05 Thread David Tootill (JIRA)

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

David Tootill commented on CASSANDRA-5000:
--

sIntSer is a SerializerInteger.  Here are the declarations of all class-level 
variables:

private static boolean sCassandraActive;
private static String sClusterName = null;
private static String sCbmColumnFamily = null;
private static boolean sCreateKeyspace = false;
private static String sHostIp = null;
private static String sContextsColumnFamily = null;
private static String sKeyspaceName = null;
private static String sMetricAnalysisColumnFamily = null;
private static String sSecondaryEventsColumnFamily = null;
private static String sTenantContextName = null;
private static final ConcurrentSkipListSetString sSecondaryIndexes = new 
ConcurrentSkipListSet();
private static final AtomicReferenceKeyspace sKeyspace = new 
AtomicReference();
private static Cluster sCluster = null;
private static ColumnFamilyDefinition sCbmFamilyDefinition;
private static final SerializerString sStringSer = new StringSerializer();
private static final SerializerInteger sIntSer = new IntegerSerializer();
private static final SerializerComposite sCompositeSer = new 
CompositeSerializer();
private static final SerializerUUID sUuidSer = new UUIDSerializer();
private static final ConfigurableConsistencyLevel sConfigurableConsistencyLevel 
= new ConfigurableConsistencyLevel();
public static final String kContextCountColumn = contextCount;
public static final String kTenantColumn = Tenant_Context;
public final static String kCbmSerializedMetricColumnName = cbm;
public static final StringIdentifier kMetricNameContext = new 
StringIdentifier(nm);
private static final Logger sLogger = Logger.getLogger(CassandraSetup.class);

I am compiling and testing on 64-bit machines, using 64-bit Java 7.  Are you 
able to reproduce the problem?  Are there client changes you would like me to 
try?

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

 Key: CASSANDRA-5000
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5000
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.0
 Environment: Linux (exact environment doesn't appear to be relevant; 
 reproduced on RedHat and Centos)
Reporter: David Tootill
Assignee: Yuki Morishita
 Fix For: 1.1.8

 Attachments: CassandraDefect5000-1.0-SNAPSHOT-1.tar.gz, 
 CassandraDefect5000-1.0-SNAPSHOT-2.tar.gz, Cassandra Defect 5000 Reproduction 
 and Background.docx, stdlog.txt, system.log


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

--
This message is automatically generated by JIRA.
If you 

[jira] [Commented] (CASSANDRA-5032) Downed node loses its host-id

2012-12-05 Thread T Jake Luciani (JIRA)

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

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

Looks straight fwd. I can test but this looks like I'll need to recreate the 
cluster/system table?

 Downed node loses its host-id
 -

 Key: CASSANDRA-5032
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5032
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
Assignee: Brandon Williams
  Labels: vnodes
 Fix For: 1.2.0 rc1

 Attachments: 0001-rename-ring_id-to-host_id-for-clarity.txt, 
 0002-Load-host_ids-when-adding-saved-endpoints.txt


 We took down one of our nodes for maintenance and during that time it seems 
 the other nodes have lost the downed nodes node id
 We also see lots of hint assertion exceptions Missing host ID for 10.6.27.98
 {code}
 Status=Up/Down
 |/ State=Normal/Leaving/Joining/Moving
 --  Address   Load   Tokens  Owns (effective)  Host ID
Rack
 UN  10.6.27.96129.37 GB  256 140.0%
 59f3df94-e551-45ce-a3b0-51462f3ea868  27
 UN  10.6.27.97125.24 GB  256 133.7%
 f5bb146c-db51-475c-a44f-9facf2f1ad6e  27
 DN  10.6.27.98?  256 126.3%null   
27
 {code}
 We restarted c* on the two other nodes that are up, my guess is the host id 
 was lost on restart of those.

--
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-5032) Downed node loses its host-id

2012-12-05 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-5032:
-

I tested it and it works, but yeah, you'll have to wipe out the system table, 
or I think starting once with -Dcassandra.load_ring=false will work.

 Downed node loses its host-id
 -

 Key: CASSANDRA-5032
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5032
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0 beta 3
Reporter: T Jake Luciani
Assignee: Brandon Williams
  Labels: vnodes
 Fix For: 1.2.0 rc1

 Attachments: 0001-rename-ring_id-to-host_id-for-clarity.txt, 
 0002-Load-host_ids-when-adding-saved-endpoints.txt


 We took down one of our nodes for maintenance and during that time it seems 
 the other nodes have lost the downed nodes node id
 We also see lots of hint assertion exceptions Missing host ID for 10.6.27.98
 {code}
 Status=Up/Down
 |/ State=Normal/Leaving/Joining/Moving
 --  Address   Load   Tokens  Owns (effective)  Host ID
Rack
 UN  10.6.27.96129.37 GB  256 140.0%
 59f3df94-e551-45ce-a3b0-51462f3ea868  27
 UN  10.6.27.97125.24 GB  256 133.7%
 f5bb146c-db51-475c-a44f-9facf2f1ad6e  27
 DN  10.6.27.98?  256 126.3%null   
27
 {code}
 We restarted c* on the two other nodes that are up, my guess is the host id 
 was lost on restart of those.

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


git commit: Fix merge wonkiness.

2012-12-05 Thread brandonwilliams
Updated Branches:
  refs/heads/trunk 94e37b4e4 - 989dd44c0


Fix merge wonkiness.


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

Branch: refs/heads/trunk
Commit: 989dd44c078bcfd4a1fbe825b104e3b9bce1435c
Parents: 94e37b4
Author: Brandon Williams brandonwilli...@apache.org
Authored: Wed Dec 5 21:26:15 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Wed Dec 5 21:26:15 2012 -0600

--
 src/java/org/apache/cassandra/config/Config.java   |1 -
 .../apache/cassandra/thrift/CassandraDaemon.java   |  223 ---
 2 files changed, 0 insertions(+), 224 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/989dd44c/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index 609633c..4dd1dff 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -106,7 +106,6 @@ public class Config
 public Integer in_memory_compaction_limit_in_mb = 64;
 public Integer concurrent_compactors = 
FBUtilities.getAvailableProcessors();
 public volatile Integer compaction_throughput_mb_per_sec = 16;
-public Integer compaction_throughput_mb_per_sec = 16;
 public Boolean multithreaded_compaction = false;
 
 public Integer max_streaming_retries = 3;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/989dd44c/src/java/org/apache/cassandra/thrift/CassandraDaemon.java
--
diff --git a/src/java/org/apache/cassandra/thrift/CassandraDaemon.java 
b/src/java/org/apache/cassandra/thrift/CassandraDaemon.java
deleted file mode 100644
index 572e3e0..000
--- a/src/java/org/apache/cassandra/thrift/CassandraDaemon.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * License); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.cassandra.thrift;
-
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.SynchronousQueue;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.cassandra.service.AbstractCassandraDaemon;
-import org.apache.cassandra.utils.FBUtilities;
-import org.apache.thrift.server.TNonblockingServer;
-import org.apache.thrift.server.TThreadPoolServer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor;
-import org.apache.cassandra.concurrent.NamedThreadFactory;
-import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.thrift.protocol.TProtocolFactory;
-import org.apache.thrift.server.TServer;
-import org.apache.thrift.transport.TFramedTransport;
-import org.apache.thrift.transport.TNonblockingServerTransport;
-import org.apache.thrift.transport.TServerTransport;
-import org.apache.thrift.transport.TTransportException;
-import org.apache.thrift.transport.TTransportFactory;
-
-/**
- * This class supports two methods for creating a Cassandra node daemon,
- * invoking the class's main method, and using the jsvc wrapper from
- * commons-daemon, (for more information on using this class with the
- * jsvc wrapper, see the
- * a href=http://commons.apache.org/daemon/jsvc.html;Commons Daemon/a
- * documentation).
- */
-
-public class CassandraDaemon extends 
org.apache.cassandra.service.AbstractCassandraDaemon
-{
-protected static CassandraDaemon instance;
-
-static
-{
-AbstractCassandraDaemon.initLog4j();
-}
-
-private static Logger logger = 
LoggerFactory.getLogger(CassandraDaemon.class);
-private final static String SYNC = sync;
-private final static String ASYNC = async;
-

buildbot success in ASF Buildbot on cassandra-trunk

2012-12-05 Thread buildbot
The Buildbot has detected a restored build on builder cassandra-trunk while 
building cassandra.
Full details are available at:
 http://ci.apache.org/builders/cassandra-trunk/builds/2158

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: portunus_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch trunk] 989dd44c078bcfd4a1fbe825b104e3b9bce1435c
Blamelist: Brandon Williams brandonwilli...@apache.org

Build succeeded!

sincerely,
 -The Buildbot





[jira] [Updated] (CASSANDRA-5008) show schema command in cassandra-cli generates wrong index_options values.

2012-12-05 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-5008:
--

 Reviewer: brandon.williams
 Priority: Minor  (was: Major)
Fix Version/s: 1.1.8
 Assignee: Yuki Morishita

 show schema command in cassandra-cli generates wrong index_options values.
 --

 Key: CASSANDRA-5008
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5008
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.6
 Environment: ubuntu 12.04
Reporter: Thierry Boileau
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 1.1.8


 Using cassandra-cli, launch the show schema command and save the output to 
 a file.
 Try to import it in order to recreate the schema, it fails with error message 
 :
 Syntax error at position 626: no viable alternative at input '}'

--
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-5013) disallow bloom filter false positive chance of 0

2012-12-05 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-5013:
--

  Component/s: Config
Fix Version/s: 1.1.8
 Assignee: Brandon Williams

 disallow bloom filter false positive chance of 0
 

 Key: CASSANDRA-5013
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5013
 Project: Cassandra
  Issue Type: Bug
  Components: Config
Reporter: Matthew F. Dennis
Assignee: Brandon Williams
Priority: Minor
 Fix For: 1.1.8


 {pre}
 ERROR [CompactionExecutor:16] 2012-11-30 08:44:32,546 SSTableWriter.java 
 (line 414) Bloom filter FP chance of zero isn't supposed to happen
 {pre}
 when attempting to set it to zero, C* should either disallow the change or 
 should just interpret 0 as make it the default and not continually log the 
 above error message

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


git commit: Fix preparing updates with CQL3 and collections

2012-12-05 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2.0 a41b7806a - a90b310e6


Fix preparing updates with CQL3 and collections


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

Branch: refs/heads/cassandra-1.2.0
Commit: a90b310e61495d4d782c25a8debb44798cc00b79
Parents: a41b780
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Tue Dec 4 13:30:48 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Dec 6 08:40:56 2012 +0100

--
 CHANGES.txt|1 +
 src/java/org/apache/cassandra/cql3/Cql.g   |9 +-
 .../cassandra/cql3/operations/ColumnOperation.java |7 ++
 .../cassandra/cql3/operations/ListOperation.java   |   61 ++-
 .../cassandra/cql3/operations/MapOperation.java|   29 +++
 .../cassandra/cql3/operations/Operation.java   |3 +
 .../cql3/operations/PreparedOperation.java |6 ++
 .../cassandra/cql3/operations/SetOperation.java|8 ++
 .../cassandra/cql3/statements/BatchStatement.java  |2 +-
 .../cassandra/cql3/statements/DeleteStatement.java |   23 +-
 .../cql3/statements/ModificationStatement.java |2 +-
 .../cassandra/cql3/statements/UpdateStatement.java |   14 +--
 12 files changed, 143 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 14fe46e..6a3187d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,7 @@
  * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
  * Fix preparing insert queries (CASSANDRA-5016)
  * Fix preparing queries with counter increment (CASSANDRA-5022)
+ * Fix preparing updates with collections (CASSANDRA-5017)
 
 
 1.2-beta3

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/src/java/org/apache/cassandra/cql3/Cql.g
--
diff --git a/src/java/org/apache/cassandra/cql3/Cql.g 
b/src/java/org/apache/cassandra/cql3/Cql.g
index 493411b..acd30cc 100644
--- a/src/java/org/apache/cassandra/cql3/Cql.g
+++ b/src/java/org/apache/cassandra/cql3/Cql.g
@@ -644,11 +644,10 @@ termPairWithOperation[ListPairColumnIdentifier, 
Operation columns]
 )
 | key=cident '[' t=term ']' '=' vv=term
   {
-  Operation setOp = (t.getType() == Term.Type.INTEGER)
- ? ListOperation.SetIndex(Arrays.asList(t, vv))
- : MapOperation.Put(t, vv);
-
-  columns.add(Pair.ColumnIdentifier, Operationcreate(key, setOp));
+  // This is ambiguous, this can either set a list by index, or be a 
map put.
+  // So we always return a list setIndex and we'll check later and
+  // backtrack to a map operation if need be.
+  columns.add(Pair.ColumnIdentifier, Operationcreate(key, 
ListOperation.SetIndex(Arrays.asList(t, vv;
   }
 ;
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
--
diff --git a/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java 
b/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
index bfdec8c..224829f 100644
--- a/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
+++ b/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
@@ -112,11 +112,18 @@ public class ColumnOperation implements Operation
 cf.addCounter(new QueryPath(cf.metadata().cfName, null, 
builder.build()), val);
 }
 
+public void addBoundNames(ColumnSpecification column, 
ColumnSpecification[] boundNames) throws InvalidRequestException
+{
+if (value.isBindMarker())
+boundNames[value.bindIndex] = column;
+}
+
 public ListTerm getValues()
 {
 return Collections.singletonList(value);
 }
 
+
 public boolean requiresRead(AbstractType? validator)
 {
 return false;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
--
diff --git a/src/java/org/apache/cassandra/cql3/operations/ListOperation.java 
b/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
index 25c616d..1e09195 100644
--- a/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
+++ b/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
@@ -24,14 +24,18 @@ import 

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

2012-12-05 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 5c9572e75 - 4154434cf


Merge branch 'cassandra-1.2.0' into cassandra-1.2


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

Branch: refs/heads/cassandra-1.2
Commit: 4154434cfb5522a988684418afc28d9fafe43db0
Parents: 5c9572e a90b310
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Dec 6 08:41:28 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Dec 6 08:41:28 2012 +0100

--
 CHANGES.txt|1 +
 src/java/org/apache/cassandra/cql3/Cql.g   |9 +-
 .../cassandra/cql3/operations/ColumnOperation.java |7 ++
 .../cassandra/cql3/operations/ListOperation.java   |   61 ++-
 .../cassandra/cql3/operations/MapOperation.java|   29 +++
 .../cassandra/cql3/operations/Operation.java   |3 +
 .../cql3/operations/PreparedOperation.java |6 ++
 .../cassandra/cql3/operations/SetOperation.java|8 ++
 .../cassandra/cql3/statements/BatchStatement.java  |2 +-
 .../cassandra/cql3/statements/DeleteStatement.java |   23 +-
 .../cql3/statements/ModificationStatement.java |2 +-
 .../cassandra/cql3/statements/UpdateStatement.java |   14 +--
 12 files changed, 143 insertions(+), 22 deletions(-)
--


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



[2/2] git commit: Fix preparing updates with CQL3 and collections

2012-12-05 Thread slebresne
Fix preparing updates with CQL3 and collections


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

Branch: refs/heads/cassandra-1.2
Commit: a90b310e61495d4d782c25a8debb44798cc00b79
Parents: a41b780
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Tue Dec 4 13:30:48 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Dec 6 08:40:56 2012 +0100

--
 CHANGES.txt|1 +
 src/java/org/apache/cassandra/cql3/Cql.g   |9 +-
 .../cassandra/cql3/operations/ColumnOperation.java |7 ++
 .../cassandra/cql3/operations/ListOperation.java   |   61 ++-
 .../cassandra/cql3/operations/MapOperation.java|   29 +++
 .../cassandra/cql3/operations/Operation.java   |3 +
 .../cql3/operations/PreparedOperation.java |6 ++
 .../cassandra/cql3/operations/SetOperation.java|8 ++
 .../cassandra/cql3/statements/BatchStatement.java  |2 +-
 .../cassandra/cql3/statements/DeleteStatement.java |   23 +-
 .../cql3/statements/ModificationStatement.java |2 +-
 .../cassandra/cql3/statements/UpdateStatement.java |   14 +--
 12 files changed, 143 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 14fe46e..6a3187d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,7 @@
  * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
  * Fix preparing insert queries (CASSANDRA-5016)
  * Fix preparing queries with counter increment (CASSANDRA-5022)
+ * Fix preparing updates with collections (CASSANDRA-5017)
 
 
 1.2-beta3

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/src/java/org/apache/cassandra/cql3/Cql.g
--
diff --git a/src/java/org/apache/cassandra/cql3/Cql.g 
b/src/java/org/apache/cassandra/cql3/Cql.g
index 493411b..acd30cc 100644
--- a/src/java/org/apache/cassandra/cql3/Cql.g
+++ b/src/java/org/apache/cassandra/cql3/Cql.g
@@ -644,11 +644,10 @@ termPairWithOperation[ListPairColumnIdentifier, 
Operation columns]
 )
 | key=cident '[' t=term ']' '=' vv=term
   {
-  Operation setOp = (t.getType() == Term.Type.INTEGER)
- ? ListOperation.SetIndex(Arrays.asList(t, vv))
- : MapOperation.Put(t, vv);
-
-  columns.add(Pair.ColumnIdentifier, Operationcreate(key, setOp));
+  // This is ambiguous, this can either set a list by index, or be a 
map put.
+  // So we always return a list setIndex and we'll check later and
+  // backtrack to a map operation if need be.
+  columns.add(Pair.ColumnIdentifier, Operationcreate(key, 
ListOperation.SetIndex(Arrays.asList(t, vv;
   }
 ;
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
--
diff --git a/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java 
b/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
index bfdec8c..224829f 100644
--- a/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
+++ b/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
@@ -112,11 +112,18 @@ public class ColumnOperation implements Operation
 cf.addCounter(new QueryPath(cf.metadata().cfName, null, 
builder.build()), val);
 }
 
+public void addBoundNames(ColumnSpecification column, 
ColumnSpecification[] boundNames) throws InvalidRequestException
+{
+if (value.isBindMarker())
+boundNames[value.bindIndex] = column;
+}
+
 public ListTerm getValues()
 {
 return Collections.singletonList(value);
 }
 
+
 public boolean requiresRead(AbstractType? validator)
 {
 return false;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
--
diff --git a/src/java/org/apache/cassandra/cql3/operations/ListOperation.java 
b/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
index 25c616d..1e09195 100644
--- a/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
+++ b/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
@@ -24,14 +24,18 @@ import java.util.List;
 import java.util.Set;
 import 

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

2012-12-05 Thread slebresne
Updated Branches:
  refs/heads/trunk 989dd44c0 - 7fdd4ccbd


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 7fdd4ccbdcc0ca22a93eab7e8e8a993093ba1024
Parents: 989dd44 4154434
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Dec 6 08:41:44 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Dec 6 08:41:44 2012 +0100

--
 CHANGES.txt|1 +
 src/java/org/apache/cassandra/cql3/Cql.g   |9 +-
 .../cassandra/cql3/operations/ColumnOperation.java |7 ++
 .../cassandra/cql3/operations/ListOperation.java   |   61 ++-
 .../cassandra/cql3/operations/MapOperation.java|   29 +++
 .../cassandra/cql3/operations/Operation.java   |3 +
 .../cql3/operations/PreparedOperation.java |6 ++
 .../cassandra/cql3/operations/SetOperation.java|8 ++
 .../cassandra/cql3/statements/BatchStatement.java  |2 +-
 .../cassandra/cql3/statements/DeleteStatement.java |   23 +-
 .../cql3/statements/ModificationStatement.java |2 +-
 .../cassandra/cql3/statements/UpdateStatement.java |   14 +--
 12 files changed, 143 insertions(+), 22 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7fdd4ccb/src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7fdd4ccb/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
--



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

2012-12-05 Thread slebresne
Merge branch 'cassandra-1.2.0' into cassandra-1.2


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

Branch: refs/heads/trunk
Commit: 4154434cfb5522a988684418afc28d9fafe43db0
Parents: 5c9572e a90b310
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Dec 6 08:41:28 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Dec 6 08:41:28 2012 +0100

--
 CHANGES.txt|1 +
 src/java/org/apache/cassandra/cql3/Cql.g   |9 +-
 .../cassandra/cql3/operations/ColumnOperation.java |7 ++
 .../cassandra/cql3/operations/ListOperation.java   |   61 ++-
 .../cassandra/cql3/operations/MapOperation.java|   29 +++
 .../cassandra/cql3/operations/Operation.java   |3 +
 .../cql3/operations/PreparedOperation.java |6 ++
 .../cassandra/cql3/operations/SetOperation.java|8 ++
 .../cassandra/cql3/statements/BatchStatement.java  |2 +-
 .../cassandra/cql3/statements/DeleteStatement.java |   23 +-
 .../cql3/statements/ModificationStatement.java |2 +-
 .../cassandra/cql3/statements/UpdateStatement.java |   14 +--
 12 files changed, 143 insertions(+), 22 deletions(-)
--


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



[3/3] git commit: Fix preparing updates with CQL3 and collections

2012-12-05 Thread slebresne
Fix preparing updates with CQL3 and collections


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

Branch: refs/heads/trunk
Commit: a90b310e61495d4d782c25a8debb44798cc00b79
Parents: a41b780
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Tue Dec 4 13:30:48 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Dec 6 08:40:56 2012 +0100

--
 CHANGES.txt|1 +
 src/java/org/apache/cassandra/cql3/Cql.g   |9 +-
 .../cassandra/cql3/operations/ColumnOperation.java |7 ++
 .../cassandra/cql3/operations/ListOperation.java   |   61 ++-
 .../cassandra/cql3/operations/MapOperation.java|   29 +++
 .../cassandra/cql3/operations/Operation.java   |3 +
 .../cql3/operations/PreparedOperation.java |6 ++
 .../cassandra/cql3/operations/SetOperation.java|8 ++
 .../cassandra/cql3/statements/BatchStatement.java  |2 +-
 .../cassandra/cql3/statements/DeleteStatement.java |   23 +-
 .../cql3/statements/ModificationStatement.java |2 +-
 .../cassandra/cql3/statements/UpdateStatement.java |   14 +--
 12 files changed, 143 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 14fe46e..6a3187d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,7 @@
  * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
  * Fix preparing insert queries (CASSANDRA-5016)
  * Fix preparing queries with counter increment (CASSANDRA-5022)
+ * Fix preparing updates with collections (CASSANDRA-5017)
 
 
 1.2-beta3

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/src/java/org/apache/cassandra/cql3/Cql.g
--
diff --git a/src/java/org/apache/cassandra/cql3/Cql.g 
b/src/java/org/apache/cassandra/cql3/Cql.g
index 493411b..acd30cc 100644
--- a/src/java/org/apache/cassandra/cql3/Cql.g
+++ b/src/java/org/apache/cassandra/cql3/Cql.g
@@ -644,11 +644,10 @@ termPairWithOperation[ListPairColumnIdentifier, 
Operation columns]
 )
 | key=cident '[' t=term ']' '=' vv=term
   {
-  Operation setOp = (t.getType() == Term.Type.INTEGER)
- ? ListOperation.SetIndex(Arrays.asList(t, vv))
- : MapOperation.Put(t, vv);
-
-  columns.add(Pair.ColumnIdentifier, Operationcreate(key, setOp));
+  // This is ambiguous, this can either set a list by index, or be a 
map put.
+  // So we always return a list setIndex and we'll check later and
+  // backtrack to a map operation if need be.
+  columns.add(Pair.ColumnIdentifier, Operationcreate(key, 
ListOperation.SetIndex(Arrays.asList(t, vv;
   }
 ;
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
--
diff --git a/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java 
b/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
index bfdec8c..224829f 100644
--- a/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
+++ b/src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
@@ -112,11 +112,18 @@ public class ColumnOperation implements Operation
 cf.addCounter(new QueryPath(cf.metadata().cfName, null, 
builder.build()), val);
 }
 
+public void addBoundNames(ColumnSpecification column, 
ColumnSpecification[] boundNames) throws InvalidRequestException
+{
+if (value.isBindMarker())
+boundNames[value.bindIndex] = column;
+}
+
 public ListTerm getValues()
 {
 return Collections.singletonList(value);
 }
 
+
 public boolean requiresRead(AbstractType? validator)
 {
 return false;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a90b310e/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
--
diff --git a/src/java/org/apache/cassandra/cql3/operations/ListOperation.java 
b/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
index 25c616d..1e09195 100644
--- a/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
+++ b/src/java/org/apache/cassandra/cql3/operations/ListOperation.java
@@ -24,14 +24,18 @@ import java.util.List;
 import java.util.Set;
 import