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

2014-08-01 Thread dbrosius
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: a4e8e1656536fdf8121b3affa0af3195d98db4f5
Parents: 35047a8 63d1d29
Author: Dave Brosius 
Authored: Sat Aug 2 01:45:56 2014 -0400
Committer: Dave Brosius 
Committed: Sat Aug 2 01:45:56 2014 -0400

--
 src/java/org/apache/cassandra/streaming/StreamCoordinator.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--




[1/3] git commit: make StreamSessionConnector a static inner class

2014-08-01 Thread dbrosius
Repository: cassandra
Updated Branches:
  refs/heads/trunk 35047a8f6 -> a4e8e1656


make StreamSessionConnector a static inner class


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

Branch: refs/heads/trunk
Commit: 85b74382782767b82cf9b5393770cdf93dd0645d
Parents: 41a85af
Author: Dave Brosius 
Authored: Sat Aug 2 01:17:50 2014 -0400
Committer: Dave Brosius 
Committed: Sat Aug 2 01:17:50 2014 -0400

--
 src/java/org/apache/cassandra/streaming/StreamCoordinator.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/85b74382/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
--
diff --git a/src/java/org/apache/cassandra/streaming/StreamCoordinator.java 
b/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
index 4a6b193..14dad29 100644
--- a/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
+++ b/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
@@ -183,7 +183,7 @@ public class StreamCoordinator
 return data;
 }
 
-private class StreamSessionConnector implements Runnable
+private static class StreamSessionConnector implements Runnable
 {
 private final StreamSession session;
 public StreamSessionConnector(StreamSession session)
@@ -191,6 +191,7 @@ public class StreamCoordinator
 this.session = session;
 }
 
+@Override
 public void run()
 {
 session.start();



[1/2] git commit: make StreamSessionConnector a static inner class

2014-08-01 Thread dbrosius
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 d33e29acc -> 63d1d2968


make StreamSessionConnector a static inner class


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

Branch: refs/heads/cassandra-2.1
Commit: 85b74382782767b82cf9b5393770cdf93dd0645d
Parents: 41a85af
Author: Dave Brosius 
Authored: Sat Aug 2 01:17:50 2014 -0400
Committer: Dave Brosius 
Committed: Sat Aug 2 01:17:50 2014 -0400

--
 src/java/org/apache/cassandra/streaming/StreamCoordinator.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/85b74382/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
--
diff --git a/src/java/org/apache/cassandra/streaming/StreamCoordinator.java 
b/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
index 4a6b193..14dad29 100644
--- a/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
+++ b/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
@@ -183,7 +183,7 @@ public class StreamCoordinator
 return data;
 }
 
-private class StreamSessionConnector implements Runnable
+private static class StreamSessionConnector implements Runnable
 {
 private final StreamSession session;
 public StreamSessionConnector(StreamSession session)
@@ -191,6 +191,7 @@ public class StreamCoordinator
 this.session = session;
 }
 
+@Override
 public void run()
 {
 session.start();



[2/3] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-08-01 Thread dbrosius
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: 63d1d2968c59100f5a458b64ef884d4b675557f6
Parents: d33e29a 85b7438
Author: Dave Brosius 
Authored: Sat Aug 2 01:45:18 2014 -0400
Committer: Dave Brosius 
Committed: Sat Aug 2 01:45:18 2014 -0400

--
 src/java/org/apache/cassandra/streaming/StreamCoordinator.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--




[2/2] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-08-01 Thread dbrosius
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: 63d1d2968c59100f5a458b64ef884d4b675557f6
Parents: d33e29a 85b7438
Author: Dave Brosius 
Authored: Sat Aug 2 01:45:18 2014 -0400
Committer: Dave Brosius 
Committed: Sat Aug 2 01:45:18 2014 -0400

--
 src/java/org/apache/cassandra/streaming/StreamCoordinator.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--




git commit: make StreamSessionConnector a static inner class

2014-08-01 Thread dbrosius
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1.0 41a85afe6 -> 85b743827


make StreamSessionConnector a static inner class


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

Branch: refs/heads/cassandra-2.1.0
Commit: 85b74382782767b82cf9b5393770cdf93dd0645d
Parents: 41a85af
Author: Dave Brosius 
Authored: Sat Aug 2 01:17:50 2014 -0400
Committer: Dave Brosius 
Committed: Sat Aug 2 01:17:50 2014 -0400

--
 src/java/org/apache/cassandra/streaming/StreamCoordinator.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/85b74382/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
--
diff --git a/src/java/org/apache/cassandra/streaming/StreamCoordinator.java 
b/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
index 4a6b193..14dad29 100644
--- a/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
+++ b/src/java/org/apache/cassandra/streaming/StreamCoordinator.java
@@ -183,7 +183,7 @@ public class StreamCoordinator
 return data;
 }
 
-private class StreamSessionConnector implements Runnable
+private static class StreamSessionConnector implements Runnable
 {
 private final StreamSession session;
 public StreamSessionConnector(StreamSession session)
@@ -191,6 +191,7 @@ public class StreamCoordinator
 this.session = session;
 }
 
+@Override
 public void run()
 {
 session.start();



[1/6] git commit: switch to notification-based GCInspector patch by Yuki Morishita, Brandon Williams, and jbellis for CASSANDRA-7638

2014-08-01 Thread jbellis
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 40a21c0bf -> d33e29acc
  refs/heads/cassandra-2.1.0 fe78e8149 -> 41a85afe6
  refs/heads/trunk 049adcd83 -> 35047a8f6


switch to notification-based GCInspector
patch by Yuki Morishita, Brandon Williams, and jbellis for CASSANDRA-7638


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

Branch: refs/heads/cassandra-2.1
Commit: 41a85afe65e059662c3247de694481a405bc87b1
Parents: fe78e81
Author: Jonathan Ellis 
Authored: Fri Aug 1 20:59:01 2014 -0500
Committer: Jonathan Ellis 
Committed: Fri Aug 1 20:59:32 2014 -0500

--
 CHANGES.txt |   1 +
 conf/cassandra-env.sh   |   7 +-
 .../cassandra/service/CassandraDaemon.java  |   2 +-
 .../apache/cassandra/service/GCInspector.java   | 108 +++
 4 files changed, 48 insertions(+), 70 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c95a22c..f4b3921 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * Switch to notification-based GCInspector (CASSANDRA-7638)
  * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
  * Don't use strict consistency when replacing (CASSANDRA-7568)
  * Fix min/max cell name collection on 2.0 SSTables with range

http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index f747438..21a4244 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -95,7 +95,12 @@ JVM_VERSION=${jvmver%_*}
 JVM_PATCH_VERSION=${jvmver#*_}
 
 if [ "$JVM_VERSION" \< "1.7" ] ; then
-echo "Cassandra 2.0 and later require Java 7 or later."
+echo "Cassandra 2.0 and later require Java 7u25 or later."
+exit 1;
+fi
+
+if [ "$JVM_VERSION" \< "1.8" ] && [ "$JVM_PATCH_VERSION" -lt "25" ] ; then
+echo "Cassandra 2.0 and later require Java 7u25 or later."
 exit 1;
 fi
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/src/java/org/apache/cassandra/service/CassandraDaemon.java
--
diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java 
b/src/java/org/apache/cassandra/service/CassandraDaemon.java
index fbee7ce..7c85f81 100644
--- a/src/java/org/apache/cassandra/service/CassandraDaemon.java
+++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java
@@ -281,7 +281,7 @@ public class CassandraDaemon
 
 try
 {
-GCInspector.instance.start();
+GCInspector.register();
 }
 catch (Throwable t)
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/src/java/org/apache/cassandra/service/GCInspector.java
--
diff --git a/src/java/org/apache/cassandra/service/GCInspector.java 
b/src/java/org/apache/cassandra/service/GCInspector.java
index 9961bf9..c766dc0 100644
--- a/src/java/org/apache/cassandra/service/GCInspector.java
+++ b/src/java/org/apache/cassandra/service/GCInspector.java
@@ -17,111 +17,83 @@
  */
 package org.apache.cassandra.service;
 
-import java.lang.management.GarbageCollectorMXBean;
 import java.lang.management.ManagementFactory;
-import java.lang.management.MemoryMXBean;
 import java.lang.management.MemoryUsage;
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Collections;
 import java.util.List;
-import java.util.concurrent.TimeUnit;
+import java.util.Map;
 import javax.management.MBeanServer;
+import javax.management.Notification;
+import javax.management.NotificationListener;
 import javax.management.ObjectName;
+import javax.management.openmbean.CompositeData;
 
+import com.sun.management.GarbageCollectionNotificationInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.io.sstable.SSTableDeletingTask;
 import org.apache.cassandra.utils.StatusLogger;
 
-public class GCInspector
+public class GCInspector implements NotificationListener
 {
 private static final Logger logger = 
LoggerFactory.getLogger(GCInspector.class);
-final static long INTERVAL_IN_MS = 1000;
 final static long MIN_DURATION = 200;
 final static long MIN_DURATION_TPSTATS = 1000;
 
-public static final GCInspector instance = new GCInspector();
-
-private final HashMap gctimes = new HashMap();
-pr

[2/6] git commit: switch to notification-based GCInspector patch by Yuki Morishita, Brandon Williams, and jbellis for CASSANDRA-7638

2014-08-01 Thread jbellis
switch to notification-based GCInspector
patch by Yuki Morishita, Brandon Williams, and jbellis for CASSANDRA-7638


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

Branch: refs/heads/cassandra-2.1.0
Commit: 41a85afe65e059662c3247de694481a405bc87b1
Parents: fe78e81
Author: Jonathan Ellis 
Authored: Fri Aug 1 20:59:01 2014 -0500
Committer: Jonathan Ellis 
Committed: Fri Aug 1 20:59:32 2014 -0500

--
 CHANGES.txt |   1 +
 conf/cassandra-env.sh   |   7 +-
 .../cassandra/service/CassandraDaemon.java  |   2 +-
 .../apache/cassandra/service/GCInspector.java   | 108 +++
 4 files changed, 48 insertions(+), 70 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c95a22c..f4b3921 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * Switch to notification-based GCInspector (CASSANDRA-7638)
  * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
  * Don't use strict consistency when replacing (CASSANDRA-7568)
  * Fix min/max cell name collection on 2.0 SSTables with range

http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index f747438..21a4244 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -95,7 +95,12 @@ JVM_VERSION=${jvmver%_*}
 JVM_PATCH_VERSION=${jvmver#*_}
 
 if [ "$JVM_VERSION" \< "1.7" ] ; then
-echo "Cassandra 2.0 and later require Java 7 or later."
+echo "Cassandra 2.0 and later require Java 7u25 or later."
+exit 1;
+fi
+
+if [ "$JVM_VERSION" \< "1.8" ] && [ "$JVM_PATCH_VERSION" -lt "25" ] ; then
+echo "Cassandra 2.0 and later require Java 7u25 or later."
 exit 1;
 fi
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/src/java/org/apache/cassandra/service/CassandraDaemon.java
--
diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java 
b/src/java/org/apache/cassandra/service/CassandraDaemon.java
index fbee7ce..7c85f81 100644
--- a/src/java/org/apache/cassandra/service/CassandraDaemon.java
+++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java
@@ -281,7 +281,7 @@ public class CassandraDaemon
 
 try
 {
-GCInspector.instance.start();
+GCInspector.register();
 }
 catch (Throwable t)
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/src/java/org/apache/cassandra/service/GCInspector.java
--
diff --git a/src/java/org/apache/cassandra/service/GCInspector.java 
b/src/java/org/apache/cassandra/service/GCInspector.java
index 9961bf9..c766dc0 100644
--- a/src/java/org/apache/cassandra/service/GCInspector.java
+++ b/src/java/org/apache/cassandra/service/GCInspector.java
@@ -17,111 +17,83 @@
  */
 package org.apache.cassandra.service;
 
-import java.lang.management.GarbageCollectorMXBean;
 import java.lang.management.ManagementFactory;
-import java.lang.management.MemoryMXBean;
 import java.lang.management.MemoryUsage;
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Collections;
 import java.util.List;
-import java.util.concurrent.TimeUnit;
+import java.util.Map;
 import javax.management.MBeanServer;
+import javax.management.Notification;
+import javax.management.NotificationListener;
 import javax.management.ObjectName;
+import javax.management.openmbean.CompositeData;
 
+import com.sun.management.GarbageCollectionNotificationInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.io.sstable.SSTableDeletingTask;
 import org.apache.cassandra.utils.StatusLogger;
 
-public class GCInspector
+public class GCInspector implements NotificationListener
 {
 private static final Logger logger = 
LoggerFactory.getLogger(GCInspector.class);
-final static long INTERVAL_IN_MS = 1000;
 final static long MIN_DURATION = 200;
 final static long MIN_DURATION_TPSTATS = 1000;
 
-public static final GCInspector instance = new GCInspector();
-
-private final HashMap gctimes = new HashMap();
-private final HashMap gccounts = new HashMap();
-
-final List beans = new 
ArrayList();
-final MemoryMXBean membean = ManagementFactory.getMemoryMXBean();
-
-public GCInspect

[3/6] git commit: switch to notification-based GCInspector patch by Yuki Morishita, Brandon Williams, and jbellis for CASSANDRA-7638

2014-08-01 Thread jbellis
switch to notification-based GCInspector
patch by Yuki Morishita, Brandon Williams, and jbellis for CASSANDRA-7638


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

Branch: refs/heads/trunk
Commit: 41a85afe65e059662c3247de694481a405bc87b1
Parents: fe78e81
Author: Jonathan Ellis 
Authored: Fri Aug 1 20:59:01 2014 -0500
Committer: Jonathan Ellis 
Committed: Fri Aug 1 20:59:32 2014 -0500

--
 CHANGES.txt |   1 +
 conf/cassandra-env.sh   |   7 +-
 .../cassandra/service/CassandraDaemon.java  |   2 +-
 .../apache/cassandra/service/GCInspector.java   | 108 +++
 4 files changed, 48 insertions(+), 70 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c95a22c..f4b3921 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * Switch to notification-based GCInspector (CASSANDRA-7638)
  * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
  * Don't use strict consistency when replacing (CASSANDRA-7568)
  * Fix min/max cell name collection on 2.0 SSTables with range

http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index f747438..21a4244 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -95,7 +95,12 @@ JVM_VERSION=${jvmver%_*}
 JVM_PATCH_VERSION=${jvmver#*_}
 
 if [ "$JVM_VERSION" \< "1.7" ] ; then
-echo "Cassandra 2.0 and later require Java 7 or later."
+echo "Cassandra 2.0 and later require Java 7u25 or later."
+exit 1;
+fi
+
+if [ "$JVM_VERSION" \< "1.8" ] && [ "$JVM_PATCH_VERSION" -lt "25" ] ; then
+echo "Cassandra 2.0 and later require Java 7u25 or later."
 exit 1;
 fi
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/src/java/org/apache/cassandra/service/CassandraDaemon.java
--
diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java 
b/src/java/org/apache/cassandra/service/CassandraDaemon.java
index fbee7ce..7c85f81 100644
--- a/src/java/org/apache/cassandra/service/CassandraDaemon.java
+++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java
@@ -281,7 +281,7 @@ public class CassandraDaemon
 
 try
 {
-GCInspector.instance.start();
+GCInspector.register();
 }
 catch (Throwable t)
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/41a85afe/src/java/org/apache/cassandra/service/GCInspector.java
--
diff --git a/src/java/org/apache/cassandra/service/GCInspector.java 
b/src/java/org/apache/cassandra/service/GCInspector.java
index 9961bf9..c766dc0 100644
--- a/src/java/org/apache/cassandra/service/GCInspector.java
+++ b/src/java/org/apache/cassandra/service/GCInspector.java
@@ -17,111 +17,83 @@
  */
 package org.apache.cassandra.service;
 
-import java.lang.management.GarbageCollectorMXBean;
 import java.lang.management.ManagementFactory;
-import java.lang.management.MemoryMXBean;
 import java.lang.management.MemoryUsage;
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Collections;
 import java.util.List;
-import java.util.concurrent.TimeUnit;
+import java.util.Map;
 import javax.management.MBeanServer;
+import javax.management.Notification;
+import javax.management.NotificationListener;
 import javax.management.ObjectName;
+import javax.management.openmbean.CompositeData;
 
+import com.sun.management.GarbageCollectionNotificationInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.io.sstable.SSTableDeletingTask;
 import org.apache.cassandra.utils.StatusLogger;
 
-public class GCInspector
+public class GCInspector implements NotificationListener
 {
 private static final Logger logger = 
LoggerFactory.getLogger(GCInspector.class);
-final static long INTERVAL_IN_MS = 1000;
 final static long MIN_DURATION = 200;
 final static long MIN_DURATION_TPSTATS = 1000;
 
-public static final GCInspector instance = new GCInspector();
-
-private final HashMap gctimes = new HashMap();
-private final HashMap gccounts = new HashMap();
-
-final List beans = new 
ArrayList();
-final MemoryMXBean membean = ManagementFactory.getMemoryMXBean();
-
-public GCInspector()
+

[5/6] git commit: merge from 2.1.0

2014-08-01 Thread jbellis
merge from 2.1.0


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

Branch: refs/heads/cassandra-2.1
Commit: d33e29accf8e9372bc9355918c0a6c3c89d1f30b
Parents: 40a21c0 41a85af
Author: Jonathan Ellis 
Authored: Fri Aug 1 21:03:15 2014 -0500
Committer: Jonathan Ellis 
Committed: Fri Aug 1 21:03:15 2014 -0500

--
 CHANGES.txt |   1 +
 conf/cassandra-env.sh   |   7 +-
 .../cassandra/service/CassandraDaemon.java  |   2 +-
 .../apache/cassandra/service/GCInspector.java   | 145 ++-
 4 files changed, 53 insertions(+), 102 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d33e29ac/CHANGES.txt
--
diff --cc CHANGES.txt
index e7e2304,f4b3921..c39490a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +2.1.1
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Add listen_interface and rpc_interface options (CASSANDRA-7417)
 + * Improve schema merge performance (CASSANDRA-7444)
 + * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
 + * Optimise NativeCell comparisons (CASSANDRA-6755)
 + * Configurable client timeout for cqlsh (CASSANDRA-7516)
 + * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
 +Merged from 2.0:
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Catch errors when the JVM pulls the rug out from GCInspector 
(CASSANDRA-5345)
 +
 +
  2.1.0-final
+  * Switch to notification-based GCInspector (CASSANDRA-7638)
   * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
   * Don't use strict consistency when replacing (CASSANDRA-7568)
   * Fix min/max cell name collection on 2.0 SSTables with range

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d33e29ac/conf/cassandra-env.sh
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d33e29ac/src/java/org/apache/cassandra/service/GCInspector.java
--
diff --cc src/java/org/apache/cassandra/service/GCInspector.java
index f03ec01,c766dc0..d04b250
--- a/src/java/org/apache/cassandra/service/GCInspector.java
+++ b/src/java/org/apache/cassandra/service/GCInspector.java
@@@ -17,21 -17,22 +17,21 @@@
   */
  package org.apache.cassandra.service;
  
- import java.lang.management.GarbageCollectorMXBean;
  import java.lang.management.ManagementFactory;
- import java.lang.management.MemoryMXBean;
  import java.lang.management.MemoryUsage;
- import java.lang.reflect.UndeclaredThrowableException;
  import java.util.ArrayList;
- import java.util.HashMap;
+ import java.util.Collections;
  import java.util.List;
- import java.util.concurrent.TimeUnit;
 -import java.util.Map;
  import javax.management.MBeanServer;
+ import javax.management.Notification;
+ import javax.management.NotificationListener;
  import javax.management.ObjectName;
+ import javax.management.openmbean.CompositeData;
  
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
++import com.sun.management.GarbageCollectionNotificationInfo;
  import org.apache.cassandra.io.sstable.SSTableDeletingTask;
  import org.apache.cassandra.utils.StatusLogger;
  



[6/6] git commit: Merge branch 'cassandra-2.1' into trunk

2014-08-01 Thread jbellis
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: 35047a8f67c0b2c323cec695788a3dc0322eef98
Parents: 049adcd d33e29a
Author: Jonathan Ellis 
Authored: Fri Aug 1 21:03:23 2014 -0500
Committer: Jonathan Ellis 
Committed: Fri Aug 1 21:03:23 2014 -0500

--
 CHANGES.txt |   1 +
 conf/cassandra-env.sh   |   7 +-
 .../cassandra/service/CassandraDaemon.java  |   2 +-
 .../apache/cassandra/service/GCInspector.java   | 145 ++-
 4 files changed, 53 insertions(+), 102 deletions(-)
--


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



[4/6] git commit: merge from 2.1.0

2014-08-01 Thread jbellis
merge from 2.1.0


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

Branch: refs/heads/trunk
Commit: d33e29accf8e9372bc9355918c0a6c3c89d1f30b
Parents: 40a21c0 41a85af
Author: Jonathan Ellis 
Authored: Fri Aug 1 21:03:15 2014 -0500
Committer: Jonathan Ellis 
Committed: Fri Aug 1 21:03:15 2014 -0500

--
 CHANGES.txt |   1 +
 conf/cassandra-env.sh   |   7 +-
 .../cassandra/service/CassandraDaemon.java  |   2 +-
 .../apache/cassandra/service/GCInspector.java   | 145 ++-
 4 files changed, 53 insertions(+), 102 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d33e29ac/CHANGES.txt
--
diff --cc CHANGES.txt
index e7e2304,f4b3921..c39490a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +2.1.1
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Add listen_interface and rpc_interface options (CASSANDRA-7417)
 + * Improve schema merge performance (CASSANDRA-7444)
 + * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
 + * Optimise NativeCell comparisons (CASSANDRA-6755)
 + * Configurable client timeout for cqlsh (CASSANDRA-7516)
 + * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
 +Merged from 2.0:
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Catch errors when the JVM pulls the rug out from GCInspector 
(CASSANDRA-5345)
 +
 +
  2.1.0-final
+  * Switch to notification-based GCInspector (CASSANDRA-7638)
   * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
   * Don't use strict consistency when replacing (CASSANDRA-7568)
   * Fix min/max cell name collection on 2.0 SSTables with range

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d33e29ac/conf/cassandra-env.sh
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d33e29ac/src/java/org/apache/cassandra/service/GCInspector.java
--
diff --cc src/java/org/apache/cassandra/service/GCInspector.java
index f03ec01,c766dc0..d04b250
--- a/src/java/org/apache/cassandra/service/GCInspector.java
+++ b/src/java/org/apache/cassandra/service/GCInspector.java
@@@ -17,21 -17,22 +17,21 @@@
   */
  package org.apache.cassandra.service;
  
- import java.lang.management.GarbageCollectorMXBean;
  import java.lang.management.ManagementFactory;
- import java.lang.management.MemoryMXBean;
  import java.lang.management.MemoryUsage;
- import java.lang.reflect.UndeclaredThrowableException;
  import java.util.ArrayList;
- import java.util.HashMap;
+ import java.util.Collections;
  import java.util.List;
- import java.util.concurrent.TimeUnit;
 -import java.util.Map;
  import javax.management.MBeanServer;
+ import javax.management.Notification;
+ import javax.management.NotificationListener;
  import javax.management.ObjectName;
+ import javax.management.openmbean.CompositeData;
  
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
++import com.sun.management.GarbageCollectionNotificationInfo;
  import org.apache.cassandra.io.sstable.SSTableDeletingTask;
  import org.apache.cassandra.utils.StatusLogger;
  



[jira] [Commented] (CASSANDRA-7672) user types allow counters

2014-08-01 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083282#comment-14083282
 ] 

Jonathan Ellis commented on CASSANDRA-7672:
---

+1

> user types allow counters
> -
>
> Key: CASSANDRA-7672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7672
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
>Assignee: Aleksey Yeschenko
>  Labels: qa-resolved
> Fix For: 2.1.0
>
> Attachments: 7672.txt
>
>
> From the conversation on CASSANDRA-6312 it seems we should not allow user 
> types to contain counters. Presently, user types can be defined with field 
> types of counter, and these user types can also be associated with tables 
> without error.
> I'm not certain if there's a compelling case for counters within user types, 
> but I don't think there's any syntax existing presently that would allow 
> updating them anyway.
> To repro:
> {noformat}
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;
> USE test;
> CREATE TYPE t_item (
>   sub_one counter
> ); 
> CREATE TYPE item (
>   sub_one counter
> ); 
> CREATE TABLE test.mytable (
> value1 text PRIMARY KEY,
> item t_item,
> value2 text
> );
> cqlsh:test> insert into mytable (value1, value2) VALUES ( 'foo', 'bar');
> cqlsh:test> select * from mytable;
>  value1 | item | value2
> +--+
> foo | null |bar
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7663) Removing a seed causes previously removed seeds to reappear

2014-08-01 Thread Richard Low (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083258#comment-14083258
 ] 

Richard Low commented on CASSANDRA-7663:


Actually there's a potential problem with this. It now requires that the yaml 
is still present, whereas before this patch the yaml was only needed on 
startup. Depending on how people deploy updated yamls, the old yaml may not be 
there. In that case, it would throw AssertionError and bad things will happen 
in gossip. Maybe it could fall back on the original behaviour if the yaml can't 
be read? 

> Removing a seed causes previously removed seeds to reappear
> ---
>
> Key: CASSANDRA-7663
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7663
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Richard Low
>Assignee: Brandon Williams
> Fix For: 1.2.19, 2.0.10, 2.1.0
>
> Attachments: 7663.txt
>
>
> When you remove a seed from a cluster, Gossiper.removeEndpoint ensures it is 
> removed from the seed list. However, it also resets the seed list to be the 
> original list, which would bring back any previously removed seeds. What is 
> the reasoning for having the call to buildSeedsList()? If it wasn’t there 
> then I think the problem would be solved.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7607) Test coverage for authorization in DDL & DML statements

2014-08-01 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083203#comment-14083203
 ] 

Aleksey Yeschenko commented on CASSANDRA-7607:
--

I think we have most of it covered by 
https://github.com/riptano/cassandra-dtest/blob/master/auth_test.py - except 
maybe CREATE/DROP TRIGGER and CREATE/ALTER/DROP TYPE.

> Test coverage for authorization in DDL & DML statements
> ---
>
> Key: CASSANDRA-7607
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7607
> Project: Cassandra
>  Issue Type: Test
>  Components: Tests
>Reporter: Robert Stupp
>  Labels: lhf, unit-test
> Fix For: 2.0.10, 2.1.1
>
>
> Similar to CASSANDRA-7604
> Check that the statements perform proper authorization (allow / reject):
> * {{CREATE KEYSPACE}}
> * {{ALTER KEYSPACE}}
> * {{DROP KEYSPACE}}
> * {{CREATE TABLE}}
> * {{ALTER TABLE}}
> * {{DROP TABLE}}
> * {{CREATE TYPE}}
> * {{ALTER TYPE}}
> * {{DROP TYPE}}
> * {{CREATE INDEX}}
> * {{DROP INDEX}}
> * {{CREATE TRIGGER}}
> * {{DROP TRIGGER}}
> * {{CREATE USER}}
> * {{ALTER USER}}
> * {{DROP USER}}
> * {{TRUNCATE}}
> * {{GRANT}}
> * {{REVOKE}}
> * {{SELECT}}
> * {{UPDATE}}
> * {{DELETE}}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7659) cqlsh: DESCRIBE KEYSPACE should order types according to cross-type dependencies

2014-08-01 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083196#comment-14083196
 ] 

Aleksey Yeschenko commented on CASSANDRA-7659:
--

With CASSANDRA-7656 in, this should now be resolved as well?

> cqlsh: DESCRIBE KEYSPACE should order types according to cross-type 
> dependencies
> 
>
> Key: CASSANDRA-7659
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7659
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Tyler Hobbs
>Assignee: Tyler Hobbs
>Priority: Minor
> Fix For: 2.1.1
>
>
> Since UDTs may use other UDTs for fields, DESCRIBE KEYSPACE should list types 
> in an order that handles the dependencies.  This was recently done in the 
> python driver here: https://github.com/datastax/python-driver/pull/165.  We 
> can either update to the latest python driver, or copy that code for cqlsh.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7672) user types allow counters

2014-08-01 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-7672:
--

Labels: qa-resolved  (was: )

> user types allow counters
> -
>
> Key: CASSANDRA-7672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7672
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
>Assignee: Aleksey Yeschenko
>  Labels: qa-resolved
> Fix For: 2.1.0
>
> Attachments: 7672.txt
>
>
> From the conversation on CASSANDRA-6312 it seems we should not allow user 
> types to contain counters. Presently, user types can be defined with field 
> types of counter, and these user types can also be associated with tables 
> without error.
> I'm not certain if there's a compelling case for counters within user types, 
> but I don't think there's any syntax existing presently that would allow 
> updating them anyway.
> To repro:
> {noformat}
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;
> USE test;
> CREATE TYPE t_item (
>   sub_one counter
> ); 
> CREATE TYPE item (
>   sub_one counter
> ); 
> CREATE TABLE test.mytable (
> value1 text PRIMARY KEY,
> item t_item,
> value2 text
> );
> cqlsh:test> insert into mytable (value1, value2) VALUES ( 'foo', 'bar');
> cqlsh:test> select * from mytable;
>  value1 | item | value2
> +--+
> foo | null |bar
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7672) user types allow counters

2014-08-01 Thread Russ Hatch (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083181#comment-14083181
 ] 

Russ Hatch commented on CASSANDRA-7672:
---

Patch tested, works as expected.

> user types allow counters
> -
>
> Key: CASSANDRA-7672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7672
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
>Assignee: Aleksey Yeschenko
> Fix For: 2.1.0
>
> Attachments: 7672.txt
>
>
> From the conversation on CASSANDRA-6312 it seems we should not allow user 
> types to contain counters. Presently, user types can be defined with field 
> types of counter, and these user types can also be associated with tables 
> without error.
> I'm not certain if there's a compelling case for counters within user types, 
> but I don't think there's any syntax existing presently that would allow 
> updating them anyway.
> To repro:
> {noformat}
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;
> USE test;
> CREATE TYPE t_item (
>   sub_one counter
> ); 
> CREATE TYPE item (
>   sub_one counter
> ); 
> CREATE TABLE test.mytable (
> value1 text PRIMARY KEY,
> item t_item,
> value2 text
> );
> cqlsh:test> insert into mytable (value1, value2) VALUES ( 'foo', 'bar');
> cqlsh:test> select * from mytable;
>  value1 | item | value2
> +--+
> foo | null |bar
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7672) user types allow counters

2014-08-01 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-7672:
-

Attachment: 7672.txt

> user types allow counters
> -
>
> Key: CASSANDRA-7672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7672
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
>Assignee: Aleksey Yeschenko
> Fix For: 2.1.0
>
> Attachments: 7672.txt
>
>
> From the conversation on CASSANDRA-6312 it seems we should not allow user 
> types to contain counters. Presently, user types can be defined with field 
> types of counter, and these user types can also be associated with tables 
> without error.
> I'm not certain if there's a compelling case for counters within user types, 
> but I don't think there's any syntax existing presently that would allow 
> updating them anyway.
> To repro:
> {noformat}
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;
> USE test;
> CREATE TYPE t_item (
>   sub_one counter
> ); 
> CREATE TYPE item (
>   sub_one counter
> ); 
> CREATE TABLE test.mytable (
> value1 text PRIMARY KEY,
> item t_item,
> value2 text
> );
> cqlsh:test> insert into mytable (value1, value2) VALUES ( 'foo', 'bar');
> cqlsh:test> select * from mytable;
>  value1 | item | value2
> +--+
> foo | null |bar
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7672) user types allow counters

2014-08-01 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-7672:
-

Fix Version/s: (was: 2.1.1)
   2.1.0

> user types allow counters
> -
>
> Key: CASSANDRA-7672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7672
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
>Assignee: Aleksey Yeschenko
> Fix For: 2.1.0
>
>
> From the conversation on CASSANDRA-6312 it seems we should not allow user 
> types to contain counters. Presently, user types can be defined with field 
> types of counter, and these user types can also be associated with tables 
> without error.
> I'm not certain if there's a compelling case for counters within user types, 
> but I don't think there's any syntax existing presently that would allow 
> updating them anyway.
> To repro:
> {noformat}
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;
> USE test;
> CREATE TYPE t_item (
>   sub_one counter
> ); 
> CREATE TYPE item (
>   sub_one counter
> ); 
> CREATE TABLE test.mytable (
> value1 text PRIMARY KEY,
> item t_item,
> value2 text
> );
> cqlsh:test> insert into mytable (value1, value2) VALUES ( 'foo', 'bar');
> cqlsh:test> select * from mytable;
>  value1 | item | value2
> +--+
> foo | null |bar
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7670) selecting field from empty UDT cell using dot notation triggers exception

2014-08-01 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-7670:
--

Assignee: Sylvain Lebresne

> selecting field from empty UDT cell using dot notation triggers exception
> -
>
> Key: CASSANDRA-7670
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7670
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
>Assignee: Sylvain Lebresne
>Priority: Minor
> Fix For: 2.1.1
>
>
> Hopefully the title explains the issue.
> Basically if a row has a user type which is undefined, using the "dot 
> notation" syntax causes cqlsh to show a NPE, and an exception ends up in the 
> log as well.
> I would expect the behavior here to execute the query and return null, since 
> the user type itself is null, then it's fields are null as well (the downside 
> here is there would be no way to distinguish between a null UDT and a null 
> UDT field, without making an initial query to check if the UDT is non-null).
> Steps to repro:
> {noformat}
> create keyspace test with replication = {'class':'SimpleStrategy', 
> 'replication_factor':1};
> use test;
> CREATE TYPE t_item (subitem text);
> create table mytable (value1 text PRIMARY KEY, value2 text, item t_item);
> insert into mytable (value1, value2 ) values ('foo', 'bar');
> select item.subitem from mytable;
>  message="java.lang.NullPointerException">
> {noformat}
> Here's the exception logged:
> {noformat}
> ERROR [SharedPool-Worker-1] 2014-08-01 15:49:00,514 ErrorMessage.java:218 - 
> Unexpected exception during request
> java.lang.NullPointerException: null
> at 
> org.apache.cassandra.db.marshal.TupleType.split(TupleType.java:146) 
> ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$FieldSelector.compute(Selection.java:469)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$SelectionWithFunctions.handleRow(Selection.java:537)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$ResultSetBuilder.build(Selection.java:333)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:1149)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:283)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:225)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:60)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:187)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:206) 
> ~[main/:na]
> at 
> org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
>  ~[main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:421)
>  [main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:318)
>  [main/:na]
> at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:31)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:323)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> [na:1.7.0_65]
> at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163)
>  [main/:na]
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) 
> [main/:na]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7670) selecting field from empty UDT cell using dot notation triggers exception

2014-08-01 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-7670:
--

Fix Version/s: 2.1.1

> selecting field from empty UDT cell using dot notation triggers exception
> -
>
> Key: CASSANDRA-7670
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7670
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
>Priority: Minor
> Fix For: 2.1.1
>
>
> Hopefully the title explains the issue.
> Basically if a row has a user type which is undefined, using the "dot 
> notation" syntax causes cqlsh to show a NPE, and an exception ends up in the 
> log as well.
> I would expect the behavior here to execute the query and return null, since 
> the user type itself is null, then it's fields are null as well (the downside 
> here is there would be no way to distinguish between a null UDT and a null 
> UDT field, without making an initial query to check if the UDT is non-null).
> Steps to repro:
> {noformat}
> create keyspace test with replication = {'class':'SimpleStrategy', 
> 'replication_factor':1};
> use test;
> CREATE TYPE t_item (subitem text);
> create table mytable (value1 text PRIMARY KEY, value2 text, item t_item);
> insert into mytable (value1, value2 ) values ('foo', 'bar');
> select item.subitem from mytable;
>  message="java.lang.NullPointerException">
> {noformat}
> Here's the exception logged:
> {noformat}
> ERROR [SharedPool-Worker-1] 2014-08-01 15:49:00,514 ErrorMessage.java:218 - 
> Unexpected exception during request
> java.lang.NullPointerException: null
> at 
> org.apache.cassandra.db.marshal.TupleType.split(TupleType.java:146) 
> ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$FieldSelector.compute(Selection.java:469)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$SelectionWithFunctions.handleRow(Selection.java:537)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$ResultSetBuilder.build(Selection.java:333)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:1149)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:283)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:225)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:60)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:187)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:206) 
> ~[main/:na]
> at 
> org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
>  ~[main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:421)
>  [main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:318)
>  [main/:na]
> at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:31)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:323)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> [na:1.7.0_65]
> at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163)
>  [main/:na]
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) 
> [main/:na]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Assigned] (CASSANDRA-7672) user types allow counters

2014-08-01 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko reassigned CASSANDRA-7672:


Assignee: Aleksey Yeschenko  (was: Sylvain Lebresne)

> user types allow counters
> -
>
> Key: CASSANDRA-7672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7672
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
>Assignee: Aleksey Yeschenko
> Fix For: 2.1.1
>
>
> From the conversation on CASSANDRA-6312 it seems we should not allow user 
> types to contain counters. Presently, user types can be defined with field 
> types of counter, and these user types can also be associated with tables 
> without error.
> I'm not certain if there's a compelling case for counters within user types, 
> but I don't think there's any syntax existing presently that would allow 
> updating them anyway.
> To repro:
> {noformat}
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;
> USE test;
> CREATE TYPE t_item (
>   sub_one counter
> ); 
> CREATE TYPE item (
>   sub_one counter
> ); 
> CREATE TABLE test.mytable (
> value1 text PRIMARY KEY,
> item t_item,
> value2 text
> );
> cqlsh:test> insert into mytable (value1, value2) VALUES ( 'foo', 'bar');
> cqlsh:test> select * from mytable;
>  value1 | item | value2
> +--+
> foo | null |bar
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7672) user types allow counters

2014-08-01 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-7672:
--

Summary: user types allow counters  (was: use types allow counters)

> user types allow counters
> -
>
> Key: CASSANDRA-7672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7672
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
> Fix For: 2.1.1
>
>
> From the conversation on CASSANDRA-6312 it seems we should not allow user 
> types to contain counters. Presently, user types can be defined with field 
> types of counter, and these user types can also be associated with tables 
> without error.
> I'm not certain if there's a compelling case for counters within user types, 
> but I don't think there's any syntax existing presently that would allow 
> updating them anyway.
> To repro:
> {noformat}
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;
> USE test;
> CREATE TYPE t_item (
>   sub_one counter
> ); 
> CREATE TYPE item (
>   sub_one counter
> ); 
> CREATE TABLE test.mytable (
> value1 text PRIMARY KEY,
> item t_item,
> value2 text
> );
> cqlsh:test> insert into mytable (value1, value2) VALUES ( 'foo', 'bar');
> cqlsh:test> select * from mytable;
>  value1 | item | value2
> +--+
> foo | null |bar
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7672) use types allow counters

2014-08-01 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-7672:
--

Reproduced In: 2.1.0  (was: 2.1.1)

> use types allow counters
> 
>
> Key: CASSANDRA-7672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7672
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
> Fix For: 2.1.1
>
>
> From the conversation on CASSANDRA-6312 it seems we should not allow user 
> types to contain counters. Presently, user types can be defined with field 
> types of counter, and these user types can also be associated with tables 
> without error.
> I'm not certain if there's a compelling case for counters within user types, 
> but I don't think there's any syntax existing presently that would allow 
> updating them anyway.
> To repro:
> {noformat}
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;
> USE test;
> CREATE TYPE t_item (
>   sub_one counter
> ); 
> CREATE TYPE item (
>   sub_one counter
> ); 
> CREATE TABLE test.mytable (
> value1 text PRIMARY KEY,
> item t_item,
> value2 text
> );
> cqlsh:test> insert into mytable (value1, value2) VALUES ( 'foo', 'bar');
> cqlsh:test> select * from mytable;
>  value1 | item | value2
> +--+
> foo | null |bar
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7672) use types allow counters

2014-08-01 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-7672:
--

Fix Version/s: 2.1.1

> use types allow counters
> 
>
> Key: CASSANDRA-7672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7672
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
> Fix For: 2.1.1
>
>
> From the conversation on CASSANDRA-6312 it seems we should not allow user 
> types to contain counters. Presently, user types can be defined with field 
> types of counter, and these user types can also be associated with tables 
> without error.
> I'm not certain if there's a compelling case for counters within user types, 
> but I don't think there's any syntax existing presently that would allow 
> updating them anyway.
> To repro:
> {noformat}
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;
> USE test;
> CREATE TYPE t_item (
>   sub_one counter
> ); 
> CREATE TYPE item (
>   sub_one counter
> ); 
> CREATE TABLE test.mytable (
> value1 text PRIMARY KEY,
> item t_item,
> value2 text
> );
> cqlsh:test> insert into mytable (value1, value2) VALUES ( 'foo', 'bar');
> cqlsh:test> select * from mytable;
>  value1 | item | value2
> +--+
> foo | null |bar
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7670) selecting field from empty UDT cell using dot notation triggers exception

2014-08-01 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-7670:
--

Reproduced In: 2.1.0  (was: 2.1.1)

> selecting field from empty UDT cell using dot notation triggers exception
> -
>
> Key: CASSANDRA-7670
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7670
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
>Priority: Minor
> Fix For: 2.1.1
>
>
> Hopefully the title explains the issue.
> Basically if a row has a user type which is undefined, using the "dot 
> notation" syntax causes cqlsh to show a NPE, and an exception ends up in the 
> log as well.
> I would expect the behavior here to execute the query and return null, since 
> the user type itself is null, then it's fields are null as well (the downside 
> here is there would be no way to distinguish between a null UDT and a null 
> UDT field, without making an initial query to check if the UDT is non-null).
> Steps to repro:
> {noformat}
> create keyspace test with replication = {'class':'SimpleStrategy', 
> 'replication_factor':1};
> use test;
> CREATE TYPE t_item (subitem text);
> create table mytable (value1 text PRIMARY KEY, value2 text, item t_item);
> insert into mytable (value1, value2 ) values ('foo', 'bar');
> select item.subitem from mytable;
>  message="java.lang.NullPointerException">
> {noformat}
> Here's the exception logged:
> {noformat}
> ERROR [SharedPool-Worker-1] 2014-08-01 15:49:00,514 ErrorMessage.java:218 - 
> Unexpected exception during request
> java.lang.NullPointerException: null
> at 
> org.apache.cassandra.db.marshal.TupleType.split(TupleType.java:146) 
> ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$FieldSelector.compute(Selection.java:469)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$SelectionWithFunctions.handleRow(Selection.java:537)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$ResultSetBuilder.build(Selection.java:333)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:1149)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:283)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:225)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:60)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:187)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:206) 
> ~[main/:na]
> at 
> org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
>  ~[main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:421)
>  [main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:318)
>  [main/:na]
> at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:31)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:323)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> [na:1.7.0_65]
> at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163)
>  [main/:na]
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) 
> [main/:na]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7672) user types allow counters

2014-08-01 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-7672:
--

Assignee: Sylvain Lebresne

> user types allow counters
> -
>
> Key: CASSANDRA-7672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7672
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
>Assignee: Sylvain Lebresne
> Fix For: 2.1.1
>
>
> From the conversation on CASSANDRA-6312 it seems we should not allow user 
> types to contain counters. Presently, user types can be defined with field 
> types of counter, and these user types can also be associated with tables 
> without error.
> I'm not certain if there's a compelling case for counters within user types, 
> but I don't think there's any syntax existing presently that would allow 
> updating them anyway.
> To repro:
> {noformat}
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;
> USE test;
> CREATE TYPE t_item (
>   sub_one counter
> ); 
> CREATE TYPE item (
>   sub_one counter
> ); 
> CREATE TABLE test.mytable (
> value1 text PRIMARY KEY,
> item t_item,
> value2 text
> );
> cqlsh:test> insert into mytable (value1, value2) VALUES ( 'foo', 'bar');
> cqlsh:test> select * from mytable;
>  value1 | item | value2
> +--+
> foo | null |bar
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[1/3] git commit: cqlsh: Upgrade bundled py driver to fix nulls in UDTS and tuples

2014-08-01 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/trunk ff4d159ef -> 049adcd83


cqlsh: Upgrade bundled py driver to fix nulls in UDTS and tuples

Patch by Tyler Hobbs; review by Aleksey Yeschenko for CASSANDRA-7656


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

Branch: refs/heads/trunk
Commit: fe78e8149646df7686da48f44fe304181ea5a417
Parents: 110a132
Author: Tyler Hobbs 
Authored: Fri Aug 1 18:08:19 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 18:08:19 2014 -0500

--
 CHANGES.txt   |   1 +
 ...assandra-driver-internal-only-2.1.0b1.post.zip | Bin 125786 -> 0 bytes
 ...assandra-driver-internal-only-2.1.0c1.post.zip | Bin 0 -> 128949 bytes
 3 files changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe78e814/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9cff11a..c95a22c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
  * Don't use strict consistency when replacing (CASSANDRA-7568)
  * Fix min/max cell name collection on 2.0 SSTables with range
tombstones (CASSANDRA-7593)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe78e814/lib/cassandra-driver-internal-only-2.1.0b1.post.zip
--
diff --git a/lib/cassandra-driver-internal-only-2.1.0b1.post.zip 
b/lib/cassandra-driver-internal-only-2.1.0b1.post.zip
deleted file mode 100644
index d0c0b1a..000
Binary files a/lib/cassandra-driver-internal-only-2.1.0b1.post.zip and 
/dev/null differ

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe78e814/lib/cassandra-driver-internal-only-2.1.0c1.post.zip
--
diff --git a/lib/cassandra-driver-internal-only-2.1.0c1.post.zip 
b/lib/cassandra-driver-internal-only-2.1.0c1.post.zip
new file mode 100644
index 000..e66a12a
Binary files /dev/null and 
b/lib/cassandra-driver-internal-only-2.1.0c1.post.zip differ



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

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: 049adcd83118233e91584d038c267a8d05db4e36
Parents: ff4d159 40a21c0
Author: Tyler Hobbs 
Authored: Fri Aug 1 18:10:21 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 18:10:21 2014 -0500

--
 CHANGES.txt   |   1 +
 ...assandra-driver-internal-only-2.1.0b1.post.zip | Bin 125786 -> 0 bytes
 ...assandra-driver-internal-only-2.1.0c1.post.zip | Bin 0 -> 128949 bytes
 3 files changed, 1 insertion(+)
--


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



[2/3] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: 40a21c0bf6f0a9dfacf39ca3e3047b6987f2bb4c
Parents: 824ffa1 fe78e81
Author: Tyler Hobbs 
Authored: Fri Aug 1 18:09:44 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 18:09:44 2014 -0500

--
 CHANGES.txt   |   1 +
 ...assandra-driver-internal-only-2.1.0b1.post.zip | Bin 125786 -> 0 bytes
 ...assandra-driver-internal-only-2.1.0c1.post.zip | Bin 0 -> 128949 bytes
 3 files changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/40a21c0b/CHANGES.txt
--
diff --cc CHANGES.txt
index 9eb620c,c95a22c..e7e2304
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +2.1.1
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Add listen_interface and rpc_interface options (CASSANDRA-7417)
 + * Improve schema merge performance (CASSANDRA-7444)
 + * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
 + * Optimise NativeCell comparisons (CASSANDRA-6755)
 + * Configurable client timeout for cqlsh (CASSANDRA-7516)
 + * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
 +Merged from 2.0:
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Catch errors when the JVM pulls the rug out from GCInspector 
(CASSANDRA-5345)
 +
 +
  2.1.0-final
+  * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
   * Don't use strict consistency when replacing (CASSANDRA-7568)
   * Fix min/max cell name collection on 2.0 SSTables with range
 tombstones (CASSANDRA-7593)



[2/2] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: 40a21c0bf6f0a9dfacf39ca3e3047b6987f2bb4c
Parents: 824ffa1 fe78e81
Author: Tyler Hobbs 
Authored: Fri Aug 1 18:09:44 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 18:09:44 2014 -0500

--
 CHANGES.txt   |   1 +
 ...assandra-driver-internal-only-2.1.0b1.post.zip | Bin 125786 -> 0 bytes
 ...assandra-driver-internal-only-2.1.0c1.post.zip | Bin 0 -> 128949 bytes
 3 files changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/40a21c0b/CHANGES.txt
--
diff --cc CHANGES.txt
index 9eb620c,c95a22c..e7e2304
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +2.1.1
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Add listen_interface and rpc_interface options (CASSANDRA-7417)
 + * Improve schema merge performance (CASSANDRA-7444)
 + * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
 + * Optimise NativeCell comparisons (CASSANDRA-6755)
 + * Configurable client timeout for cqlsh (CASSANDRA-7516)
 + * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
 +Merged from 2.0:
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Catch errors when the JVM pulls the rug out from GCInspector 
(CASSANDRA-5345)
 +
 +
  2.1.0-final
+  * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
   * Don't use strict consistency when replacing (CASSANDRA-7568)
   * Fix min/max cell name collection on 2.0 SSTables with range
 tombstones (CASSANDRA-7593)



[1/2] git commit: cqlsh: Upgrade bundled py driver to fix nulls in UDTS and tuples

2014-08-01 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 824ffa1da -> 40a21c0bf


cqlsh: Upgrade bundled py driver to fix nulls in UDTS and tuples

Patch by Tyler Hobbs; review by Aleksey Yeschenko for CASSANDRA-7656


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

Branch: refs/heads/cassandra-2.1
Commit: fe78e8149646df7686da48f44fe304181ea5a417
Parents: 110a132
Author: Tyler Hobbs 
Authored: Fri Aug 1 18:08:19 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 18:08:19 2014 -0500

--
 CHANGES.txt   |   1 +
 ...assandra-driver-internal-only-2.1.0b1.post.zip | Bin 125786 -> 0 bytes
 ...assandra-driver-internal-only-2.1.0c1.post.zip | Bin 0 -> 128949 bytes
 3 files changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe78e814/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9cff11a..c95a22c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
  * Don't use strict consistency when replacing (CASSANDRA-7568)
  * Fix min/max cell name collection on 2.0 SSTables with range
tombstones (CASSANDRA-7593)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe78e814/lib/cassandra-driver-internal-only-2.1.0b1.post.zip
--
diff --git a/lib/cassandra-driver-internal-only-2.1.0b1.post.zip 
b/lib/cassandra-driver-internal-only-2.1.0b1.post.zip
deleted file mode 100644
index d0c0b1a..000
Binary files a/lib/cassandra-driver-internal-only-2.1.0b1.post.zip and 
/dev/null differ

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe78e814/lib/cassandra-driver-internal-only-2.1.0c1.post.zip
--
diff --git a/lib/cassandra-driver-internal-only-2.1.0c1.post.zip 
b/lib/cassandra-driver-internal-only-2.1.0c1.post.zip
new file mode 100644
index 000..e66a12a
Binary files /dev/null and 
b/lib/cassandra-driver-internal-only-2.1.0c1.post.zip differ



git commit: cqlsh: Upgrade bundled py driver to fix nulls in UDTS and tuples

2014-08-01 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1.0 110a132b1 -> fe78e8149


cqlsh: Upgrade bundled py driver to fix nulls in UDTS and tuples

Patch by Tyler Hobbs; review by Aleksey Yeschenko for CASSANDRA-7656


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

Branch: refs/heads/cassandra-2.1.0
Commit: fe78e8149646df7686da48f44fe304181ea5a417
Parents: 110a132
Author: Tyler Hobbs 
Authored: Fri Aug 1 18:08:19 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 18:08:19 2014 -0500

--
 CHANGES.txt   |   1 +
 ...assandra-driver-internal-only-2.1.0b1.post.zip | Bin 125786 -> 0 bytes
 ...assandra-driver-internal-only-2.1.0c1.post.zip | Bin 0 -> 128949 bytes
 3 files changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe78e814/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9cff11a..c95a22c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
  * Don't use strict consistency when replacing (CASSANDRA-7568)
  * Fix min/max cell name collection on 2.0 SSTables with range
tombstones (CASSANDRA-7593)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe78e814/lib/cassandra-driver-internal-only-2.1.0b1.post.zip
--
diff --git a/lib/cassandra-driver-internal-only-2.1.0b1.post.zip 
b/lib/cassandra-driver-internal-only-2.1.0b1.post.zip
deleted file mode 100644
index d0c0b1a..000
Binary files a/lib/cassandra-driver-internal-only-2.1.0b1.post.zip and 
/dev/null differ

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe78e814/lib/cassandra-driver-internal-only-2.1.0c1.post.zip
--
diff --git a/lib/cassandra-driver-internal-only-2.1.0c1.post.zip 
b/lib/cassandra-driver-internal-only-2.1.0c1.post.zip
new file mode 100644
index 000..e66a12a
Binary files /dev/null and 
b/lib/cassandra-driver-internal-only-2.1.0c1.post.zip differ



[jira] [Comment Edited] (CASSANDRA-7395) Support for pure user-defined functions (UDF)

2014-08-01 Thread Tyler Hobbs (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083132#comment-14083132
 ] 

Tyler Hobbs edited comment on CASSANDRA-7395 at 8/1/14 11:01 PM:
-

> Application level conflicts may arise if new 'core CQL' functions appear in a 
> future C* version with the same name of existing UDFs. We should make that 
> clear in documentation and encourage users to use namespaces. The only 
> alternative that came to my mind was to force users to use SELECT 
> ::sin(foo)... for non-namespace UDFs - but I'm not happy with that 
> alternative.

I think encouraging the use of namespaces is the best way to go.  Perhaps on 
startup we could check for any non-namespaced UDFs that would be inaccessible 
due to a collision with a (new) core function name and log a warning?  At that 
point, the user could define the function within a namspace.

Comments on the patch:

* UFMetaData:
** Bad javadoc for the class
** Redundant work in constructors
** compatibleArgs():
*** argType should not be null (no TypeAndData)
*** To fix the IRE case, make AssignementTestable.isAssignableTo() not throw an 
IRE,
  add validateAssignableTo() which does throw an IRE
** parseCQLType(): want InvalidRequestException instead of 
ConfigurationException
** dropFunction(): use ColumnFamily.delete() to remove the whole partition 
instead of individual rows
*** Do we need a way to drop a specific signature and not all versions of a 
function?
** adding toString() would be nice, as it's expected by the logger in a couple 
of places
  
* MigrationManager:
** Throw IRE instead of ConfigurationException (and update 
DropFunctionStatement)
* CFMetaData:
** Use 604800 for gc_grace_seconds (see CASSANDRA-7668)
* FunctionCall:
** prepare(): no need for curly braces on "if" with single statement
** prepare(): s/Unknown CQL3 function called/Unknown function called/
** toString(): no single-line if-statements, please  
* Selectable:
** toString(): no single-line if-statements
* DefsTables:
** add/update/dropFunction() do need to notify listeners (you have TODOs 
there), so we need MigrationManager.notifyAdd/Update/DropUDF()
* Event:
** Keyspace string should be empty for UDF changes (we'll need a v4 protocol 
doc soon)
** serializeEvent() and eventSerializedSize() will need to handle function 
events specially when the protocolversion < 4.  I guess we shouldn't send 
events at all? I'm not too sure about this one.  
* CreateFunctionStatement:
** constructor: Instead of throwing NPEs, use assertions
** changeEvent(): whitespace is off 
** execute(): throw IREs instead of ConfigurationExceptions
* DropFunctionStatement:
** Unused imports
* UDFunction:
** "throws" can go on the same line as method signature
** Throw IRE instead of ConfigurationException  
* UDFRegistry:
** no need for curlies on single-statement "ifs" (there are a few)
** refreshInitial():
*** use QueryProcess.executeOnceInternal() instead of process()
*** put for-loop initialization on single line
*** if we fail to query system.schema_functions, let the exception propagate

Overall, the patch is looking really good.  After the next round of fixes, I'll 
do some testing and further review.

We also definitely want to get good test coverage of this.  Unit tests that 
extend CQLTester would be a good start (and they could use functions from the 
test class for UDFs).


was (Author: thobbs):
> Application level conflicts may arise if new 'core CQL' functions appear in a 
> future C* version with the same name of existing UDFs. We should make that 
> clear in documentation and encourage users to use namespaces. The only 
> alternative that came to my mind was to force users to use SELECT 
> ::sin(foo)... for non-namespace UDFs - but I'm not happy with that 
> alternative.

I think encouraging the use of namespaces is the best way to go.  Perhaps on 
startup we could check for any non-namespaced UDFs that would be inaccessible 
due to a collision with a (new) core function name and log a warning?  At that 
point, the user could define the function within a namspace.

Comments on the patch:

* UFMetaData:

  * Bad javadoc for the class
  * Redundant work in constructors
  * compatibleArgs():

* argType should not be null (no TypeAndData)
* To fix the IRE case, make AssignementTestable.isAssignableTo() not throw 
an IRE,
  add validateAssignableTo() which does throw an IRE

  * parseCQLType(): want InvalidRequestException instead of 
ConfigurationException
  * dropFunction(): use ColumnFamily.delete() to remove the whole partition 
instead of individual rows

* Do we need a way to drop a specific signature and not all versions of a 
function?

  * adding toString() would be nice, as it's expected by the logger in a couple 
of places
  
* MigrationManager:

  * Throw IRE instead of ConfigurationException (and update 
DropFunctionS

[jira] [Created] (CASSANDRA-7672) use types allow counters

2014-08-01 Thread Russ Hatch (JIRA)
Russ Hatch created CASSANDRA-7672:
-

 Summary: use types allow counters
 Key: CASSANDRA-7672
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7672
 Project: Cassandra
  Issue Type: Bug
Reporter: Russ Hatch


>From the conversation on CASSANDRA-6312 it seems we should not allow user 
>types to contain counters. Presently, user types can be defined with field 
>types of counter, and these user types can also be associated with tables 
>without error.

I'm not certain if there's a compelling case for counters within user types, 
but I don't think there's any syntax existing presently that would allow 
updating them anyway.

To repro:
{noformat}
CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
'replication_factor': '1'}  AND durable_writes = true;

USE test;

CREATE TYPE t_item (
  sub_one counter
); 

CREATE TYPE item (
  sub_one counter
); 

CREATE TABLE test.mytable (
value1 text PRIMARY KEY,
item t_item,
value2 text
);

cqlsh:test> insert into mytable (value1, value2) VALUES ( 'foo', 'bar');
cqlsh:test> select * from mytable;

 value1 | item | value2
+--+
foo | null |bar

{noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7670) selecting field from empty UDT cell using dot notation triggers exception

2014-08-01 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-7670:
--

Tester: Russ Hatch

> selecting field from empty UDT cell using dot notation triggers exception
> -
>
> Key: CASSANDRA-7670
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7670
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
>Priority: Minor
>
> Hopefully the title explains the issue.
> Basically if a row has a user type which is undefined, using the "dot 
> notation" syntax causes cqlsh to show a NPE, and an exception ends up in the 
> log as well.
> I would expect the behavior here to execute the query and return null, since 
> the user type itself is null, then it's fields are null as well (the downside 
> here is there would be no way to distinguish between a null UDT and a null 
> UDT field, without making an initial query to check if the UDT is non-null).
> Steps to repro:
> {noformat}
> create keyspace test with replication = {'class':'SimpleStrategy', 
> 'replication_factor':1};
> use test;
> CREATE TYPE t_item (subitem text);
> create table mytable (value1 text PRIMARY KEY, value2 text, item t_item);
> insert into mytable (value1, value2 ) values ('foo', 'bar');
> select item.subitem from mytable;
>  message="java.lang.NullPointerException">
> {noformat}
> Here's the exception logged:
> {noformat}
> ERROR [SharedPool-Worker-1] 2014-08-01 15:49:00,514 ErrorMessage.java:218 - 
> Unexpected exception during request
> java.lang.NullPointerException: null
> at 
> org.apache.cassandra.db.marshal.TupleType.split(TupleType.java:146) 
> ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$FieldSelector.compute(Selection.java:469)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$SelectionWithFunctions.handleRow(Selection.java:537)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.Selection$ResultSetBuilder.build(Selection.java:333)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:1149)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:283)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:225)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:60)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:187)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:206) 
> ~[main/:na]
> at 
> org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
>  ~[main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:421)
>  [main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:318)
>  [main/:na]
> at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:31)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:323)
>  [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> [na:1.7.0_65]
> at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163)
>  [main/:na]
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) 
> [main/:na]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7395) Support for pure user-defined functions (UDF)

2014-08-01 Thread Tyler Hobbs (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083132#comment-14083132
 ] 

Tyler Hobbs commented on CASSANDRA-7395:


> Application level conflicts may arise if new 'core CQL' functions appear in a 
> future C* version with the same name of existing UDFs. We should make that 
> clear in documentation and encourage users to use namespaces. The only 
> alternative that came to my mind was to force users to use SELECT 
> ::sin(foo)... for non-namespace UDFs - but I'm not happy with that 
> alternative.

I think encouraging the use of namespaces is the best way to go.  Perhaps on 
startup we could check for any non-namespaced UDFs that would be inaccessible 
due to a collision with a (new) core function name and log a warning?  At that 
point, the user could define the function within a namspace.

Comments on the patch:

* UFMetaData:

  * Bad javadoc for the class
  * Redundant work in constructors
  * compatibleArgs():

* argType should not be null (no TypeAndData)
* To fix the IRE case, make AssignementTestable.isAssignableTo() not throw 
an IRE,
  add validateAssignableTo() which does throw an IRE

  * parseCQLType(): want InvalidRequestException instead of 
ConfigurationException
  * dropFunction(): use ColumnFamily.delete() to remove the whole partition 
instead of individual rows

* Do we need a way to drop a specific signature and not all versions of a 
function?

  * adding toString() would be nice, as it's expected by the logger in a couple 
of places
  
* MigrationManager:

  * Throw IRE instead of ConfigurationException (and update 
DropFunctionStatement)

* CFMetaData:

  * Use 604800 for gc_grace_seconds (see CASSANDRA-7668)

* FunctionCall:

  * prepare(): no need for curly braces on "if" with single statement
  * prepare(): s/Unknown CQL3 function called/Unknown function called/
  * toString(): no single-line if-statements, please
  
* Selectable:

  * toString(): no single-line if-statements

* DefsTables:

  * add/update/dropFunction() do need to notify listeners (you have TODOs 
there), so we need MigrationManager.notifyAdd/Update/DropUDF()

* Event:

  * Keyspace string should be empty for UDF changes (we'll need a v4 protocol 
doc soon)
  * serializeEvent() and eventSerializedSize() will need to handle function 
events specially when the protocolversion < 4.  I guess we shouldn't send 
events at all? I'm not too sure about this one.
  
* CreateFunctionStatement:

  * constructor: Instead of throwing NPEs, use assertions
  * changeEvent(): whitespace is off 
  * execute(): throw IREs instead of ConfigurationExceptions

* DropFunctionStatement:

  * Unused imports

* UDFunction:

  * "throws" can go on the same line as method signature
  * Throw IRE instead of ConfigurationException
  
* UDFRegistry:
  * no need for curlies on single-statement "ifs" (there are a few)
  * refreshInitial():
  
* use QueryProcess.executeOnceInternal() instead of process()
* put for-loop initialization on single line
* if we fail to query system.schema_functions, let the exception propagate

Overall, the patch is looking really good.  After the next round of fixes, I'll 
do some testing and further review.

We also definitely want to get good test coverage of this.  Unit tests that 
extend CQLTester would be a good start (and they could use functions from the 
test class for UDFs).

> Support for pure user-defined functions (UDF)
> -
>
> Key: CASSANDRA-7395
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7395
> Project: Cassandra
>  Issue Type: New Feature
>  Components: API, Core
>Reporter: Jonathan Ellis
>Assignee: Robert Stupp
>  Labels: cql
> Fix For: 3.0
>
> Attachments: 7395.txt, udf-create-syntax.png, udf-drop-syntax.png
>
>
> We have some tickets for various aspects of UDF (CASSANDRA-4914, 
> CASSANDRA-5970, CASSANDRA-4998) but they all suffer from various degrees of 
> ocean-boiling.
> Let's start with something simple: allowing pure user-defined functions in 
> the SELECT clause of a CQL query.  That's it.
> By "pure" I mean, must depend only on the input parameters.  No side effects. 
>  No exposure to C* internals.  Column values in, result out.  
> http://en.wikipedia.org/wiki/Pure_function



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7656) UDT with null/missing attributes

2014-08-01 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083114#comment-14083114
 ] 

Aleksey Yeschenko commented on CASSANDRA-7656:
--

+1 (to the updated-bundled-driver branch).

> UDT with null/missing attributes 
> -
>
> Key: CASSANDRA-7656
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7656
> Project: Cassandra
>  Issue Type: Bug
>  Components: API, Core
>Reporter: Jaroslav Kamenik
>Assignee: Tyler Hobbs
>Priority: Minor
> Fix For: 2.1.0
>
>
> I have experienced problem with queriing UDTs stored with some not filled 
> attributes through new java driver 2.1. I tried to query them in cqlsh too 
> and it failed. I tried to simulate it again with fresh C* directly in cqlsh 
> and it seems it has problems in some cases. I have tested it with UDT defined 
> as (a ascii, b ascii, c ascii, d ascii, e ascii, f ascii, g ascii). 
> Few observations:
> {noformat}
> Store {a:'a'} is ok, it returns {a: 'a', b: '', c: '', d: '', e: '', f: '', 
> g: ''}
> Store {a:'a', b:'b', c:'c', d:'d', e:'e', f:'f', g:'g'} is ok, returns all 
> filled.
> Store {a:'a',  g:'g'} fills a only.
> Store {a:'a', b:'b', d:'d', e:'e', f:'f', g:'g'} (missing c) failed on load.
> Store {a:'a', f:'f', g:'g'} fills just a. 
> Store {f:'f',g:'g'} nothing filled
> Store {e:'e',f:'f',g:'g'} failed on load.
> 
> {noformat}
> you can reproduce it with:
> {noformat}
> ./cqlsh
> Connected to WOC at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 2.1.0-rc4 | CQL spec 3.2.0 | Native protocol v3]
> Use HELP for help.
> cqlsh> create keyspace testks WITH REPLICATION = { 'class' : 
> 'SimpleStrategy', 'replication_factor' : 1};
> cqlsh> use testks;
> cqlsh:testks> CREATE TYPE IF NOT EXISTS data (a ascii, b ascii, c ascii, d 
> ascii, e ascii, f ascii, g ascii);
> cqlsh:testks> CREATE TABLE IF NOT EXISTS bbb (a ascii primary key, b data);
> cqlsh:testks> insert into testks.bbb (a,b) values ('a', {a:'a'});
> cqlsh:testks> select * from bbb;
>  a | b
> ---+
>  a | {a: 'a', b: '', c: '', d: '', e: '', f: '', g: ''}
> (1 rows)
> cqlsh:testks> insert into testks.bbb (a,b) values ('a', {a:'a', b:'b', c:'c', 
> d:'d', e:'e', f:'f', g:'g'});
> cqlsh:testks> select * from bbb;
>  a | b
> ---+--
>  a | {a: 'a', b: 'b', c: 'c', d: 'd', e: 'e', f: 'f', g: 'g'}
> (1 rows)
> cqlsh> insert into testks.bbb (a,b) values ('a', {a:'a',  g:'g'});
> cqlsh> select * from testks.bbb;
>  a | b
> ---+
>  a | {a: 'a', b: '', c: '', d: '', e: '', f: '', g: ''}
> (1 rows)
> cqlsh:testks> insert into testks.bbb (a,b) values ('a', {a:'a', b:'b', d:'d', 
> e:'e', f:'f', g:'g'});
> cqlsh:testks> select * from bbb;
> Traceback (most recent call last):
>   File "./cqlsh", line 901, in perform_simple_statement
> rows = self.session.execute(statement, trace=self.tracing_enabled)
>   File 
> "/srv/apache-cassandra-2.1.0-rc4/bin/../lib/cassandra-driver-internal-only-2.1.0b1.post.zip/cassandra-driver-2.1.0b1.post/cassandra/cluster.py",
>  line 1186, in execute
> result = future.result(timeout)
>   File 
> "/srv/apache-cassandra-2.1.0-rc4/bin/../lib/cassandra-driver-internal-only-2.1.0b1.post.zip/cassandra-driver-2.1.0b1.post/cassandra/cluster.py",
>  line 2610, in result
> raise self._final_exception
> error: unpack requires a string argument of length 4
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7670) selecting field from empty UDT cell using dot notation triggers exception

2014-08-01 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-7670:
--

Description: 
Hopefully the title explains the issue.

Basically if a row has a user type which is undefined, using the "dot notation" 
syntax causes cqlsh to show a NPE, and an exception ends up in the log as well.

I would expect the behavior here to execute the query and return null, since 
the user type itself is null, then it's fields are null as well (the downside 
here is there would be no way to distinguish between a null UDT and a null UDT 
field, without making an initial query to check if the UDT is non-null).

Steps to repro:
{noformat}
create keyspace test with replication = {'class':'SimpleStrategy', 
'replication_factor':1};

use test;

CREATE TYPE t_item (subitem text);

create table mytable (value1 text PRIMARY KEY, value2 text, item t_item);

insert into mytable (value1, value2 ) values ('foo', 'bar');

select item.subitem from mytable;

{noformat}
Here's the exception logged:
{noformat}
ERROR [SharedPool-Worker-1] 2014-08-01 15:49:00,514 ErrorMessage.java:218 - 
Unexpected exception during request
java.lang.NullPointerException: null
at org.apache.cassandra.db.marshal.TupleType.split(TupleType.java:146) 
~[main/:na]
at 
org.apache.cassandra.cql3.statements.Selection$FieldSelector.compute(Selection.java:469)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.Selection$SelectionWithFunctions.handleRow(Selection.java:537)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.Selection$ResultSetBuilder.build(Selection.java:333)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:1149)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:283)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:225)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:60)
 ~[main/:na]
at 
org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:187)
 ~[main/:na]
at 
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:206) 
~[main/:na]
at 
org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
 ~[main/:na]
at 
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:421)
 [main/:na]
at 
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:318)
 [main/:na]
at 
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
 [netty-all-4.0.20.Final.jar:4.0.20.Final]
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
 [netty-all-4.0.20.Final.jar:4.0.20.Final]
at 
io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:31)
 [netty-all-4.0.20.Final.jar:4.0.20.Final]
at 
io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:323)
 [netty-all-4.0.20.Final.jar:4.0.20.Final]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
[na:1.7.0_65]
at 
org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163)
 [main/:na]
at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) 
[main/:na]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
{noformat}

  was:
Hopefully the title explains the issue.

Basically if a row has a user type which is undefined, using the "dot notation" 
syntax causes cqlsh to show a NPE, and an exception ends up in the log as well.

I would expect the behavior here to execute the query and return null, since 
the user type itself is null, then it's fields are null as well (the downside 
here is there would be no way to distinguish between a null UDT and a null UDT 
field, without making an initial query to check if the UDT is non-null).

Steps to repro:
{noformat}
create keyspace test with replication = {'class':'SimpleStrategy', 
'replication_factor':1};

use test;

CREATE TYPE t_item (subitem text);

create table mytable (value1 text PRIMARY KEY, value2 test, item t_item);

insert into mytable (value1, value2 ) values ('foo', 'bar');

select item.subitem from mytable;

{noformat}
Here's the exception logged:
{noformat}
ERROR [SharedPool-Worker-1] 2014-08-01 15:49:00,514 ErrorMessage.java:218 - 
Unexpected exception during request
java.lang.NullPointerException: null
at org.apache.cassandra.db.marshal.TupleType.split(TupleType.java:146) 
~[main/:na]
at 
org.apache.cassandra.cql3.statements.Selection$FieldSelector.compute(Selection.java:469)
 ~[main/:na]
  

[jira] [Created] (CASSANDRA-7671) cqlsh: Error when printing results of conditional updates

2014-08-01 Thread Tyler Hobbs (JIRA)
Tyler Hobbs created CASSANDRA-7671:
--

 Summary: cqlsh: Error when printing results of conditional updates
 Key: CASSANDRA-7671
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7671
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: Tyler Hobbs
Assignee: Tyler Hobbs
 Fix For: 2.1.0


{noformat}
cqlsh> INSERT INTO demo.kv (key, value) VALUES (1, 1) IF NOT EXISTS;

print_static_result() takes exactly 3 arguments (2 given)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7669) nodetool fails to connect when ipv6 host is specified

2014-08-01 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-7669:
--

Fix Version/s: (was: 2.1.0)
   2.1.1

I assume this also affects 2.0.x?

> nodetool fails to connect when ipv6 host is specified
> -
>
> Key: CASSANDRA-7669
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7669
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
> Environment: java version "1.7.0_65"
> Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
> Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
>Reporter: Adam Holmberg
>Priority: Trivial
> Fix For: 2.1.1
>
> Attachments: nodetool_url_fmt.txt
>
>
> The NodeProbe fmtUrl does not account for ipv6 addresses specified for 
> 'host'. 
> nodetool -h with ipv6 host address fails with cryptic error message
> Adding square brackets as in http://www.ietf.org/rfc/rfc3986.txt section 
> 3.2.2 corrects this behavior. Patch attached.
> {code:title=Before}
> aholmberg-rmbp15:cassandra-2.1.0-rc4 adamholmberg$ for h in localhost 
> 127.0.0.1 ::1 0::1; do cmd="bin/nodetool -h $h -p 7100 version"; echo $cmd; 
> eval $cmd; done
> bin/nodetool -h localhost -p 7100 version
> ReleaseVersion: 2.1.0-rc4-SNAPSHOT
> bin/nodetool -h 127.0.0.1 -p 7100 version
> ReleaseVersion: 2.1.0-rc4-SNAPSHOT
> bin/nodetool -h ::1 -p 7100 version
> nodetool: For input string: ":1:7100"
> See 'nodetool help' or 'nodetool help '.
> bin/nodetool -h 0::1 -p 7100 version
> nodetool: For input string: ":1:7100"
> See 'nodetool help' or 'nodetool help ’.
> {code}
> {code:title=After}
> aholmberg-rmbp15:cassandra-2.1.0-rc4 adamholmberg$ for h in localhost 
> 127.0.0.1 ::1 0::1; do cmd="bin/nodetool -h $h -p 7100 version"; echo $cmd; 
> eval $cmd; done
> bin/nodetool -h localhost -p 7100 version
> ReleaseVersion: 2.1.0-rc4-SNAPSHOT
> bin/nodetool -h 127.0.0.1 -p 7100 version
> ReleaseVersion: 2.1.0-rc4-SNAPSHOT
> bin/nodetool -h ::1 -p 7100 version
> ReleaseVersion: 2.1.0-rc4-SNAPSHOT
> bin/nodetool -h 0::1 -p 7100 version
> ReleaseVersion: 2.1.0-rc4-SNAPSHOT
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


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

2014-08-01 Thread yukim
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 4f778d2e7 -> 824ffa1da
  refs/heads/cassandra-2.1.0 a09e53cda -> 110a132b1
  refs/heads/trunk 37b3a2ba0 -> ff4d159ef


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


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

Branch: refs/heads/trunk
Commit: 4f778d2e7ec469f2b2afcdd1b5f5e8012fe6b9bd
Parents: 24f6f03 3faf88c
Author: Benedict Elliott Smith 
Authored: Fri Aug 1 21:51:01 2014 +0100
Committer: Benedict Elliott Smith 
Committed: Fri Aug 1 21:51:01 2014 +0100

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--




[3/7] git commit: Fix scrub against collection type

2014-08-01 Thread yukim
Fix scrub against collection type

patch by yukim; reviewed by thobbs for CASSANDRA-7665


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

Branch: refs/heads/trunk
Commit: 110a132b18f006c4c9ca0c5913cbe64c5d3e01f7
Parents: a09e53c
Author: Yuki Morishita 
Authored: Fri Aug 1 17:20:25 2014 -0500
Committer: Yuki Morishita 
Committed: Fri Aug 1 17:20:25 2014 -0500

--
 CHANGES.txt|  1 +
 src/java/org/apache/cassandra/db/AbstractCell.java |  2 +-
 .../org/apache/cassandra/db/marshal/AbstractType.java  | 13 +
 .../apache/cassandra/db/marshal/CollectionType.java|  6 ++
 4 files changed, 21 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6ab8a73..9cff11a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -25,6 +25,7 @@
  * (cqlsh) Correctly handle paged result sets (CASSANDRA-7625)
  * (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626)
  * Fix tracing of concurrent range slices and 2ary index queries 
(CASSANDRA-7626)
+ * Fix scrub against collection type (CASSANDRA-7665)
 Merged from 2.0:
  * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
  * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/src/java/org/apache/cassandra/db/AbstractCell.java
--
diff --git a/src/java/org/apache/cassandra/db/AbstractCell.java 
b/src/java/org/apache/cassandra/db/AbstractCell.java
index 82f1989..f27871f 100644
--- a/src/java/org/apache/cassandra/db/AbstractCell.java
+++ b/src/java/org/apache/cassandra/db/AbstractCell.java
@@ -164,7 +164,7 @@ public abstract class AbstractCell implements Cell
 
 AbstractType valueValidator = metadata.getValueValidator(name());
 if (valueValidator != null)
-valueValidator.validate(value());
+valueValidator.validateCellValue(value());
 }
 
 public static Cell create(CellName name, ByteBuffer value, long timestamp, 
int ttl, CFMetaData metadata)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/src/java/org/apache/cassandra/db/marshal/AbstractType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/AbstractType.java 
b/src/java/org/apache/cassandra/db/marshal/AbstractType.java
index f45de36..4e1f2a3 100644
--- a/src/java/org/apache/cassandra/db/marshal/AbstractType.java
+++ b/src/java/org/apache/cassandra/db/marshal/AbstractType.java
@@ -95,6 +95,19 @@ public abstract class AbstractType implements 
Comparator
 getSerializer().validate(bytes);
 }
 
+/**
+ * Validate cell value. Unlike {@linkplain #validate(java.nio.ByteBuffer)},
+ * cell value is passed to validate its content.
+ * Usually, this is the same as validate except collection.
+ *
+ * @param cellValue ByteBuffer representing cell value
+ * @throws MarshalException
+ */
+public void validateCellValue(ByteBuffer cellValue) throws MarshalException
+{
+validate(cellValue);
+}
+
 /* Most of our internal type should override that. */
 public CQL3Type asCQL3Type()
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/src/java/org/apache/cassandra/db/marshal/CollectionType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/CollectionType.java 
b/src/java/org/apache/cassandra/db/marshal/CollectionType.java
index be344f9..8a5fe5c 100644
--- a/src/java/org/apache/cassandra/db/marshal/CollectionType.java
+++ b/src/java/org/apache/cassandra/db/marshal/CollectionType.java
@@ -64,6 +64,12 @@ public abstract class CollectionType extends 
AbstractType
 public abstract CollectionSerializer getSerializer();
 
 @Override
+public void validateCellValue(ByteBuffer cellValue) throws MarshalException
+{
+valueComparator().validate(cellValue);
+}
+
+@Override
 public String toString()
 {
 StringBuilder sb = new StringBuilder();



[6/7] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-08-01 Thread yukim
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: 824ffa1da02c1daac4772aca6d9df6cfa7d1c7cc
Parents: 4f778d2 110a132
Author: Yuki Morishita 
Authored: Fri Aug 1 17:21:13 2014 -0500
Committer: Yuki Morishita 
Committed: Fri Aug 1 17:21:13 2014 -0500

--
 CHANGES.txt|  1 +
 src/java/org/apache/cassandra/db/AbstractCell.java |  2 +-
 .../org/apache/cassandra/db/marshal/AbstractType.java  | 13 +
 .../apache/cassandra/db/marshal/CollectionType.java|  6 ++
 4 files changed, 21 insertions(+), 1 deletion(-)
--


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



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

2014-08-01 Thread yukim
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: ff4d159efc64f748200339c728f794916b953e0d
Parents: 37b3a2b 824ffa1
Author: Yuki Morishita 
Authored: Fri Aug 1 17:21:19 2014 -0500
Committer: Yuki Morishita 
Committed: Fri Aug 1 17:21:19 2014 -0500

--
 CHANGES.txt|  1 +
 src/java/org/apache/cassandra/db/AbstractCell.java |  2 +-
 .../org/apache/cassandra/db/marshal/AbstractType.java  | 13 +
 .../apache/cassandra/db/marshal/CollectionType.java|  6 ++
 4 files changed, 21 insertions(+), 1 deletion(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ff4d159e/src/java/org/apache/cassandra/db/marshal/AbstractType.java
--



[jira] [Commented] (CASSANDRA-7667) Improve migration

2014-08-01 Thread Robert Stupp (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083056#comment-14083056
 ] 

Robert Stupp commented on CASSANDRA-7667:
-

Maybe - I had the two images from CASSANDRA-6977 ([5 
nodes|https://issues.apache.org/jira/secure/attachment/12638346/all_data_5_nodes.png],
 [100 
nodes|https://issues.apache.org/jira/secure/attachment/12638347/100_nodes_all_data.png])
 and CASSANDRA-6976 in mind. Maybe the weird 100-nodes-graph is partly caused 
by the heap that broadcast needs - but that's some kind of "looking into the 
crystal ball".

> Improve migration
> -
>
> Key: CASSANDRA-7667
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7667
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>
> Idea is to optimize migration especially for large clusters with multiple DCs.
>  
> Currently {{MigrationManager.announce()}} simply broadcasts to all nodes.
>  
> Idea is to not announce schema migration to every node.
>  
> *Against remote DCs*: only contact a single node in each remote DC. This 
> could make migration faster, because network latency comes into play. And it 
> lowers cross-DC network requirements (since 1-to-all communication creates a 
> huge amount of TCP connections). Drawback: remote-DC-announcement must be 
> reliable (receiver must ACK - if it doesn't, sender must retry another node).
>  
> *Within the local DC*: use some gossip approach - e.g. only contact N nodes 
> at once. Not sure about this one  - it might be nice, if there are really 
> many (~100) nodes in one DC. But it's a bit difficult to guarantee, that all 
> nodes will receive the announcement without giving up the "fire-and-forget" 
> approach.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[2/7] git commit: Fix scrub against collection type

2014-08-01 Thread yukim
Fix scrub against collection type

patch by yukim; reviewed by thobbs for CASSANDRA-7665


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

Branch: refs/heads/cassandra-2.1
Commit: 110a132b18f006c4c9ca0c5913cbe64c5d3e01f7
Parents: a09e53c
Author: Yuki Morishita 
Authored: Fri Aug 1 17:20:25 2014 -0500
Committer: Yuki Morishita 
Committed: Fri Aug 1 17:20:25 2014 -0500

--
 CHANGES.txt|  1 +
 src/java/org/apache/cassandra/db/AbstractCell.java |  2 +-
 .../org/apache/cassandra/db/marshal/AbstractType.java  | 13 +
 .../apache/cassandra/db/marshal/CollectionType.java|  6 ++
 4 files changed, 21 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6ab8a73..9cff11a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -25,6 +25,7 @@
  * (cqlsh) Correctly handle paged result sets (CASSANDRA-7625)
  * (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626)
  * Fix tracing of concurrent range slices and 2ary index queries 
(CASSANDRA-7626)
+ * Fix scrub against collection type (CASSANDRA-7665)
 Merged from 2.0:
  * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
  * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/src/java/org/apache/cassandra/db/AbstractCell.java
--
diff --git a/src/java/org/apache/cassandra/db/AbstractCell.java 
b/src/java/org/apache/cassandra/db/AbstractCell.java
index 82f1989..f27871f 100644
--- a/src/java/org/apache/cassandra/db/AbstractCell.java
+++ b/src/java/org/apache/cassandra/db/AbstractCell.java
@@ -164,7 +164,7 @@ public abstract class AbstractCell implements Cell
 
 AbstractType valueValidator = metadata.getValueValidator(name());
 if (valueValidator != null)
-valueValidator.validate(value());
+valueValidator.validateCellValue(value());
 }
 
 public static Cell create(CellName name, ByteBuffer value, long timestamp, 
int ttl, CFMetaData metadata)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/src/java/org/apache/cassandra/db/marshal/AbstractType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/AbstractType.java 
b/src/java/org/apache/cassandra/db/marshal/AbstractType.java
index f45de36..4e1f2a3 100644
--- a/src/java/org/apache/cassandra/db/marshal/AbstractType.java
+++ b/src/java/org/apache/cassandra/db/marshal/AbstractType.java
@@ -95,6 +95,19 @@ public abstract class AbstractType implements 
Comparator
 getSerializer().validate(bytes);
 }
 
+/**
+ * Validate cell value. Unlike {@linkplain #validate(java.nio.ByteBuffer)},
+ * cell value is passed to validate its content.
+ * Usually, this is the same as validate except collection.
+ *
+ * @param cellValue ByteBuffer representing cell value
+ * @throws MarshalException
+ */
+public void validateCellValue(ByteBuffer cellValue) throws MarshalException
+{
+validate(cellValue);
+}
+
 /* Most of our internal type should override that. */
 public CQL3Type asCQL3Type()
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/src/java/org/apache/cassandra/db/marshal/CollectionType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/CollectionType.java 
b/src/java/org/apache/cassandra/db/marshal/CollectionType.java
index be344f9..8a5fe5c 100644
--- a/src/java/org/apache/cassandra/db/marshal/CollectionType.java
+++ b/src/java/org/apache/cassandra/db/marshal/CollectionType.java
@@ -64,6 +64,12 @@ public abstract class CollectionType extends 
AbstractType
 public abstract CollectionSerializer getSerializer();
 
 @Override
+public void validateCellValue(ByteBuffer cellValue) throws MarshalException
+{
+valueComparator().validate(cellValue);
+}
+
+@Override
 public String toString()
 {
 StringBuilder sb = new StringBuilder();



[5/7] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-08-01 Thread yukim
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: 824ffa1da02c1daac4772aca6d9df6cfa7d1c7cc
Parents: 4f778d2 110a132
Author: Yuki Morishita 
Authored: Fri Aug 1 17:21:13 2014 -0500
Committer: Yuki Morishita 
Committed: Fri Aug 1 17:21:13 2014 -0500

--
 CHANGES.txt|  1 +
 src/java/org/apache/cassandra/db/AbstractCell.java |  2 +-
 .../org/apache/cassandra/db/marshal/AbstractType.java  | 13 +
 .../apache/cassandra/db/marshal/CollectionType.java|  6 ++
 4 files changed, 21 insertions(+), 1 deletion(-)
--


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



[4/7] git commit: Fix scrub against collection type

2014-08-01 Thread yukim
Fix scrub against collection type

patch by yukim; reviewed by thobbs for CASSANDRA-7665


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

Branch: refs/heads/cassandra-2.1.0
Commit: 110a132b18f006c4c9ca0c5913cbe64c5d3e01f7
Parents: a09e53c
Author: Yuki Morishita 
Authored: Fri Aug 1 17:20:25 2014 -0500
Committer: Yuki Morishita 
Committed: Fri Aug 1 17:20:25 2014 -0500

--
 CHANGES.txt|  1 +
 src/java/org/apache/cassandra/db/AbstractCell.java |  2 +-
 .../org/apache/cassandra/db/marshal/AbstractType.java  | 13 +
 .../apache/cassandra/db/marshal/CollectionType.java|  6 ++
 4 files changed, 21 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6ab8a73..9cff11a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -25,6 +25,7 @@
  * (cqlsh) Correctly handle paged result sets (CASSANDRA-7625)
  * (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626)
  * Fix tracing of concurrent range slices and 2ary index queries 
(CASSANDRA-7626)
+ * Fix scrub against collection type (CASSANDRA-7665)
 Merged from 2.0:
  * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
  * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/src/java/org/apache/cassandra/db/AbstractCell.java
--
diff --git a/src/java/org/apache/cassandra/db/AbstractCell.java 
b/src/java/org/apache/cassandra/db/AbstractCell.java
index 82f1989..f27871f 100644
--- a/src/java/org/apache/cassandra/db/AbstractCell.java
+++ b/src/java/org/apache/cassandra/db/AbstractCell.java
@@ -164,7 +164,7 @@ public abstract class AbstractCell implements Cell
 
 AbstractType valueValidator = metadata.getValueValidator(name());
 if (valueValidator != null)
-valueValidator.validate(value());
+valueValidator.validateCellValue(value());
 }
 
 public static Cell create(CellName name, ByteBuffer value, long timestamp, 
int ttl, CFMetaData metadata)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/src/java/org/apache/cassandra/db/marshal/AbstractType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/AbstractType.java 
b/src/java/org/apache/cassandra/db/marshal/AbstractType.java
index f45de36..4e1f2a3 100644
--- a/src/java/org/apache/cassandra/db/marshal/AbstractType.java
+++ b/src/java/org/apache/cassandra/db/marshal/AbstractType.java
@@ -95,6 +95,19 @@ public abstract class AbstractType implements 
Comparator
 getSerializer().validate(bytes);
 }
 
+/**
+ * Validate cell value. Unlike {@linkplain #validate(java.nio.ByteBuffer)},
+ * cell value is passed to validate its content.
+ * Usually, this is the same as validate except collection.
+ *
+ * @param cellValue ByteBuffer representing cell value
+ * @throws MarshalException
+ */
+public void validateCellValue(ByteBuffer cellValue) throws MarshalException
+{
+validate(cellValue);
+}
+
 /* Most of our internal type should override that. */
 public CQL3Type asCQL3Type()
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/110a132b/src/java/org/apache/cassandra/db/marshal/CollectionType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/CollectionType.java 
b/src/java/org/apache/cassandra/db/marshal/CollectionType.java
index be344f9..8a5fe5c 100644
--- a/src/java/org/apache/cassandra/db/marshal/CollectionType.java
+++ b/src/java/org/apache/cassandra/db/marshal/CollectionType.java
@@ -64,6 +64,12 @@ public abstract class CollectionType extends 
AbstractType
 public abstract CollectionSerializer getSerializer();
 
 @Override
+public void validateCellValue(ByteBuffer cellValue) throws MarshalException
+{
+valueComparator().validate(cellValue);
+}
+
+@Override
 public String toString()
 {
 StringBuilder sb = new StringBuilder();



[jira] [Commented] (CASSANDRA-7665) nodetool scrub fails on system schema with UDTs

2014-08-01 Thread Tyler Hobbs (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083045#comment-14083045
 ] 

Tyler Hobbs commented on CASSANDRA-7665:


+1

> nodetool scrub fails on system schema with UDTs
> ---
>
> Key: CASSANDRA-7665
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7665
> Project: Cassandra
>  Issue Type: Bug
> Environment: 2.1.0-rc4
>Reporter: Jonathan Halliday
>Assignee: Marcus Eriksson
> Fix For: 2.1.0
>
> Attachments: 0001-add-validateCellValue-to-AbstractType.patch, 
> 0001-test.patch
>
>
> {noformat}
> [apache-cassandra-2.1.0-rc4]$ bin/cqlsh
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 2.1.0-rc4 | CQL spec 3.2.0 | Native protocol v3]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1 };
> cqlsh> use test;
> cqlsh:test> CREATE TYPE point_t (x double, y double);
> cqlsh:test> exit
> {noformat}
> {noformat}
> [apache-cassandra-2.1.0-rc4]$bin/nodetool scrub
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  (34135 bytes)
> INFO  12:34:57 Scrub of 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  complete: 2 rows in new sstable and 0 empty (tombstoned) rows dropped
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/local-7ad54392bcdd35a684174e047860b377/system-local-ka-5-Data.db')
>  (12515 bytes)
> WARN  12:34:57 Error reading row (stacktrace follows):
> org.apache.cassandra.io.sstable.CorruptSSTableException: 
> org.apache.cassandra.serializers.MarshalException: Not enough bytes to read a 
> set
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:139)
>  ~[apache-cassandra-2.1.0-rc4.jar:2.1.0-rc4]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7670) selecting field from empty UDT cell using dot notation triggers exception

2014-08-01 Thread Russ Hatch (JIRA)
Russ Hatch created CASSANDRA-7670:
-

 Summary: selecting field from empty UDT cell using dot notation 
triggers exception
 Key: CASSANDRA-7670
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7670
 Project: Cassandra
  Issue Type: Bug
Reporter: Russ Hatch
Priority: Minor


Hopefully the title explains the issue.

Basically if a row has a user type which is undefined, using the "dot notation" 
syntax causes cqlsh to show a NPE, and an exception ends up in the log as well.

I would expect the behavior here to execute the query and return null, since 
the user type itself is null, then it's fields are null as well (the downside 
here is there would be no way to distinguish between a null UDT and a null UDT 
field, without making an initial query to check if the UDT is non-null).

Steps to repro:
{noformat}
create keyspace test with replication = {'class':'SimpleStrategy', 
'replication_factor':1};

use test;

CREATE TYPE t_item (subitem text);

create table mytable (value1 text PRIMARY KEY, value2 test, item t_item);

insert into mytable (value1, value2 ) values ('foo', 'bar');

select item.subitem from mytable;

{noformat}
Here's the exception logged:
{noformat}
ERROR [SharedPool-Worker-1] 2014-08-01 15:49:00,514 ErrorMessage.java:218 - 
Unexpected exception during request
java.lang.NullPointerException: null
at org.apache.cassandra.db.marshal.TupleType.split(TupleType.java:146) 
~[main/:na]
at 
org.apache.cassandra.cql3.statements.Selection$FieldSelector.compute(Selection.java:469)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.Selection$SelectionWithFunctions.handleRow(Selection.java:537)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.Selection$ResultSetBuilder.build(Selection.java:333)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:1149)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:283)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:225)
 ~[main/:na]
at 
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:60)
 ~[main/:na]
at 
org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:187)
 ~[main/:na]
at 
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:206) 
~[main/:na]
at 
org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
 ~[main/:na]
at 
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:421)
 [main/:na]
at 
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:318)
 [main/:na]
at 
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
 [netty-all-4.0.20.Final.jar:4.0.20.Final]
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
 [netty-all-4.0.20.Final.jar:4.0.20.Final]
at 
io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:31)
 [netty-all-4.0.20.Final.jar:4.0.20.Final]
at 
io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:323)
 [netty-all-4.0.20.Final.jar:4.0.20.Final]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
[na:1.7.0_65]
at 
org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163)
 [main/:na]
at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) 
[main/:na]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
{noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7665) nodetool scrub fails on system schema with UDTs

2014-08-01 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-7665:
--

Attachment: 0001-add-validateCellValue-to-AbstractType.patch

Updated patch for Tyler's comment.

> nodetool scrub fails on system schema with UDTs
> ---
>
> Key: CASSANDRA-7665
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7665
> Project: Cassandra
>  Issue Type: Bug
> Environment: 2.1.0-rc4
>Reporter: Jonathan Halliday
>Assignee: Marcus Eriksson
> Fix For: 2.1.0
>
> Attachments: 0001-add-validateCellValue-to-AbstractType.patch, 
> 0001-test.patch
>
>
> {noformat}
> [apache-cassandra-2.1.0-rc4]$ bin/cqlsh
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 2.1.0-rc4 | CQL spec 3.2.0 | Native protocol v3]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1 };
> cqlsh> use test;
> cqlsh:test> CREATE TYPE point_t (x double, y double);
> cqlsh:test> exit
> {noformat}
> {noformat}
> [apache-cassandra-2.1.0-rc4]$bin/nodetool scrub
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  (34135 bytes)
> INFO  12:34:57 Scrub of 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  complete: 2 rows in new sstable and 0 empty (tombstoned) rows dropped
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/local-7ad54392bcdd35a684174e047860b377/system-local-ka-5-Data.db')
>  (12515 bytes)
> WARN  12:34:57 Error reading row (stacktrace follows):
> org.apache.cassandra.io.sstable.CorruptSSTableException: 
> org.apache.cassandra.serializers.MarshalException: Not enough bytes to read a 
> set
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:139)
>  ~[apache-cassandra-2.1.0-rc4.jar:2.1.0-rc4]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7669) nodetool fails to connect when ipv6 host is specified

2014-08-01 Thread Adam Holmberg (JIRA)
Adam Holmberg created CASSANDRA-7669:


 Summary: nodetool fails to connect when ipv6 host is specified
 Key: CASSANDRA-7669
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7669
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
 Environment: java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
Reporter: Adam Holmberg
Priority: Trivial
 Fix For: 2.1.0
 Attachments: nodetool_url_fmt.txt

The NodeProbe fmtUrl does not account for ipv6 addresses specified for 'host'. 

nodetool -h with ipv6 host address fails with cryptic error message

Adding square brackets as in http://www.ietf.org/rfc/rfc3986.txt section 3.2.2 
corrects this behavior. Patch attached.

{code:title=Before}
aholmberg-rmbp15:cassandra-2.1.0-rc4 adamholmberg$ for h in localhost 127.0.0.1 
::1 0::1; do cmd="bin/nodetool -h $h -p 7100 version"; echo $cmd; eval $cmd; 
done
bin/nodetool -h localhost -p 7100 version
ReleaseVersion: 2.1.0-rc4-SNAPSHOT
bin/nodetool -h 127.0.0.1 -p 7100 version
ReleaseVersion: 2.1.0-rc4-SNAPSHOT
bin/nodetool -h ::1 -p 7100 version
nodetool: For input string: ":1:7100"
See 'nodetool help' or 'nodetool help '.
bin/nodetool -h 0::1 -p 7100 version
nodetool: For input string: ":1:7100"
See 'nodetool help' or 'nodetool help ’.
{code}

{code:title=After}
aholmberg-rmbp15:cassandra-2.1.0-rc4 adamholmberg$ for h in localhost 127.0.0.1 
::1 0::1; do cmd="bin/nodetool -h $h -p 7100 version"; echo $cmd; eval $cmd; 
done
bin/nodetool -h localhost -p 7100 version
ReleaseVersion: 2.1.0-rc4-SNAPSHOT
bin/nodetool -h 127.0.0.1 -p 7100 version
ReleaseVersion: 2.1.0-rc4-SNAPSHOT
bin/nodetool -h ::1 -p 7100 version
ReleaseVersion: 2.1.0-rc4-SNAPSHOT
bin/nodetool -h 0::1 -p 7100 version
ReleaseVersion: 2.1.0-rc4-SNAPSHOT
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7665) nodetool scrub fails on system schema with UDTs

2014-08-01 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-7665:
--

Attachment: (was: 7665.txt)

> nodetool scrub fails on system schema with UDTs
> ---
>
> Key: CASSANDRA-7665
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7665
> Project: Cassandra
>  Issue Type: Bug
> Environment: 2.1.0-rc4
>Reporter: Jonathan Halliday
>Assignee: Marcus Eriksson
> Fix For: 2.1.0
>
> Attachments: 0001-add-validateCellValue-to-AbstractType.patch, 
> 0001-test.patch
>
>
> {noformat}
> [apache-cassandra-2.1.0-rc4]$ bin/cqlsh
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 2.1.0-rc4 | CQL spec 3.2.0 | Native protocol v3]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1 };
> cqlsh> use test;
> cqlsh:test> CREATE TYPE point_t (x double, y double);
> cqlsh:test> exit
> {noformat}
> {noformat}
> [apache-cassandra-2.1.0-rc4]$bin/nodetool scrub
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  (34135 bytes)
> INFO  12:34:57 Scrub of 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  complete: 2 rows in new sstable and 0 empty (tombstoned) rows dropped
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/local-7ad54392bcdd35a684174e047860b377/system-local-ka-5-Data.db')
>  (12515 bytes)
> WARN  12:34:57 Error reading row (stacktrace follows):
> org.apache.cassandra.io.sstable.CorruptSSTableException: 
> org.apache.cassandra.serializers.MarshalException: Not enough bytes to read a 
> set
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:139)
>  ~[apache-cassandra-2.1.0-rc4.jar:2.1.0-rc4]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7667) Improve migration

2014-08-01 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083022#comment-14083022
 ] 

Brandon Williams commented on CASSANDRA-7667:
-

bq. Intention for this was that there were tickets which reported that schema 
agreement time increases with the number of nodes.

FTR, the cause of that isn't the announcement, it's the cost of applying the 
updates, and not really related to number of nodes as much as number of 
keyspaces/tables.

> Improve migration
> -
>
> Key: CASSANDRA-7667
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7667
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>
> Idea is to optimize migration especially for large clusters with multiple DCs.
>  
> Currently {{MigrationManager.announce()}} simply broadcasts to all nodes.
>  
> Idea is to not announce schema migration to every node.
>  
> *Against remote DCs*: only contact a single node in each remote DC. This 
> could make migration faster, because network latency comes into play. And it 
> lowers cross-DC network requirements (since 1-to-all communication creates a 
> huge amount of TCP connections). Drawback: remote-DC-announcement must be 
> reliable (receiver must ACK - if it doesn't, sender must retry another node).
>  
> *Within the local DC*: use some gossip approach - e.g. only contact N nodes 
> at once. Not sure about this one  - it might be nice, if there are really 
> many (~100) nodes in one DC. But it's a bit difficult to guarantee, that all 
> nodes will receive the announcement without giving up the "fire-and-forget" 
> approach.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7665) nodetool scrub fails on system schema with UDTs

2014-08-01 Thread Tyler Hobbs (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083010#comment-14083010
 ] 

Tyler Hobbs commented on CASSANDRA-7665:


[~yukim] I think we need a separate {{validateCellValue()}} method on 
{{AbstractType}} and {{TypeSerializer}}, which 
{{AbstractCell.validateFields()}} will call.  By default, it can use the normal 
{{validate()}} results, but {{CollectionSerializer}} will need to override that.

I don't think there are actually any problems with UDTs (or tuples), despite 
the name of the ticket and the initial description.

> nodetool scrub fails on system schema with UDTs
> ---
>
> Key: CASSANDRA-7665
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7665
> Project: Cassandra
>  Issue Type: Bug
> Environment: 2.1.0-rc4
>Reporter: Jonathan Halliday
>Assignee: Marcus Eriksson
> Fix For: 2.1.0
>
> Attachments: 0001-test.patch, 7665.txt
>
>
> {noformat}
> [apache-cassandra-2.1.0-rc4]$ bin/cqlsh
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 2.1.0-rc4 | CQL spec 3.2.0 | Native protocol v3]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1 };
> cqlsh> use test;
> cqlsh:test> CREATE TYPE point_t (x double, y double);
> cqlsh:test> exit
> {noformat}
> {noformat}
> [apache-cassandra-2.1.0-rc4]$bin/nodetool scrub
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  (34135 bytes)
> INFO  12:34:57 Scrub of 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  complete: 2 rows in new sstable and 0 empty (tombstoned) rows dropped
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/local-7ad54392bcdd35a684174e047860b377/system-local-ka-5-Data.db')
>  (12515 bytes)
> WARN  12:34:57 Error reading row (stacktrace follows):
> org.apache.cassandra.io.sstable.CorruptSSTableException: 
> org.apache.cassandra.serializers.MarshalException: Not enough bytes to read a 
> set
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:139)
>  ~[apache-cassandra-2.1.0-rc4.jar:2.1.0-rc4]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (CASSANDRA-7667) Improve migration

2014-08-01 Thread Robert Stupp (JIRA)

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

Robert Stupp resolved CASSANDRA-7667.
-

Resolution: Not a Problem

Ah - so gossip does not only help on schema agreement on node startup but also 
if a node "misses" the announcement.
Then this idea does not make really sense ("not a problem")

Intention for this was that there were tickets which reported that schema 
agreement time increases with the number of nodes.

> Improve migration
> -
>
> Key: CASSANDRA-7667
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7667
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>
> Idea is to optimize migration especially for large clusters with multiple DCs.
>  
> Currently {{MigrationManager.announce()}} simply broadcasts to all nodes.
>  
> Idea is to not announce schema migration to every node.
>  
> *Against remote DCs*: only contact a single node in each remote DC. This 
> could make migration faster, because network latency comes into play. And it 
> lowers cross-DC network requirements (since 1-to-all communication creates a 
> huge amount of TCP connections). Drawback: remote-DC-announcement must be 
> reliable (receiver must ACK - if it doesn't, sender must retry another node).
>  
> *Within the local DC*: use some gossip approach - e.g. only contact N nodes 
> at once. Not sure about this one  - it might be nice, if there are really 
> many (~100) nodes in one DC. But it's a bit difficult to guarantee, that all 
> nodes will receive the announcement without giving up the "fire-and-forget" 
> approach.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7665) nodetool scrub fails on system schema with UDTs

2014-08-01 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-7665:
--

Attachment: 7665.txt

One posisble solution is to validate individual cell when CollectionType as in 
attached patch.

> nodetool scrub fails on system schema with UDTs
> ---
>
> Key: CASSANDRA-7665
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7665
> Project: Cassandra
>  Issue Type: Bug
> Environment: 2.1.0-rc4
>Reporter: Jonathan Halliday
>Assignee: Marcus Eriksson
> Fix For: 2.1.0
>
> Attachments: 0001-test.patch, 7665.txt
>
>
> {noformat}
> [apache-cassandra-2.1.0-rc4]$ bin/cqlsh
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 2.1.0-rc4 | CQL spec 3.2.0 | Native protocol v3]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1 };
> cqlsh> use test;
> cqlsh:test> CREATE TYPE point_t (x double, y double);
> cqlsh:test> exit
> {noformat}
> {noformat}
> [apache-cassandra-2.1.0-rc4]$bin/nodetool scrub
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  (34135 bytes)
> INFO  12:34:57 Scrub of 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  complete: 2 rows in new sstable and 0 empty (tombstoned) rows dropped
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/local-7ad54392bcdd35a684174e047860b377/system-local-ka-5-Data.db')
>  (12515 bytes)
> WARN  12:34:57 Error reading row (stacktrace follows):
> org.apache.cassandra.io.sstable.CorruptSSTableException: 
> org.apache.cassandra.serializers.MarshalException: Not enough bytes to read a 
> set
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:139)
>  ~[apache-cassandra-2.1.0-rc4.jar:2.1.0-rc4]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7665) nodetool scrub fails on system schema with UDTs

2014-08-01 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-7665:
---

Description: 
{noformat}
[apache-cassandra-2.1.0-rc4]$ bin/cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.0-rc4 | CQL spec 3.2.0 | Native protocol v3]
Use HELP for help.
cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
'replication_factor': 1 };
cqlsh> use test;
cqlsh:test> CREATE TYPE point_t (x double, y double);
cqlsh:test> exit
{noformat}

{noformat}
[apache-cassandra-2.1.0-rc4]$bin/nodetool scrub

INFO  12:34:57 Scrubbing 
SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
 (34135 bytes)
INFO  12:34:57 Scrub of 
SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
 complete: 2 rows in new sstable and 0 empty (tombstoned) rows dropped
INFO  12:34:57 Scrubbing 
SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/local-7ad54392bcdd35a684174e047860b377/system-local-ka-5-Data.db')
 (12515 bytes)
WARN  12:34:57 Error reading row (stacktrace follows):
org.apache.cassandra.io.sstable.CorruptSSTableException: 
org.apache.cassandra.serializers.MarshalException: Not enough bytes to read a 
set
at 
org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:139)
 ~[apache-cassandra-2.1.0-rc4.jar:2.1.0-rc4]
{noformat}

  was:
[apache-cassandra-2.1.0-rc4]$ bin/cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.0-rc4 | CQL spec 3.2.0 | Native protocol v3]
Use HELP for help.
cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
'replication_factor': 1 };
cqlsh> use test;
cqlsh:test> CREATE TYPE point_t (x double, y double);
cqlsh:test> exit
[apache-cassandra-2.1.0-rc4]$bin/nodetool scrub

INFO  12:34:57 Scrubbing 
SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
 (34135 bytes)
INFO  12:34:57 Scrub of 
SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
 complete: 2 rows in new sstable and 0 empty (tombstoned) rows dropped
INFO  12:34:57 Scrubbing 
SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/local-7ad54392bcdd35a684174e047860b377/system-local-ka-5-Data.db')
 (12515 bytes)
WARN  12:34:57 Error reading row (stacktrace follows):
org.apache.cassandra.io.sstable.CorruptSSTableException: 
org.apache.cassandra.serializers.MarshalException: Not enough bytes to read a 
set
at 
org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:139)
 ~[apache-cassandra-2.1.0-rc4.jar:2.1.0-rc4]



> nodetool scrub fails on system schema with UDTs
> ---
>
> Key: CASSANDRA-7665
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7665
> Project: Cassandra
>  Issue Type: Bug
> Environment: 2.1.0-rc4
>Reporter: Jonathan Halliday
>Assignee: Marcus Eriksson
> Fix For: 2.1.0
>
> Attachments: 0001-test.patch
>
>
> {noformat}
> [apache-cassandra-2.1.0-rc4]$ bin/cqlsh
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 2.1.0-rc4 | CQL spec 3.2.0 | Native protocol v3]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1 };
> cqlsh> use test;
> cqlsh:test> CREATE TYPE point_t (x double, y double);
> cqlsh:test> exit
> {noformat}
> {noformat}
> [apache-cassandra-2.1.0-rc4]$bin/nodetool scrub
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  (34135 bytes)
> INFO  12:34:57 Scrub of 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  complete: 2 rows in new sstable and 0 empty (tombstoned) rows dropped
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/local-7ad54392bcdd35a684174e047860b377/system-local-ka-5-Data.db')
>  (12515 bytes)
> WARN  12:34:57 Error reading row (stacktrace follows):
> org.apache.cassandra.io.sstable.CorruptSSTableException: 
> org.apache.cassandra.serializers.MarshalException: Not enough bytes to read a 
> set
>   at 
> org.apache.cassandra.io.sstable.SSTa

[jira] [Commented] (CASSANDRA-7667) Improve migration

2014-08-01 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082952#comment-14082952
 ] 

Brandon Williams commented on CASSANDRA-7667:
-

I'm not sure this makes a lot of sense.  Adding DC optimization like writes 
_might_ save on latency, but it's also adding an extra hop so maybe not, and 
the point of dc write optimization is bandwidth, of which little is used here 
and schema changes aren't that frequent.  Remember that broadcast is just best 
effort, if it fails it doesn't matter because schema propagation is 
two-pronged: broadcast if possible, but also passively announce via gossip and 
let the other side pull.

> Improve migration
> -
>
> Key: CASSANDRA-7667
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7667
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>
> Idea is to optimize migration especially for large clusters with multiple DCs.
>  
> Currently {{MigrationManager.announce()}} simply broadcasts to all nodes.
>  
> Idea is to not announce schema migration to every node.
>  
> *Against remote DCs*: only contact a single node in each remote DC. This 
> could make migration faster, because network latency comes into play. And it 
> lowers cross-DC network requirements (since 1-to-all communication creates a 
> huge amount of TCP connections). Drawback: remote-DC-announcement must be 
> reliable (receiver must ACK - if it doesn't, sender must retry another node).
>  
> *Within the local DC*: use some gossip approach - e.g. only contact N nodes 
> at once. Not sure about this one  - it might be nice, if there are really 
> many (~100) nodes in one DC. But it's a bit difficult to guarantee, that all 
> nodes will receive the announcement without giving up the "fire-and-forget" 
> approach.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7638) Revisit GCInspector

2014-08-01 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082961#comment-14082961
 ] 

Brandon Williams commented on CASSANDRA-7638:
-

+1 on the v2 bikeshed, we don't need stuff like start/end when we have the 
duration.

> Revisit GCInspector
> ---
>
> Key: CASSANDRA-7638
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7638
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Brandon Williams
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: 7638-v2.txt, 7638.txt
>
>
> In CASSANDRA-2868 we had to change the api that GCI uses to avoid the native 
> memory leak, but this caused GCI to be less reliable and more 'best effort' 
> than before where it was 100% reliable.  Let's revisit this and see if the 
> native memory leak is fixed in java7.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[2/2] git commit: Merge remote-tracking branch 'origin/cassandra-2.1' into cassandra-2.1

2014-08-01 Thread benedict
Merge remote-tracking branch 'origin/cassandra-2.1' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: 4f778d2e7ec469f2b2afcdd1b5f5e8012fe6b9bd
Parents: 24f6f03 3faf88c
Author: Benedict Elliott Smith 
Authored: Fri Aug 1 21:51:01 2014 +0100
Committer: Benedict Elliott Smith 
Committed: Fri Aug 1 21:51:01 2014 +0100

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--




[1/2] git commit: Fix serialization of command ratios in cassandra-stress/stressd

2014-08-01 Thread benedict
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 3faf88cd0 -> 4f778d2e7


Fix serialization of command ratios in cassandra-stress/stressd

patch by rspitzer; reviewed by benedict for CASSANDRA-7559


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

Branch: refs/heads/cassandra-2.1
Commit: 24f6f038ef88d8f8b3ef608148ae5a848b302ac5
Parents: a182ea0
Author: Benedict Elliott Smith 
Authored: Fri Aug 1 21:48:19 2014 +0100
Committer: Benedict Elliott Smith 
Committed: Fri Aug 1 21:48:19 2014 +0100

--
 .../stress/settings/OptionAnyProbabilities.java|  9 +++--
 .../stress/settings/OptionEnumProbabilities.java   |  9 +
 .../settings/SettingsCommandPreDefinedMixed.java   |  9 +++--
 .../cassandra/stress/settings/SettingsCommandUser.java | 13 +
 4 files changed, 24 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/24f6f038/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java
--
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java
 
b/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java
index 4e2ad64..b685294 100644
--- 
a/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java
+++ 
b/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java
@@ -27,8 +27,8 @@ import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.HashMap;
 
-import org.apache.commons.math3.util.Pair;
 
 public final class OptionAnyProbabilities extends OptionMulti
 {
@@ -88,12 +88,9 @@ public final class OptionAnyProbabilities extends OptionMulti
 return Arrays.asList(ratios);
 }
 
-List> ratios()
+Map ratios()
 {
-List> ratiosOut = new ArrayList<>();
-for (Map.Entry e : ratios.options.entrySet())
-ratiosOut.add(new Pair(e.getKey(), e.getValue()));
-return ratiosOut;
+return ratios.options;
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/24f6f038/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java
--
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java
 
b/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java
index b1c5c49..71d7a8d 100644
--- 
a/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java
+++ 
b/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java
@@ -23,8 +23,9 @@ package org.apache.cassandra.stress.settings;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
 
-import org.apache.commons.math3.util.Pair;
 
 public final class OptionEnumProbabilities extends OptionMulti
 {
@@ -67,15 +68,15 @@ public final class OptionEnumProbabilities extends 
OptionMulti
 return options;
 }
 
-List> ratios()
+Map ratios()
 {
 List ratiosIn = setByUser() ? optionsSetByUser() : 
defaultOptions();
-List> ratiosOut = new ArrayList<>();
+Map ratiosOut = new HashMap<>();
 for (Option opt : ratiosIn)
 {
 OptMatcher optMatcher = (OptMatcher) opt;
 double d = Double.parseDouble(optMatcher.value());
-ratiosOut.add(new Pair<>(optMatcher.opt, d));
+ratiosOut.put(optMatcher.opt, d);
 }
 return ratiosOut;
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/24f6f038/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java
--
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java
 
b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java
index e5d4f80..49d3c56 100644
--- 
a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java
+++ 
b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java
@@ -23,6 +23,7 @@ package org.apache.cassandra.stress.settings;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.cassandra.stress.Operation;
 import org.apache.cassandra.stress.generate.DistributionFactory;
@@ -39,7 +40,7 @@ public class SettingsCo

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

2014-08-01 Thread benedict
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: c0fc6988267aedc42ba338783128fb912c426851
Parents: 63393eb 24f6f03
Author: Benedict Elliott Smith 
Authored: Fri Aug 1 21:49:28 2014 +0100
Committer: Benedict Elliott Smith 
Committed: Fri Aug 1 21:49:28 2014 +0100

--
 .../stress/settings/OptionAnyProbabilities.java|  9 +++--
 .../stress/settings/OptionEnumProbabilities.java   |  9 +
 .../settings/SettingsCommandPreDefinedMixed.java   |  9 +++--
 .../cassandra/stress/settings/SettingsCommandUser.java | 13 +
 4 files changed, 24 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c0fc6988/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c0fc6988/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandUser.java
--



[1/3] git commit: Fix serialization of command ratios in cassandra-stress/stressd

2014-08-01 Thread benedict
Repository: cassandra
Updated Branches:
  refs/heads/trunk 6fad4b09f -> 37b3a2ba0


Fix serialization of command ratios in cassandra-stress/stressd

patch by rspitzer; reviewed by benedict for CASSANDRA-7559


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

Branch: refs/heads/trunk
Commit: 24f6f038ef88d8f8b3ef608148ae5a848b302ac5
Parents: a182ea0
Author: Benedict Elliott Smith 
Authored: Fri Aug 1 21:48:19 2014 +0100
Committer: Benedict Elliott Smith 
Committed: Fri Aug 1 21:48:19 2014 +0100

--
 .../stress/settings/OptionAnyProbabilities.java|  9 +++--
 .../stress/settings/OptionEnumProbabilities.java   |  9 +
 .../settings/SettingsCommandPreDefinedMixed.java   |  9 +++--
 .../cassandra/stress/settings/SettingsCommandUser.java | 13 +
 4 files changed, 24 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/24f6f038/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java
--
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java
 
b/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java
index 4e2ad64..b685294 100644
--- 
a/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java
+++ 
b/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java
@@ -27,8 +27,8 @@ import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.HashMap;
 
-import org.apache.commons.math3.util.Pair;
 
 public final class OptionAnyProbabilities extends OptionMulti
 {
@@ -88,12 +88,9 @@ public final class OptionAnyProbabilities extends OptionMulti
 return Arrays.asList(ratios);
 }
 
-List> ratios()
+Map ratios()
 {
-List> ratiosOut = new ArrayList<>();
-for (Map.Entry e : ratios.options.entrySet())
-ratiosOut.add(new Pair(e.getKey(), e.getValue()));
-return ratiosOut;
+return ratios.options;
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/24f6f038/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java
--
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java
 
b/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java
index b1c5c49..71d7a8d 100644
--- 
a/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java
+++ 
b/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java
@@ -23,8 +23,9 @@ package org.apache.cassandra.stress.settings;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
 
-import org.apache.commons.math3.util.Pair;
 
 public final class OptionEnumProbabilities extends OptionMulti
 {
@@ -67,15 +68,15 @@ public final class OptionEnumProbabilities extends 
OptionMulti
 return options;
 }
 
-List> ratios()
+Map ratios()
 {
 List ratiosIn = setByUser() ? optionsSetByUser() : 
defaultOptions();
-List> ratiosOut = new ArrayList<>();
+Map ratiosOut = new HashMap<>();
 for (Option opt : ratiosIn)
 {
 OptMatcher optMatcher = (OptMatcher) opt;
 double d = Double.parseDouble(optMatcher.value());
-ratiosOut.add(new Pair<>(optMatcher.opt, d));
+ratiosOut.put(optMatcher.opt, d);
 }
 return ratiosOut;
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/24f6f038/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java
--
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java
 
b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java
index e5d4f80..49d3c56 100644
--- 
a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java
+++ 
b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java
@@ -23,6 +23,7 @@ package org.apache.cassandra.stress.settings;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.cassandra.stress.Operation;
 import org.apache.cassandra.stress.generate.DistributionFactory;
@@ -39,7 +40,7 @@ public class SettingsCommandPreDefinedM

[3/3] git commit: Merge branch 'trunk' of https://git-wip-us.apache.org/repos/asf/cassandra into trunk

2014-08-01 Thread benedict
Merge branch 'trunk' of https://git-wip-us.apache.org/repos/asf/cassandra into 
trunk


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

Branch: refs/heads/trunk
Commit: 37b3a2ba0fa0a5127e4599113609eb84a2b44240
Parents: c0fc698 6fad4b0
Author: Benedict Elliott Smith 
Authored: Fri Aug 1 21:50:21 2014 +0100
Committer: Benedict Elliott Smith 
Committed: Fri Aug 1 21:50:21 2014 +0100

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--




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

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: 6fad4b09fb9bfd58b3acdb6fc1f9f28543229d80
Parents: 63393eb 3faf88c
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:47:50 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:47:50 2014 -0500

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--


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

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



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

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
CHANGES.txt


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

Branch: refs/heads/trunk
Commit: a09e53cdadb0be17ef4c27e194a387c239a532a2
Parents: a2c91d7 63a1e98
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:46:59 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:46:59 2014 -0500

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a09e53cd/CHANGES.txt
--
diff --cc CHANGES.txt
index a8299c6,68d40b0..6ab8a73
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,53 -1,11 +1,54 @@@
 -2.0.10
 - * Fix truncate to always flush (CASSANDRA-7511)
 +2.1.0-final
 + * Don't use strict consistency when replacing (CASSANDRA-7568)
 + * Fix min/max cell name collection on 2.0 SSTables with range
 +   tombstones (CASSANDRA-7593)
 + * Tolerate min/max cell names of different lengths (CASSANDRA-7651)
 + * Filter cached results correctly (CASSANDRA-7636)
 + * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
   * Remove shuffle and taketoken (CASSANDRA-7601)
 - * Switch liveRatio-related log messages to DEBUG (CASSANDRA-7467)
 - * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 - * Always merge ranges owned by a single node (CASSANDRA-6930)
 - * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Clean up Windows batch scripts (CASSANDRA-7619)
 + * Fix native protocol drop user type notification (CASSANDRA-7571)
 + * Give read access to system.schema_usertypes to all authenticated users
 +   (CASSANDRA-7578)
 + * (cqlsh) Fix cqlsh display when zero rows are returned (CASSANDRA-7580)
 + * Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572)
 + * Fix NPE when dropping index from non-existent keyspace, AssertionError when
 +   dropping non-existent index with IF EXISTS (CASSANDRA-7590)
 + * Fix sstablelevelresetter hang (CASSANDRA-7614)
 + * (cqlsh) Fix deserialization of blobs (CASSANDRA-7603)
 + * Use "keyspace updated" schema change message for UDT changes in v1 and
 +   v2 protocols (CASSANDRA-7617)
 + * Fix tracing of range slices and secondary index lookups that are local
 +   to the coordinator (CASSANDRA-7599)
 + * Set -Dcassandra.storagedir for all tool shell scripts (CASSANDRA-7587)
 + * Don't swap max/min col names when mutating sstable metadata 
(CASSANDRA-7596)
 + * (cqlsh) Correctly handle paged result sets (CASSANDRA-7625)
 + * (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626)
 + * Fix tracing of concurrent range slices and 2ary index queries 
(CASSANDRA-7626)
 +Merged from 2.0:
++ * Set gc_grace_seconds to seven days for system schema tables 
(CASSANDRA-7668)
 + * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
 + * Always flush on truncate (CASSANDRA-7511)
   * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
 + * Always merge ranges owned by a single node (CASSANDRA-6930)
 + * Track max/min timestamps for range tombstones (CASSANDRA-7647)
 + * Fix NPE when listing saved caches dir (CASSANDRA-7632)
 +
 +
 +2.1.0-rc4
 + * Fix word count hadoop example (CASSANDRA-7200)
 + * Updated memtable_cleanup_threshold and memtable_flush_writers defaults 
 +   (CASSANDRA-7551)
 + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
 + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521)
 + * Add missing table name to DROP INDEX responses and notifications 
(CASSANDRA-7539)
 + * Bump CQL version to 3.2.0 and update CQL documentation (CASSANDRA-7527)
 + * Fix configuration error message when running nodetool ring (CASSANDRA-7508)
 + * Support conditional updates, tuple type, and the v3 protocol in cqlsh 
(CASSANDRA-7509)
 + * Handle queries on multiple secondary index types (CASSANDRA-7525)
 + * Fix cqlsh authentication with v3 native protocol (CASSANDRA-7564)
 + * Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454)
 +Merged from 2.0:
   * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541)
   * Fix range merging when DES scores are zero (CASSANDRA-7535)
   * Warn when SSL certificates have expired (CASSANDRA-7528)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a09e53cd/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --cc src/java/org/apache/cassandra/config/CFMetaData.

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

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
CHANGES.txt
src/java/org/apache/cassandra/config/CFMetaData.java


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

Branch: refs/heads/trunk
Commit: 63a1e987f75ce9ef2c5d0ca2f35965c43ee086f7
Parents: 5c0ddfb 0dd39c6
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:44:33 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:44:33 2014 -0500

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 8 
 2 files changed, 5 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/63a1e987/CHANGES.txt
--
diff --cc CHANGES.txt
index a5b49c5,b60d1d9..68d40b0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,30 -1,5 +1,31 @@@
 -1.2.19
 +2.0.10
 + * Fix truncate to always flush (CASSANDRA-7511)
 + * Remove shuffle and taketoken (CASSANDRA-7601)
 + * Switch liveRatio-related log messages to DEBUG (CASSANDRA-7467)
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Always merge ranges owned by a single node (CASSANDRA-6930)
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
 + * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541)
 + * Fix range merging when DES scores are zero (CASSANDRA-7535)
 + * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
 + * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
 + * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
 +   operations to incorrect become full QUORUM (CASSANDRA-7345)
 + * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
 + * (Hadoop) close CqlRecordWriter clients when finished (CASSANDRA-7459)
 + * Make sure high level sstables get compacted (CASSANDRA-7414)
 + * Fix AssertionError when using empty clustering columns and static columns
 +   (CASSANDRA-7455)
 + * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
 + * Add option to disable STCS in L0 (CASSANDRA-6621)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 + * Backport CASSANDRA-6747 (CASSANDRA-7560)
 + * Track max/min timestamps for range tombstones (CASSANDRA-7647)
 + * Fix NPE when listing saved caches dir (CASSANDRA-7632)
 +Merged from 1.2:
+  * Set gc_grace_seconds to seven days for system schema tables 
(CASSANDRA-7668)
   * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
   * Set correct stream ID on responses when non-Exception Throwables
 are thrown while handling native protocol messages (CASSANDRA-7470)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/63a1e987/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --cc src/java/org/apache/cassandra/config/CFMetaData.java
index 04b99e4,31e17ed..650d6c4
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@@ -89,81 -79,79 +89,81 @@@ public final class CFMetaDat
  public final static boolean DEFAULT_POPULATE_IO_CACHE_ON_FLUSH = false;
  
  // Note that this is the default only for user created tables
 -public final static String DEFAULT_COMPRESSOR = 
SnappyCompressor.isAvailable() ? SnappyCompressor.class.getCanonicalName() : 
null;
 -
 -@Deprecated
 -public static final CFMetaData OldStatusCf = 
newSystemMetadata(Table.SYSTEM_KS, SystemTable.OLD_STATUS_CF, 0, "unused", 
BytesType.instance, null);
 -@Deprecated
 -public static final CFMetaData OldHintsCf = 
newSystemMetadata(Table.SYSTEM_KS, SystemTable.OLD_HINTS_CF, 1, "unused", 
BytesType.instance, BytesType.instance);
 -@Deprecated
 -public static final CFMetaData OldMigrationsCf = 
newSystemMetadata(Table.SYSTEM_KS, DefsTable.OLD_MIGRATIONS_CF, 2, "unused", 
TimeUUIDType.instance, null);
 -@Deprecated
 -public static final CFMetaData OldSchemaCf = 
newSystemMetadata(Table.SYSTEM_KS, DefsTable.OLD_SCHEMA_CF, 3, "unused", 
UTF8Type.instance, null);
 -
 -public static final CFMetaData IndexCf = compile(5, "CREATE TABLE \"" + 
SystemTable.INDEX_CF + "\" ("
 -+ "table_name text,"
 -+ "index_name text,"
 -+ "PRIMARY KEY 
(t

[1/5] git commit: Set gc_grace_seconds to 7 days for system schema tables

2014-08-01 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/trunk 63393eb24 -> 6fad4b09f


Set gc_grace_seconds to 7 days for system schema tables

Patch by Tyler Hobbs; review by Aleksey Yeschenko for CASSANDRA-7668


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

Branch: refs/heads/trunk
Commit: 0dd39c6a556a8e98c946855d7dc3dbfd110d1ec9
Parents: ee2ed3c
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:40:40 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:40:40 2014 -0500

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0dd39c6a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0ad02c1..b60d1d9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.19
+ * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
  * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
  * Set correct stream ID on responses when non-Exception Throwables
are thrown while handling native protocol messages (CASSANDRA-7470)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0dd39c6a/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java 
b/src/java/org/apache/cassandra/config/CFMetaData.java
index 9e3ceb7..31e17ed 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -108,7 +108,7 @@ public final class CFMetaData
   + 
"durable_writes boolean,"
   + 
"strategy_class text,"
   + 
"strategy_options text"
-  + ") WITH 
COMPACT STORAGE AND COMMENT='keyspace definitions' AND gc_grace_seconds=8640");
+  + ") WITH 
COMPACT STORAGE AND COMMENT='keyspace definitions' AND 
gc_grace_seconds=604800");
 
 public static final CFMetaData SchemaColumnFamiliesCf = compile(9, "CREATE 
TABLE " + SystemTable.SCHEMA_COLUMNFAMILIES_CF + "("
+ 
"keyspace_name text,"
@@ -137,7 +137,7 @@ public final class CFMetaData
+ 
"column_aliases text,"
+ 
"compaction_strategy_options text,"
+ 
"PRIMARY KEY (keyspace_name, columnfamily_name)"
-   + ") 
WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=8640");
+   + ") 
WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=604800");
 
 public static final CFMetaData SchemaColumnsCf = compile(10, "CREATE TABLE 
" + SystemTable.SCHEMA_COLUMNS_CF + "("
  + 
"keyspace_name text,"
@@ -149,7 +149,7 @@ public final class CFMetaData
  + "index_name 
text,"
  + 
"component_index int,"
  + "PRIMARY 
KEY(keyspace_name, columnfamily_name, column_name)"
- + ") WITH 
COMMENT='ColumnFamily column attributes' AND gc_grace_seconds=8640");
+ + ") WITH 
COMMENT='ColumnFamily column attributes' AND gc_grace_seconds=604800");
 
 public static final CFMetaData HintsCf = compile("CREATE TABLE " + 
SystemTable.HINTS_CF + " ("
  + "target_id uuid,"



[4/5] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: 3faf88cd0769e7689561cef0a210fb14fa84aac0
Parents: a182ea0 a09e53c
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:47:23 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:47:23 2014 -0500

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--


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



[1/4] git commit: Set gc_grace_seconds to 7 days for system schema tables

2014-08-01 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 a182ea00b -> 3faf88cd0


Set gc_grace_seconds to 7 days for system schema tables

Patch by Tyler Hobbs; review by Aleksey Yeschenko for CASSANDRA-7668


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

Branch: refs/heads/cassandra-2.1
Commit: 0dd39c6a556a8e98c946855d7dc3dbfd110d1ec9
Parents: ee2ed3c
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:40:40 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:40:40 2014 -0500

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0dd39c6a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0ad02c1..b60d1d9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.19
+ * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
  * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
  * Set correct stream ID on responses when non-Exception Throwables
are thrown while handling native protocol messages (CASSANDRA-7470)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0dd39c6a/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java 
b/src/java/org/apache/cassandra/config/CFMetaData.java
index 9e3ceb7..31e17ed 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -108,7 +108,7 @@ public final class CFMetaData
   + 
"durable_writes boolean,"
   + 
"strategy_class text,"
   + 
"strategy_options text"
-  + ") WITH 
COMPACT STORAGE AND COMMENT='keyspace definitions' AND gc_grace_seconds=8640");
+  + ") WITH 
COMPACT STORAGE AND COMMENT='keyspace definitions' AND 
gc_grace_seconds=604800");
 
 public static final CFMetaData SchemaColumnFamiliesCf = compile(9, "CREATE 
TABLE " + SystemTable.SCHEMA_COLUMNFAMILIES_CF + "("
+ 
"keyspace_name text,"
@@ -137,7 +137,7 @@ public final class CFMetaData
+ 
"column_aliases text,"
+ 
"compaction_strategy_options text,"
+ 
"PRIMARY KEY (keyspace_name, columnfamily_name)"
-   + ") 
WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=8640");
+   + ") 
WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=604800");
 
 public static final CFMetaData SchemaColumnsCf = compile(10, "CREATE TABLE 
" + SystemTable.SCHEMA_COLUMNS_CF + "("
  + 
"keyspace_name text,"
@@ -149,7 +149,7 @@ public final class CFMetaData
  + "index_name 
text,"
  + 
"component_index int,"
  + "PRIMARY 
KEY(keyspace_name, columnfamily_name, column_name)"
- + ") WITH 
COMMENT='ColumnFamily column attributes' AND gc_grace_seconds=8640");
+ + ") WITH 
COMMENT='ColumnFamily column attributes' AND gc_grace_seconds=604800");
 
 public static final CFMetaData HintsCf = compile("CREATE TABLE " + 
SystemTable.HINTS_CF + " ("
  + "target_id uuid,"



[4/4] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: 3faf88cd0769e7689561cef0a210fb14fa84aac0
Parents: a182ea0 a09e53c
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:47:23 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:47:23 2014 -0500

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--


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



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

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
CHANGES.txt


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

Branch: refs/heads/cassandra-2.1
Commit: a09e53cdadb0be17ef4c27e194a387c239a532a2
Parents: a2c91d7 63a1e98
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:46:59 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:46:59 2014 -0500

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a09e53cd/CHANGES.txt
--
diff --cc CHANGES.txt
index a8299c6,68d40b0..6ab8a73
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,53 -1,11 +1,54 @@@
 -2.0.10
 - * Fix truncate to always flush (CASSANDRA-7511)
 +2.1.0-final
 + * Don't use strict consistency when replacing (CASSANDRA-7568)
 + * Fix min/max cell name collection on 2.0 SSTables with range
 +   tombstones (CASSANDRA-7593)
 + * Tolerate min/max cell names of different lengths (CASSANDRA-7651)
 + * Filter cached results correctly (CASSANDRA-7636)
 + * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
   * Remove shuffle and taketoken (CASSANDRA-7601)
 - * Switch liveRatio-related log messages to DEBUG (CASSANDRA-7467)
 - * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 - * Always merge ranges owned by a single node (CASSANDRA-6930)
 - * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Clean up Windows batch scripts (CASSANDRA-7619)
 + * Fix native protocol drop user type notification (CASSANDRA-7571)
 + * Give read access to system.schema_usertypes to all authenticated users
 +   (CASSANDRA-7578)
 + * (cqlsh) Fix cqlsh display when zero rows are returned (CASSANDRA-7580)
 + * Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572)
 + * Fix NPE when dropping index from non-existent keyspace, AssertionError when
 +   dropping non-existent index with IF EXISTS (CASSANDRA-7590)
 + * Fix sstablelevelresetter hang (CASSANDRA-7614)
 + * (cqlsh) Fix deserialization of blobs (CASSANDRA-7603)
 + * Use "keyspace updated" schema change message for UDT changes in v1 and
 +   v2 protocols (CASSANDRA-7617)
 + * Fix tracing of range slices and secondary index lookups that are local
 +   to the coordinator (CASSANDRA-7599)
 + * Set -Dcassandra.storagedir for all tool shell scripts (CASSANDRA-7587)
 + * Don't swap max/min col names when mutating sstable metadata 
(CASSANDRA-7596)
 + * (cqlsh) Correctly handle paged result sets (CASSANDRA-7625)
 + * (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626)
 + * Fix tracing of concurrent range slices and 2ary index queries 
(CASSANDRA-7626)
 +Merged from 2.0:
++ * Set gc_grace_seconds to seven days for system schema tables 
(CASSANDRA-7668)
 + * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
 + * Always flush on truncate (CASSANDRA-7511)
   * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
 + * Always merge ranges owned by a single node (CASSANDRA-6930)
 + * Track max/min timestamps for range tombstones (CASSANDRA-7647)
 + * Fix NPE when listing saved caches dir (CASSANDRA-7632)
 +
 +
 +2.1.0-rc4
 + * Fix word count hadoop example (CASSANDRA-7200)
 + * Updated memtable_cleanup_threshold and memtable_flush_writers defaults 
 +   (CASSANDRA-7551)
 + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
 + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521)
 + * Add missing table name to DROP INDEX responses and notifications 
(CASSANDRA-7539)
 + * Bump CQL version to 3.2.0 and update CQL documentation (CASSANDRA-7527)
 + * Fix configuration error message when running nodetool ring (CASSANDRA-7508)
 + * Support conditional updates, tuple type, and the v3 protocol in cqlsh 
(CASSANDRA-7509)
 + * Handle queries on multiple secondary index types (CASSANDRA-7525)
 + * Fix cqlsh authentication with v3 native protocol (CASSANDRA-7564)
 + * Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454)
 +Merged from 2.0:
   * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541)
   * Fix range merging when DES scores are zero (CASSANDRA-7535)
   * Warn when SSL certificates have expired (CASSANDRA-7528)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a09e53cd/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --cc src/java/org/apache/cassandra/config/CFM

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

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
CHANGES.txt
src/java/org/apache/cassandra/config/CFMetaData.java


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

Branch: refs/heads/cassandra-2.1
Commit: 63a1e987f75ce9ef2c5d0ca2f35965c43ee086f7
Parents: 5c0ddfb 0dd39c6
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:44:33 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:44:33 2014 -0500

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 8 
 2 files changed, 5 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/63a1e987/CHANGES.txt
--
diff --cc CHANGES.txt
index a5b49c5,b60d1d9..68d40b0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,30 -1,5 +1,31 @@@
 -1.2.19
 +2.0.10
 + * Fix truncate to always flush (CASSANDRA-7511)
 + * Remove shuffle and taketoken (CASSANDRA-7601)
 + * Switch liveRatio-related log messages to DEBUG (CASSANDRA-7467)
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Always merge ranges owned by a single node (CASSANDRA-6930)
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
 + * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541)
 + * Fix range merging when DES scores are zero (CASSANDRA-7535)
 + * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
 + * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
 + * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
 +   operations to incorrect become full QUORUM (CASSANDRA-7345)
 + * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
 + * (Hadoop) close CqlRecordWriter clients when finished (CASSANDRA-7459)
 + * Make sure high level sstables get compacted (CASSANDRA-7414)
 + * Fix AssertionError when using empty clustering columns and static columns
 +   (CASSANDRA-7455)
 + * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
 + * Add option to disable STCS in L0 (CASSANDRA-6621)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 + * Backport CASSANDRA-6747 (CASSANDRA-7560)
 + * Track max/min timestamps for range tombstones (CASSANDRA-7647)
 + * Fix NPE when listing saved caches dir (CASSANDRA-7632)
 +Merged from 1.2:
+  * Set gc_grace_seconds to seven days for system schema tables 
(CASSANDRA-7668)
   * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
   * Set correct stream ID on responses when non-Exception Throwables
 are thrown while handling native protocol messages (CASSANDRA-7470)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/63a1e987/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --cc src/java/org/apache/cassandra/config/CFMetaData.java
index 04b99e4,31e17ed..650d6c4
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@@ -89,81 -79,79 +89,81 @@@ public final class CFMetaDat
  public final static boolean DEFAULT_POPULATE_IO_CACHE_ON_FLUSH = false;
  
  // Note that this is the default only for user created tables
 -public final static String DEFAULT_COMPRESSOR = 
SnappyCompressor.isAvailable() ? SnappyCompressor.class.getCanonicalName() : 
null;
 -
 -@Deprecated
 -public static final CFMetaData OldStatusCf = 
newSystemMetadata(Table.SYSTEM_KS, SystemTable.OLD_STATUS_CF, 0, "unused", 
BytesType.instance, null);
 -@Deprecated
 -public static final CFMetaData OldHintsCf = 
newSystemMetadata(Table.SYSTEM_KS, SystemTable.OLD_HINTS_CF, 1, "unused", 
BytesType.instance, BytesType.instance);
 -@Deprecated
 -public static final CFMetaData OldMigrationsCf = 
newSystemMetadata(Table.SYSTEM_KS, DefsTable.OLD_MIGRATIONS_CF, 2, "unused", 
TimeUUIDType.instance, null);
 -@Deprecated
 -public static final CFMetaData OldSchemaCf = 
newSystemMetadata(Table.SYSTEM_KS, DefsTable.OLD_SCHEMA_CF, 3, "unused", 
UTF8Type.instance, null);
 -
 -public static final CFMetaData IndexCf = compile(5, "CREATE TABLE \"" + 
SystemTable.INDEX_CF + "\" ("
 -+ "table_name text,"
 -+ "index_name text,"
 -+ "PRIMARY

[1/3] git commit: Set gc_grace_seconds to 7 days for system schema tables

2014-08-01 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1.0 a2c91d79f -> a09e53cda


Set gc_grace_seconds to 7 days for system schema tables

Patch by Tyler Hobbs; review by Aleksey Yeschenko for CASSANDRA-7668


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

Branch: refs/heads/cassandra-2.1.0
Commit: 0dd39c6a556a8e98c946855d7dc3dbfd110d1ec9
Parents: ee2ed3c
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:40:40 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:40:40 2014 -0500

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0dd39c6a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0ad02c1..b60d1d9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.19
+ * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
  * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
  * Set correct stream ID on responses when non-Exception Throwables
are thrown while handling native protocol messages (CASSANDRA-7470)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0dd39c6a/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java 
b/src/java/org/apache/cassandra/config/CFMetaData.java
index 9e3ceb7..31e17ed 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -108,7 +108,7 @@ public final class CFMetaData
   + 
"durable_writes boolean,"
   + 
"strategy_class text,"
   + 
"strategy_options text"
-  + ") WITH 
COMPACT STORAGE AND COMMENT='keyspace definitions' AND gc_grace_seconds=8640");
+  + ") WITH 
COMPACT STORAGE AND COMMENT='keyspace definitions' AND 
gc_grace_seconds=604800");
 
 public static final CFMetaData SchemaColumnFamiliesCf = compile(9, "CREATE 
TABLE " + SystemTable.SCHEMA_COLUMNFAMILIES_CF + "("
+ 
"keyspace_name text,"
@@ -137,7 +137,7 @@ public final class CFMetaData
+ 
"column_aliases text,"
+ 
"compaction_strategy_options text,"
+ 
"PRIMARY KEY (keyspace_name, columnfamily_name)"
-   + ") 
WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=8640");
+   + ") 
WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=604800");
 
 public static final CFMetaData SchemaColumnsCf = compile(10, "CREATE TABLE 
" + SystemTable.SCHEMA_COLUMNS_CF + "("
  + 
"keyspace_name text,"
@@ -149,7 +149,7 @@ public final class CFMetaData
  + "index_name 
text,"
  + 
"component_index int,"
  + "PRIMARY 
KEY(keyspace_name, columnfamily_name, column_name)"
- + ") WITH 
COMMENT='ColumnFamily column attributes' AND gc_grace_seconds=8640");
+ + ") WITH 
COMMENT='ColumnFamily column attributes' AND gc_grace_seconds=604800");
 
 public static final CFMetaData HintsCf = compile("CREATE TABLE " + 
SystemTable.HINTS_CF + " ("
  + "target_id uuid,"



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

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
CHANGES.txt


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

Branch: refs/heads/cassandra-2.1.0
Commit: a09e53cdadb0be17ef4c27e194a387c239a532a2
Parents: a2c91d7 63a1e98
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:46:59 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:46:59 2014 -0500

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a09e53cd/CHANGES.txt
--
diff --cc CHANGES.txt
index a8299c6,68d40b0..6ab8a73
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,53 -1,11 +1,54 @@@
 -2.0.10
 - * Fix truncate to always flush (CASSANDRA-7511)
 +2.1.0-final
 + * Don't use strict consistency when replacing (CASSANDRA-7568)
 + * Fix min/max cell name collection on 2.0 SSTables with range
 +   tombstones (CASSANDRA-7593)
 + * Tolerate min/max cell names of different lengths (CASSANDRA-7651)
 + * Filter cached results correctly (CASSANDRA-7636)
 + * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
   * Remove shuffle and taketoken (CASSANDRA-7601)
 - * Switch liveRatio-related log messages to DEBUG (CASSANDRA-7467)
 - * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 - * Always merge ranges owned by a single node (CASSANDRA-6930)
 - * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Clean up Windows batch scripts (CASSANDRA-7619)
 + * Fix native protocol drop user type notification (CASSANDRA-7571)
 + * Give read access to system.schema_usertypes to all authenticated users
 +   (CASSANDRA-7578)
 + * (cqlsh) Fix cqlsh display when zero rows are returned (CASSANDRA-7580)
 + * Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572)
 + * Fix NPE when dropping index from non-existent keyspace, AssertionError when
 +   dropping non-existent index with IF EXISTS (CASSANDRA-7590)
 + * Fix sstablelevelresetter hang (CASSANDRA-7614)
 + * (cqlsh) Fix deserialization of blobs (CASSANDRA-7603)
 + * Use "keyspace updated" schema change message for UDT changes in v1 and
 +   v2 protocols (CASSANDRA-7617)
 + * Fix tracing of range slices and secondary index lookups that are local
 +   to the coordinator (CASSANDRA-7599)
 + * Set -Dcassandra.storagedir for all tool shell scripts (CASSANDRA-7587)
 + * Don't swap max/min col names when mutating sstable metadata 
(CASSANDRA-7596)
 + * (cqlsh) Correctly handle paged result sets (CASSANDRA-7625)
 + * (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626)
 + * Fix tracing of concurrent range slices and 2ary index queries 
(CASSANDRA-7626)
 +Merged from 2.0:
++ * Set gc_grace_seconds to seven days for system schema tables 
(CASSANDRA-7668)
 + * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
 + * Always flush on truncate (CASSANDRA-7511)
   * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
 + * Always merge ranges owned by a single node (CASSANDRA-6930)
 + * Track max/min timestamps for range tombstones (CASSANDRA-7647)
 + * Fix NPE when listing saved caches dir (CASSANDRA-7632)
 +
 +
 +2.1.0-rc4
 + * Fix word count hadoop example (CASSANDRA-7200)
 + * Updated memtable_cleanup_threshold and memtable_flush_writers defaults 
 +   (CASSANDRA-7551)
 + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
 + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521)
 + * Add missing table name to DROP INDEX responses and notifications 
(CASSANDRA-7539)
 + * Bump CQL version to 3.2.0 and update CQL documentation (CASSANDRA-7527)
 + * Fix configuration error message when running nodetool ring (CASSANDRA-7508)
 + * Support conditional updates, tuple type, and the v3 protocol in cqlsh 
(CASSANDRA-7509)
 + * Handle queries on multiple secondary index types (CASSANDRA-7525)
 + * Fix cqlsh authentication with v3 native protocol (CASSANDRA-7564)
 + * Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454)
 +Merged from 2.0:
   * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541)
   * Fix range merging when DES scores are zero (CASSANDRA-7535)
   * Warn when SSL certificates have expired (CASSANDRA-7528)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a09e53cd/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --cc src/java/org/apache/cassandra/config/C

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

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
CHANGES.txt
src/java/org/apache/cassandra/config/CFMetaData.java


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

Branch: refs/heads/cassandra-2.1.0
Commit: 63a1e987f75ce9ef2c5d0ca2f35965c43ee086f7
Parents: 5c0ddfb 0dd39c6
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:44:33 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:44:33 2014 -0500

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 8 
 2 files changed, 5 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/63a1e987/CHANGES.txt
--
diff --cc CHANGES.txt
index a5b49c5,b60d1d9..68d40b0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,30 -1,5 +1,31 @@@
 -1.2.19
 +2.0.10
 + * Fix truncate to always flush (CASSANDRA-7511)
 + * Remove shuffle and taketoken (CASSANDRA-7601)
 + * Switch liveRatio-related log messages to DEBUG (CASSANDRA-7467)
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Always merge ranges owned by a single node (CASSANDRA-6930)
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
 + * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541)
 + * Fix range merging when DES scores are zero (CASSANDRA-7535)
 + * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
 + * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
 + * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
 +   operations to incorrect become full QUORUM (CASSANDRA-7345)
 + * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
 + * (Hadoop) close CqlRecordWriter clients when finished (CASSANDRA-7459)
 + * Make sure high level sstables get compacted (CASSANDRA-7414)
 + * Fix AssertionError when using empty clustering columns and static columns
 +   (CASSANDRA-7455)
 + * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
 + * Add option to disable STCS in L0 (CASSANDRA-6621)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 + * Backport CASSANDRA-6747 (CASSANDRA-7560)
 + * Track max/min timestamps for range tombstones (CASSANDRA-7647)
 + * Fix NPE when listing saved caches dir (CASSANDRA-7632)
 +Merged from 1.2:
+  * Set gc_grace_seconds to seven days for system schema tables 
(CASSANDRA-7668)
   * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
   * Set correct stream ID on responses when non-Exception Throwables
 are thrown while handling native protocol messages (CASSANDRA-7470)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/63a1e987/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --cc src/java/org/apache/cassandra/config/CFMetaData.java
index 04b99e4,31e17ed..650d6c4
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@@ -89,81 -79,79 +89,81 @@@ public final class CFMetaDat
  public final static boolean DEFAULT_POPULATE_IO_CACHE_ON_FLUSH = false;
  
  // Note that this is the default only for user created tables
 -public final static String DEFAULT_COMPRESSOR = 
SnappyCompressor.isAvailable() ? SnappyCompressor.class.getCanonicalName() : 
null;
 -
 -@Deprecated
 -public static final CFMetaData OldStatusCf = 
newSystemMetadata(Table.SYSTEM_KS, SystemTable.OLD_STATUS_CF, 0, "unused", 
BytesType.instance, null);
 -@Deprecated
 -public static final CFMetaData OldHintsCf = 
newSystemMetadata(Table.SYSTEM_KS, SystemTable.OLD_HINTS_CF, 1, "unused", 
BytesType.instance, BytesType.instance);
 -@Deprecated
 -public static final CFMetaData OldMigrationsCf = 
newSystemMetadata(Table.SYSTEM_KS, DefsTable.OLD_MIGRATIONS_CF, 2, "unused", 
TimeUUIDType.instance, null);
 -@Deprecated
 -public static final CFMetaData OldSchemaCf = 
newSystemMetadata(Table.SYSTEM_KS, DefsTable.OLD_SCHEMA_CF, 3, "unused", 
UTF8Type.instance, null);
 -
 -public static final CFMetaData IndexCf = compile(5, "CREATE TABLE \"" + 
SystemTable.INDEX_CF + "\" ("
 -+ "table_name text,"
 -+ "index_name text,"
 -+ "PRIMA

[1/2] git commit: Set gc_grace_seconds to 7 days for system schema tables

2014-08-01 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 5c0ddfbba -> 63a1e987f


Set gc_grace_seconds to 7 days for system schema tables

Patch by Tyler Hobbs; review by Aleksey Yeschenko for CASSANDRA-7668


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

Branch: refs/heads/cassandra-2.0
Commit: 0dd39c6a556a8e98c946855d7dc3dbfd110d1ec9
Parents: ee2ed3c
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:40:40 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:40:40 2014 -0500

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0dd39c6a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0ad02c1..b60d1d9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.19
+ * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
  * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
  * Set correct stream ID on responses when non-Exception Throwables
are thrown while handling native protocol messages (CASSANDRA-7470)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0dd39c6a/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java 
b/src/java/org/apache/cassandra/config/CFMetaData.java
index 9e3ceb7..31e17ed 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -108,7 +108,7 @@ public final class CFMetaData
   + 
"durable_writes boolean,"
   + 
"strategy_class text,"
   + 
"strategy_options text"
-  + ") WITH 
COMPACT STORAGE AND COMMENT='keyspace definitions' AND gc_grace_seconds=8640");
+  + ") WITH 
COMPACT STORAGE AND COMMENT='keyspace definitions' AND 
gc_grace_seconds=604800");
 
 public static final CFMetaData SchemaColumnFamiliesCf = compile(9, "CREATE 
TABLE " + SystemTable.SCHEMA_COLUMNFAMILIES_CF + "("
+ 
"keyspace_name text,"
@@ -137,7 +137,7 @@ public final class CFMetaData
+ 
"column_aliases text,"
+ 
"compaction_strategy_options text,"
+ 
"PRIMARY KEY (keyspace_name, columnfamily_name)"
-   + ") 
WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=8640");
+   + ") 
WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=604800");
 
 public static final CFMetaData SchemaColumnsCf = compile(10, "CREATE TABLE 
" + SystemTable.SCHEMA_COLUMNS_CF + "("
  + 
"keyspace_name text,"
@@ -149,7 +149,7 @@ public final class CFMetaData
  + "index_name 
text,"
  + 
"component_index int,"
  + "PRIMARY 
KEY(keyspace_name, columnfamily_name, column_name)"
- + ") WITH 
COMMENT='ColumnFamily column attributes' AND gc_grace_seconds=8640");
+ + ") WITH 
COMMENT='ColumnFamily column attributes' AND gc_grace_seconds=604800");
 
 public static final CFMetaData HintsCf = compile("CREATE TABLE " + 
SystemTable.HINTS_CF + " ("
  + "target_id uuid,"



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

2014-08-01 Thread tylerhobbs
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
CHANGES.txt
src/java/org/apache/cassandra/config/CFMetaData.java


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

Branch: refs/heads/cassandra-2.0
Commit: 63a1e987f75ce9ef2c5d0ca2f35965c43ee086f7
Parents: 5c0ddfb 0dd39c6
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:44:33 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:44:33 2014 -0500

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 8 
 2 files changed, 5 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/63a1e987/CHANGES.txt
--
diff --cc CHANGES.txt
index a5b49c5,b60d1d9..68d40b0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,30 -1,5 +1,31 @@@
 -1.2.19
 +2.0.10
 + * Fix truncate to always flush (CASSANDRA-7511)
 + * Remove shuffle and taketoken (CASSANDRA-7601)
 + * Switch liveRatio-related log messages to DEBUG (CASSANDRA-7467)
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Always merge ranges owned by a single node (CASSANDRA-6930)
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
 + * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541)
 + * Fix range merging when DES scores are zero (CASSANDRA-7535)
 + * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
 + * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
 + * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
 +   operations to incorrect become full QUORUM (CASSANDRA-7345)
 + * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
 + * (Hadoop) close CqlRecordWriter clients when finished (CASSANDRA-7459)
 + * Make sure high level sstables get compacted (CASSANDRA-7414)
 + * Fix AssertionError when using empty clustering columns and static columns
 +   (CASSANDRA-7455)
 + * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
 + * Add option to disable STCS in L0 (CASSANDRA-6621)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 + * Backport CASSANDRA-6747 (CASSANDRA-7560)
 + * Track max/min timestamps for range tombstones (CASSANDRA-7647)
 + * Fix NPE when listing saved caches dir (CASSANDRA-7632)
 +Merged from 1.2:
+  * Set gc_grace_seconds to seven days for system schema tables 
(CASSANDRA-7668)
   * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
   * Set correct stream ID on responses when non-Exception Throwables
 are thrown while handling native protocol messages (CASSANDRA-7470)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/63a1e987/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --cc src/java/org/apache/cassandra/config/CFMetaData.java
index 04b99e4,31e17ed..650d6c4
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@@ -89,81 -79,79 +89,81 @@@ public final class CFMetaDat
  public final static boolean DEFAULT_POPULATE_IO_CACHE_ON_FLUSH = false;
  
  // Note that this is the default only for user created tables
 -public final static String DEFAULT_COMPRESSOR = 
SnappyCompressor.isAvailable() ? SnappyCompressor.class.getCanonicalName() : 
null;
 -
 -@Deprecated
 -public static final CFMetaData OldStatusCf = 
newSystemMetadata(Table.SYSTEM_KS, SystemTable.OLD_STATUS_CF, 0, "unused", 
BytesType.instance, null);
 -@Deprecated
 -public static final CFMetaData OldHintsCf = 
newSystemMetadata(Table.SYSTEM_KS, SystemTable.OLD_HINTS_CF, 1, "unused", 
BytesType.instance, BytesType.instance);
 -@Deprecated
 -public static final CFMetaData OldMigrationsCf = 
newSystemMetadata(Table.SYSTEM_KS, DefsTable.OLD_MIGRATIONS_CF, 2, "unused", 
TimeUUIDType.instance, null);
 -@Deprecated
 -public static final CFMetaData OldSchemaCf = 
newSystemMetadata(Table.SYSTEM_KS, DefsTable.OLD_SCHEMA_CF, 3, "unused", 
UTF8Type.instance, null);
 -
 -public static final CFMetaData IndexCf = compile(5, "CREATE TABLE \"" + 
SystemTable.INDEX_CF + "\" ("
 -+ "table_name text,"
 -+ "index_name text,"
 -+ "PRIMARY

[jira] [Comment Edited] (CASSANDRA-7665) nodetool scrub fails on system schema with UDTs

2014-08-01 Thread Yuki Morishita (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082870#comment-14082870
 ] 

Yuki Morishita edited comment on CASSANDRA-7665 at 8/1/14 8:42 PM:
---

It looks to me that the problem is CollectionType always validates value in 
native protocol format(CASSANDRA-7208), while scrub wants to validate on disk 
format through SSTableIdentityIterator.
Prior to CASSANDRA-7208, -validation on collection was no-op.-
edit: Actually. CollectionType's validate was for validating its content using 
that value's type.
Post CASSANDRA-7208, it is changed to validate whole collection.

[~thobbs] Any idea how we can fix this?


was (Author: yukim):
It looks to me that the problem is CollectionType always validates value in 
native protocol format(CASSANDRA-7208), while scrub wants to validate on disk 
format through SSTableIdentityIterator.
Prior to CASSANDRA-7208, validation on collection was no-op.

[~thobbs] Any idea how we can fix this?

> nodetool scrub fails on system schema with UDTs
> ---
>
> Key: CASSANDRA-7665
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7665
> Project: Cassandra
>  Issue Type: Bug
> Environment: 2.1.0-rc4
>Reporter: Jonathan Halliday
>Assignee: Marcus Eriksson
> Fix For: 2.1.0
>
> Attachments: 0001-test.patch
>
>
> [apache-cassandra-2.1.0-rc4]$ bin/cqlsh
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 2.1.0-rc4 | CQL spec 3.2.0 | Native protocol v3]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1 };
> cqlsh> use test;
> cqlsh:test> CREATE TYPE point_t (x double, y double);
> cqlsh:test> exit
> [apache-cassandra-2.1.0-rc4]$bin/nodetool scrub
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  (34135 bytes)
> INFO  12:34:57 Scrub of 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  complete: 2 rows in new sstable and 0 empty (tombstoned) rows dropped
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/local-7ad54392bcdd35a684174e047860b377/system-local-ka-5-Data.db')
>  (12515 bytes)
> WARN  12:34:57 Error reading row (stacktrace follows):
> org.apache.cassandra.io.sstable.CorruptSSTableException: 
> org.apache.cassandra.serializers.MarshalException: Not enough bytes to read a 
> set
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:139)
>  ~[apache-cassandra-2.1.0-rc4.jar:2.1.0-rc4]



--
This message was sent by Atlassian JIRA
(v6.2#6252)


git commit: Set gc_grace_seconds to 7 days for system schema tables

2014-08-01 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-1.2 ee2ed3c81 -> 0dd39c6a5


Set gc_grace_seconds to 7 days for system schema tables

Patch by Tyler Hobbs; review by Aleksey Yeschenko for CASSANDRA-7668


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

Branch: refs/heads/cassandra-1.2
Commit: 0dd39c6a556a8e98c946855d7dc3dbfd110d1ec9
Parents: ee2ed3c
Author: Tyler Hobbs 
Authored: Fri Aug 1 15:40:40 2014 -0500
Committer: Tyler Hobbs 
Committed: Fri Aug 1 15:40:40 2014 -0500

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/config/CFMetaData.java | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0dd39c6a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0ad02c1..b60d1d9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.19
+ * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
  * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
  * Set correct stream ID on responses when non-Exception Throwables
are thrown while handling native protocol messages (CASSANDRA-7470)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0dd39c6a/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java 
b/src/java/org/apache/cassandra/config/CFMetaData.java
index 9e3ceb7..31e17ed 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -108,7 +108,7 @@ public final class CFMetaData
   + 
"durable_writes boolean,"
   + 
"strategy_class text,"
   + 
"strategy_options text"
-  + ") WITH 
COMPACT STORAGE AND COMMENT='keyspace definitions' AND gc_grace_seconds=8640");
+  + ") WITH 
COMPACT STORAGE AND COMMENT='keyspace definitions' AND 
gc_grace_seconds=604800");
 
 public static final CFMetaData SchemaColumnFamiliesCf = compile(9, "CREATE 
TABLE " + SystemTable.SCHEMA_COLUMNFAMILIES_CF + "("
+ 
"keyspace_name text,"
@@ -137,7 +137,7 @@ public final class CFMetaData
+ 
"column_aliases text,"
+ 
"compaction_strategy_options text,"
+ 
"PRIMARY KEY (keyspace_name, columnfamily_name)"
-   + ") 
WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=8640");
+   + ") 
WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=604800");
 
 public static final CFMetaData SchemaColumnsCf = compile(10, "CREATE TABLE 
" + SystemTable.SCHEMA_COLUMNS_CF + "("
  + 
"keyspace_name text,"
@@ -149,7 +149,7 @@ public final class CFMetaData
  + "index_name 
text,"
  + 
"component_index int,"
  + "PRIMARY 
KEY(keyspace_name, columnfamily_name, column_name)"
- + ") WITH 
COMMENT='ColumnFamily column attributes' AND gc_grace_seconds=8640");
+ + ") WITH 
COMMENT='ColumnFamily column attributes' AND gc_grace_seconds=604800");
 
 public static final CFMetaData HintsCf = compile("CREATE TABLE " + 
SystemTable.HINTS_CF + " ("
  + "target_id uuid,"



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

2014-08-01 Thread benedict
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: 63393eb2488d1bb7760f927685f1dfefd6c6558a
Parents: 1e7962c a182ea0
Author: Benedict Elliott Smith 
Authored: Fri Aug 1 21:39:56 2014 +0100
Committer: Benedict Elliott Smith 
Committed: Fri Aug 1 21:39:56 2014 +0100

--
 .../stress/settings/SettingsColumn.java | 31 ++--
 1 file changed, 29 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/63393eb2/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
--
diff --cc 
tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
index e48b49c,4b4e0b0..ecdef29
--- a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
+++ b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
@@@ -41,10 -44,9 +44,10 @@@ public class SettingsColumn implements 
  {
  
  public final int maxColumnsPerKey;
- public transient final List names;
+ public transient List names;
  public final List namestrs;
  public final String comparator;
 +public final String timestamp;
  public final boolean variableColumnCount;
  public final boolean slice;
  public final DistributionFactory sizeDistribution;



[1/3] git commit: Fix column name serialization for cassandra-stress/stressd

2014-08-01 Thread benedict
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 54c424d6a -> a182ea00b
  refs/heads/trunk 1e7962cf3 -> 63393eb24


Fix column name serialization for cassandra-stress/stressd

patch by rspitzer; reviewed by benedict for CASSANDRA-7608


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

Branch: refs/heads/cassandra-2.1
Commit: a182ea00ba8650c5c94ff6d0b74cb864e434504d
Parents: 54c424d
Author: Benedict Elliott Smith 
Authored: Fri Aug 1 21:37:55 2014 +0100
Committer: Benedict Elliott Smith 
Committed: Fri Aug 1 21:37:55 2014 +0100

--
 .../stress/settings/SettingsColumn.java | 31 ++--
 1 file changed, 29 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a182ea00/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
--
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java 
b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
index 04c2a47..4b4e0b0 100644
--- a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
+++ b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
@@ -21,7 +21,10 @@ package org.apache.cassandra.stress.settings;
  */
 
 
+import java.io.IOException;
 import java.io.Serializable;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
 import java.nio.ByteBuffer;
 import java.nio.charset.CharacterCodingException;
 import java.util.ArrayList;
@@ -41,7 +44,7 @@ public class SettingsColumn implements Serializable
 {
 
 public final int maxColumnsPerKey;
-public transient final List names;
+public transient List names;
 public final List namestrs;
 public final String comparator;
 public final boolean variableColumnCount;
@@ -130,7 +133,6 @@ public class SettingsColumn implements Serializable
 {
 throw new RuntimeException(e);
 }
-
 this.names = Arrays.asList(names);
 this.namestrs = Arrays.asList(namestrs);
 }
@@ -205,4 +207,29 @@ public class SettingsColumn implements Serializable
 }
 };
 }
+
+/* Custom serializaiton invoked here to make legacy thrift based table 
creation work with StressD. This code requires
+ * the names attribute to be populated. Since the names attribute is set 
as a List[ByteBuffer] we switch it
+ * to an array on the way out and back to a buffer when it's being read in.
+ */
+
+private void writeObject(ObjectOutputStream oos) throws IOException
+{
+oos.defaultWriteObject();
+ArrayList namesBytes = new ArrayList<>();
+for (ByteBuffer buffer : this.names)
+namesBytes.add(ByteBufferUtil.getArray(buffer));
+oos.writeObject(namesBytes);
+}
+
+private void readObject(ObjectInputStream ois) throws 
ClassNotFoundException, IOException
+{
+ois.defaultReadObject();
+List namesBuffer = new ArrayList<>();
+List namesBytes = (List) ois.readObject();
+for (byte[] bytes : namesBytes)
+namesBuffer.add(ByteBuffer.wrap(bytes));
+this.names = new ArrayList<>(namesBuffer);
+}
+
 }



[2/3] git commit: Fix column name serialization for cassandra-stress/stressd

2014-08-01 Thread benedict
Fix column name serialization for cassandra-stress/stressd

patch by rspitzer; reviewed by benedict for CASSANDRA-7608


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

Branch: refs/heads/trunk
Commit: a182ea00ba8650c5c94ff6d0b74cb864e434504d
Parents: 54c424d
Author: Benedict Elliott Smith 
Authored: Fri Aug 1 21:37:55 2014 +0100
Committer: Benedict Elliott Smith 
Committed: Fri Aug 1 21:37:55 2014 +0100

--
 .../stress/settings/SettingsColumn.java | 31 ++--
 1 file changed, 29 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a182ea00/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
--
diff --git 
a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java 
b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
index 04c2a47..4b4e0b0 100644
--- a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
+++ b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
@@ -21,7 +21,10 @@ package org.apache.cassandra.stress.settings;
  */
 
 
+import java.io.IOException;
 import java.io.Serializable;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
 import java.nio.ByteBuffer;
 import java.nio.charset.CharacterCodingException;
 import java.util.ArrayList;
@@ -41,7 +44,7 @@ public class SettingsColumn implements Serializable
 {
 
 public final int maxColumnsPerKey;
-public transient final List names;
+public transient List names;
 public final List namestrs;
 public final String comparator;
 public final boolean variableColumnCount;
@@ -130,7 +133,6 @@ public class SettingsColumn implements Serializable
 {
 throw new RuntimeException(e);
 }
-
 this.names = Arrays.asList(names);
 this.namestrs = Arrays.asList(namestrs);
 }
@@ -205,4 +207,29 @@ public class SettingsColumn implements Serializable
 }
 };
 }
+
+/* Custom serializaiton invoked here to make legacy thrift based table 
creation work with StressD. This code requires
+ * the names attribute to be populated. Since the names attribute is set 
as a List[ByteBuffer] we switch it
+ * to an array on the way out and back to a buffer when it's being read in.
+ */
+
+private void writeObject(ObjectOutputStream oos) throws IOException
+{
+oos.defaultWriteObject();
+ArrayList namesBytes = new ArrayList<>();
+for (ByteBuffer buffer : this.names)
+namesBytes.add(ByteBufferUtil.getArray(buffer));
+oos.writeObject(namesBytes);
+}
+
+private void readObject(ObjectInputStream ois) throws 
ClassNotFoundException, IOException
+{
+ois.defaultReadObject();
+List namesBuffer = new ArrayList<>();
+List namesBytes = (List) ois.readObject();
+for (byte[] bytes : namesBytes)
+namesBuffer.add(ByteBuffer.wrap(bytes));
+this.names = new ArrayList<>(namesBuffer);
+}
+
 }



[jira] [Commented] (CASSANDRA-7631) Allow Stress to write directly to SSTables

2014-08-01 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082880#comment-14082880
 ] 

Benedict commented on CASSANDRA-7631:
-

I think it's a bit early for that. Let's pencil that in for 3.0.

> Allow Stress to write directly to SSTables
> --
>
> Key: CASSANDRA-7631
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7631
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Russell Alexander Spitzer
>Assignee: Russell Alexander Spitzer
>
> One common difficulty with benchmarking machines is the amount of time it 
> takes to initially load data. For machines with a large amount of ram this 
> becomes especially onerous because a very large amount of data needs to be 
> placed on the machine before page-cache can be circumvented. 
> To remedy this I suggest we add a top level flag to Cassandra-Stress which 
> would cause the tool to write directly to sstables rather than actually 
> performing CQL inserts. Internally this would use CQLSStable writer to write 
> directly to sstables while skipping any keys which are not owned by the node 
> stress is running on. The same stress command run on each node in the cluster 
> would then write unique sstables only containing data which that node is 
> responsible for. Following this no further network IO would be required to 
> distribute data as it would all already be correctly in place.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7631) Allow Stress to write directly to SSTables

2014-08-01 Thread Russell Alexander Spitzer (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082875#comment-14082875
 ] 

Russell Alexander Spitzer commented on CASSANDRA-7631:
--

True, I was just going for completeness sake atm. Maybe we should just pull all 
of the legacy commands out now and replace them with example user profiles that 
do the same thing?

> Allow Stress to write directly to SSTables
> --
>
> Key: CASSANDRA-7631
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7631
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Russell Alexander Spitzer
>Assignee: Russell Alexander Spitzer
>
> One common difficulty with benchmarking machines is the amount of time it 
> takes to initially load data. For machines with a large amount of ram this 
> becomes especially onerous because a very large amount of data needs to be 
> placed on the machine before page-cache can be circumvented. 
> To remedy this I suggest we add a top level flag to Cassandra-Stress which 
> would cause the tool to write directly to sstables rather than actually 
> performing CQL inserts. Internally this would use CQLSStable writer to write 
> directly to sstables while skipping any keys which are not owned by the node 
> stress is running on. The same stress command run on each node in the cluster 
> would then write unique sstables only containing data which that node is 
> responsible for. Following this no further network IO would be required to 
> distribute data as it would all already be correctly in place.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7665) nodetool scrub fails on system schema with UDTs

2014-08-01 Thread Yuki Morishita (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082870#comment-14082870
 ] 

Yuki Morishita commented on CASSANDRA-7665:
---

It looks to me that the problem is CollectionType always validates value in 
native protocol format(CASSANDRA-7208), while scrub wants to validate on disk 
format through SSTableIdentityIterator.
Prior to CASSANDRA-7208, validation on collection was no-op.

[~thobbs] Any idea how we can fix this?

> nodetool scrub fails on system schema with UDTs
> ---
>
> Key: CASSANDRA-7665
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7665
> Project: Cassandra
>  Issue Type: Bug
> Environment: 2.1.0-rc4
>Reporter: Jonathan Halliday
>Assignee: Marcus Eriksson
> Fix For: 2.1.0
>
> Attachments: 0001-test.patch
>
>
> [apache-cassandra-2.1.0-rc4]$ bin/cqlsh
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 2.1.0-rc4 | CQL spec 3.2.0 | Native protocol v3]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1 };
> cqlsh> use test;
> cqlsh:test> CREATE TYPE point_t (x double, y double);
> cqlsh:test> exit
> [apache-cassandra-2.1.0-rc4]$bin/nodetool scrub
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  (34135 bytes)
> INFO  12:34:57 Scrub of 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697/system-schema_columnfamilies-ka-1-Data.db')
>  complete: 2 rows in new sstable and 0 empty (tombstoned) rows dropped
> INFO  12:34:57 Scrubbing 
> SSTableReader(path='/apache-cassandra-2.1.0-rc4/bin/../data/data/system/local-7ad54392bcdd35a684174e047860b377/system-local-ka-5-Data.db')
>  (12515 bytes)
> WARN  12:34:57 Error reading row (stacktrace follows):
> org.apache.cassandra.io.sstable.CorruptSSTableException: 
> org.apache.cassandra.serializers.MarshalException: Not enough bytes to read a 
> set
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:139)
>  ~[apache-cassandra-2.1.0-rc4.jar:2.1.0-rc4]



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7631) Allow Stress to write directly to SSTables

2014-08-01 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082854#comment-14082854
 ] 

Benedict commented on CASSANDRA-7631:
-

I'd be inclined to keep this feature for user commands only, to keep 
maintenance complexity down. The writing is on the wall for the legacy mode 
anyway, for anything other than a very quick benchmark of general server 
performance. I don't see a reason to build the sstables up in advance for that 
kind of use case.

> Allow Stress to write directly to SSTables
> --
>
> Key: CASSANDRA-7631
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7631
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Russell Alexander Spitzer
>Assignee: Russell Alexander Spitzer
>
> One common difficulty with benchmarking machines is the amount of time it 
> takes to initially load data. For machines with a large amount of ram this 
> becomes especially onerous because a very large amount of data needs to be 
> placed on the machine before page-cache can be circumvented. 
> To remedy this I suggest we add a top level flag to Cassandra-Stress which 
> would cause the tool to write directly to sstables rather than actually 
> performing CQL inserts. Internally this would use CQLSStable writer to write 
> directly to sstables while skipping any keys which are not owned by the node 
> stress is running on. The same stress command run on each node in the cluster 
> would then write unique sstables only containing data which that node is 
> responsible for. Following this no further network IO would be required to 
> distribute data as it would all already be correctly in place.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7668) Make gc_grace_seconds 7 days for system tables

2014-08-01 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082842#comment-14082842
 ] 

Aleksey Yeschenko commented on CASSANDRA-7668:
--

+1 (the 2.1 patch should also include the user types table).

> Make gc_grace_seconds 7 days for system tables
> --
>
> Key: CASSANDRA-7668
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7668
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Tyler Hobbs
>Assignee: Tyler Hobbs
>Priority: Minor
> Fix For: 1.2.19, 2.0.10, 2.1.0
>
> Attachments: 7668-1.2.txt, 7668-2.0.txt
>
>
> The system tables have had a {{gc_grace_seconds}} of 8640 since 
> CASSANDRA-4018.  This was probably a typo and was intended to be 10 days.  In 
> CASSANDRA-6717 we will set gc_grace to seven days, so that would be a 
> reasonable value to use here.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7631) Allow Stress to write directly to SSTables

2014-08-01 Thread Russell Alexander Spitzer (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082838#comment-14082838
 ] 

Russell Alexander Spitzer commented on CASSANDRA-7631:
--

Added another commit with the code to write legacy sstables.
https://github.com/RussellSpitzer/cassandra/commit/10f7db2ad1f765bc4a7c928ade722e81c0e9b899

 I'll add all the warnings and such for improper stress options next. 

> Allow Stress to write directly to SSTables
> --
>
> Key: CASSANDRA-7631
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7631
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Russell Alexander Spitzer
>Assignee: Russell Alexander Spitzer
>
> One common difficulty with benchmarking machines is the amount of time it 
> takes to initially load data. For machines with a large amount of ram this 
> becomes especially onerous because a very large amount of data needs to be 
> placed on the machine before page-cache can be circumvented. 
> To remedy this I suggest we add a top level flag to Cassandra-Stress which 
> would cause the tool to write directly to sstables rather than actually 
> performing CQL inserts. Internally this would use CQLSStable writer to write 
> directly to sstables while skipping any keys which are not owned by the node 
> stress is running on. The same stress command run on each node in the cluster 
> would then write unique sstables only containing data which that node is 
> responsible for. Following this no further network IO would be required to 
> distribute data as it would all already be correctly in place.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7668) Make gc_grace_seconds 7 days for system tables

2014-08-01 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-7668:
---

Attachment: 7668-2.0.txt
7668-1.2.txt

The 2.0 patch also sets gc_grace_seconds to seven days for the Triggers table.

> Make gc_grace_seconds 7 days for system tables
> --
>
> Key: CASSANDRA-7668
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7668
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Tyler Hobbs
>Assignee: Tyler Hobbs
>Priority: Minor
> Fix For: 1.2.19, 2.0.10, 2.1.0
>
> Attachments: 7668-1.2.txt, 7668-2.0.txt
>
>
> The system tables have had a {{gc_grace_seconds}} of 8640 since 
> CASSANDRA-4018.  This was probably a typo and was intended to be 10 days.  In 
> CASSANDRA-6717 we will set gc_grace to seven days, so that would be a 
> reasonable value to use here.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7668) Make gc_grace_seconds 7 days for system tables

2014-08-01 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-7668:
---

Since Version: 1.2.0 beta 1

> Make gc_grace_seconds 7 days for system tables
> --
>
> Key: CASSANDRA-7668
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7668
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Tyler Hobbs
>Assignee: Tyler Hobbs
>Priority: Minor
> Fix For: 1.2.19, 2.0.10, 2.1.0
>
> Attachments: 7668-1.2.txt, 7668-2.0.txt
>
>
> The system tables have had a {{gc_grace_seconds}} of 8640 since 
> CASSANDRA-4018.  This was probably a typo and was intended to be 10 days.  In 
> CASSANDRA-6717 we will set gc_grace to seven days, so that would be a 
> reasonable value to use here.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7661) org.apache.cassandra.utils.BitSetTest fails if you don't have /usr/share/dict/words

2014-08-01 Thread Joshua McKenzie (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082835#comment-14082835
 ] 

Joshua McKenzie commented on CASSANDRA-7661:


This looks like a duplicate of CASSANDRA-7389.  We want to back-port that 
change?

> org.apache.cassandra.utils.BitSetTest fails if you don't have 
> /usr/share/dict/words
> ---
>
> Key: CASSANDRA-7661
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7661
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tests
>Reporter: Jeremiah Jordan
>Priority: Trivial
>
> org.apache.cassandra.utils.WordGenerator used by BitSetTests just assumes you 
> have the file /usr/share/dict/words on your system.  If you don't it fails.  
> We probably shouldn't have unit tests depending on arbitrary external files.
> {noformat}
> [junit] Testsuite: org.apache.cassandra.utils.BitSetTest
> [junit] Tests run: 4, Failures: 0, Errors: 1, Time elapsed: 2.044 sec
> [junit]
> [junit] Testcase: compareBitSets(org.apache.cassandra.utils.BitSetTest):  
> Caused an ERROR
> [junit] java.io.FileNotFoundException: /usr/share/dict/words (No such 
> file or directory)
> [junit] java.lang.RuntimeException: java.io.FileNotFoundException: 
> /usr/share/dict/words (No such file or directory)
> [junit]   at 
> org.apache.cassandra.utils.KeyGenerator$WordGenerator.reset(KeyGenerator.java:137)
> [junit]   at 
> org.apache.cassandra.utils.KeyGenerator$WordGenerator.(KeyGenerator.java:126)
> [junit]   at 
> org.apache.cassandra.utils.BitSetTest.compareBitSets(BitSetTest.java:50)
> [junit] Caused by: java.io.FileNotFoundException: /usr/share/dict/words 
> (No such file or directory)
> [junit]   at java.io.FileInputStream.open(Native Method)
> [junit]   at java.io.FileInputStream.(FileInputStream.java:146)
> [junit]   at java.io.FileInputStream.(FileInputStream.java:101)
> [junit]   at 
> org.apache.cassandra.utils.KeyGenerator$WordGenerator.reset(KeyGenerator.java:135)
> [junit]
> [junit]
> [junit] Test org.apache.cassandra.utils.BitSetTest FAILED
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7668) Make gc_grace_seconds 7 days for system tables

2014-08-01 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-7668:
---

Description: The system tables have had a {{gc_grace_seconds}} of 8640 
since CASSANDRA-4018.  This was probably a typo and was intended to be 10 days. 
 In CASSANDRA-6717 we will set gc_grace to seven days, so that would be a 
reasonable value to use here.  (was: The system tables have had a 
{{gc_grace_seconds}} of 8640 since CASSANDRA-4018.  This was probably a typo 
and was intended to be 30 days.  In CASSANDRA-6717 we will set gc_grace to 
seven days, so that would be a reasonable value to use here.)

> Make gc_grace_seconds 7 days for system tables
> --
>
> Key: CASSANDRA-7668
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7668
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Tyler Hobbs
>Assignee: Tyler Hobbs
>Priority: Minor
> Fix For: 1.2.19, 2.0.10, 2.1.0
>
>
> The system tables have had a {{gc_grace_seconds}} of 8640 since 
> CASSANDRA-4018.  This was probably a typo and was intended to be 10 days.  In 
> CASSANDRA-6717 we will set gc_grace to seven days, so that would be a 
> reasonable value to use here.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7668) Make gc_grace_seconds 7 days for system tables

2014-08-01 Thread Tyler Hobbs (JIRA)
Tyler Hobbs created CASSANDRA-7668:
--

 Summary: Make gc_grace_seconds 7 days for system tables
 Key: CASSANDRA-7668
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7668
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Tyler Hobbs
Priority: Minor
 Fix For: 1.2.19, 2.0.10, 2.1.0


The system tables have had a {{gc_grace_seconds}} of 8640 since CASSANDRA-4018. 
 This was probably a typo and was intended to be 30 days.  In CASSANDRA-6717 we 
will set gc_grace to seven days, so that would be a reasonable value to use 
here.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7667) Improve migration

2014-08-01 Thread Robert Stupp (JIRA)
Robert Stupp created CASSANDRA-7667:
---

 Summary: Improve migration
 Key: CASSANDRA-7667
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7667
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Stupp


Idea is to optimize migration especially for large clusters with multiple DCs.
 
Currently {{MigrationManager.announce()}} simply broadcasts to all nodes.
 
Idea is to not announce schema migration to every node.
 
*Against remote DCs*: only contact a single node in each remote DC. This could 
make migration faster, because network latency comes into play. And it lowers 
cross-DC network requirements (since 1-to-all communication creates a huge 
amount of TCP connections). Drawback: remote-DC-announcement must be reliable 
(receiver must ACK - if it doesn't, sender must retry another node).
 
*Within the local DC*: use some gossip approach - e.g. only contact N nodes at 
once. Not sure about this one  - it might be nice, if there are really many 
(~100) nodes in one DC. But it's a bit difficult to guarantee, that all nodes 
will receive the announcement without giving up the "fire-and-forget" approach.




--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7638) Revisit GCInspector

2014-08-01 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082783#comment-14082783
 ] 

Brandon Williams commented on CASSANDRA-7638:
-

bq. I think it is useful to have that there, if when there is a full GC from a 
ParNew "promotion failure" or CMS "concurrent mode failure" it tells you that.

I agree, but it doesn't work on either 1.7.0_65-b17 or 1.8.0_11-b12 so there's 
not much point in having it.

> Revisit GCInspector
> ---
>
> Key: CASSANDRA-7638
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7638
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Brandon Williams
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: 7638-v2.txt, 7638.txt
>
>
> In CASSANDRA-2868 we had to change the api that GCI uses to avoid the native 
> memory leak, but this caused GCI to be less reliable and more 'best effort' 
> than before where it was 100% reliable.  Let's revisit this and see if the 
> native memory leak is fixed in java7.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (CASSANDRA-7601) Data loss after nodetool taketoken

2014-08-01 Thread Brandon Williams (JIRA)

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

Brandon Williams resolved CASSANDRA-7601.
-

   Resolution: Fixed
Fix Version/s: 1.2.19

Committed.

> Data loss after nodetool taketoken
> --
>
> Key: CASSANDRA-7601
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7601
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Tests
> Environment: Mac OSX Mavericks. Ubuntu 14.04
>Reporter: Philip Thompson
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 1.2.19, 2.0.10, 2.1.0
>
> Attachments: 7601-1.2.txt, 7601-2.0.txt, 7601-2.1.txt, 
> consistent_bootstrap_test.py, taketoken.tar.gz
>
>
> The dtest 
> consistent_bootstrap_test.py:TestBootstrapConsistency.consistent_reads_after_relocate_test
>  is failing on HEAD of the git branches 2.1 and 2.1.0.
> The test performs the following actions:
> - Create a cluster of 3 nodes
> - Create a keyspace with RF 2
> - Take node 3 down
> - Write 980 rows to node 2 with CL ONE
> - Flush node 2
> - Bring node 3 back up
> - Run nodetool taketoken on node 3 to transfer 80% of node 1's tokens to node 
> 3
> - Check for data loss
> When the check for data loss is performed, only ~725 rows can be read via CL 
> ALL.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


  1   2   3   >