[01/10] cassandra git commit: (cqlsh) encode input correctly when saving history

2016-01-22 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 deafdbe37 -> 3aaae7aa5
  refs/heads/cassandra-3.0 a60a80b83 -> bee7917b4
  refs/heads/cassandra-3.3 8ab41c8d0 -> 83ad9ce7d
  refs/heads/trunk f82646e81 -> 190e14a07


(cqlsh) encode input correctly when saving history

patch by matthieu.nantern; reviewed by pauloricardomg for CASSANDRA-10948


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

Branch: refs/heads/cassandra-2.2
Commit: 3aaae7aa59f3a08a657f4e7c93c848864117378f
Parents: deafdbe
Author: Matthieu Nantern 
Authored: Tue Dec 29 10:15:14 2015 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:03:20 2016 +0100

--
 CHANGES.txt  | 1 +
 bin/cqlsh.py | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3aaae7aa/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 1a92fd6..37a0137 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -23,6 +23,7 @@
  * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
  * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
  * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
+ * (cqlsh) encode input correctly when saving history
 Merged from 2.1:
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3aaae7aa/bin/cqlsh.py
--
diff --git a/bin/cqlsh.py b/bin/cqlsh.py
index c03a3c2..17c42a6 100644
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@ -1123,7 +1123,7 @@ class Shell(cmd.Cmd):
 new_hist = srcstr.replace("\n", " ").rstrip()
 
 if nl_count > 1 and self.last_hist != new_hist:
-readline.add_history(new_hist)
+readline.add_history(new_hist.encode(self.encoding))
 
 self.last_hist = new_hist
 cmdword = tokens[0][1]



[02/10] cassandra git commit: (cqlsh) encode input correctly when saving history

2016-01-22 Thread slebresne
(cqlsh) encode input correctly when saving history

patch by matthieu.nantern; reviewed by pauloricardomg for CASSANDRA-10948


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

Branch: refs/heads/cassandra-3.0
Commit: 3aaae7aa59f3a08a657f4e7c93c848864117378f
Parents: deafdbe
Author: Matthieu Nantern 
Authored: Tue Dec 29 10:15:14 2015 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:03:20 2016 +0100

--
 CHANGES.txt  | 1 +
 bin/cqlsh.py | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3aaae7aa/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 1a92fd6..37a0137 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -23,6 +23,7 @@
  * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
  * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
  * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
+ * (cqlsh) encode input correctly when saving history
 Merged from 2.1:
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3aaae7aa/bin/cqlsh.py
--
diff --git a/bin/cqlsh.py b/bin/cqlsh.py
index c03a3c2..17c42a6 100644
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@ -1123,7 +1123,7 @@ class Shell(cmd.Cmd):
 new_hist = srcstr.replace("\n", " ").rstrip()
 
 if nl_count > 1 and self.last_hist != new_hist:
-readline.add_history(new_hist)
+readline.add_history(new_hist.encode(self.encoding))
 
 self.last_hist = new_hist
 cmdword = tokens[0][1]



[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/cassandra-3.3
Commit: 83ad9ce7d696fe07353340118c11f8a31f0f767b
Parents: 8ab41c8 bee7917
Author: Sylvain Lebresne 
Authored: Fri Jan 22 16:08:21 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:08:21 2016 +0100

--
 CHANGES.txt  | 3 ++-
 bin/cqlsh.py | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/83ad9ce7/CHANGES.txt
--
diff --cc CHANGES.txt
index 8a41b2e,fa4042c..2e1f8c3
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -15,8 -11,18 +15,8 @@@ Merged from 3.0
 tombstone (CASSANDRA-10743)
   * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
   * Fix potential assertion error during compaction (CASSANDRA-10944)
 - * Fix counting of received sstables in streaming (CASSANDRA-10949)
 - * Implement hints compression (CASSANDRA-9428)
 - * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 - * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 - * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 - * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 - * Add back support for 3rd party auth providers to bulk loader 
(CASSANDRA-10873)
 - * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 - * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes 
(CASSANDRA-10837)
 - * Fix sstableloader not working with upper case keyspace name 
(CASSANDRA-10806)
  Merged from 2.2:
--2.2.5
++ * (cqlsh) encode input correctly when saving history
   * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
   * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 going (CASSANDRA-10979)
@@@ -42,53 -59,6 +42,54 @@@ Merged from 2.1
   * Retry sending gossip syn multiple times during shadow round 
(CASSANDRA-8072)
   * Fix pending range calculation during moves (CASSANDRA-10887)
   * Sane default (200Mbps) for inter-DC streaming througput (CASSANDRA-8708)
 +
 +
 +3.2
 + * Make sure tokens don't exist in several data directories (CASSANDRA-6696)
 + * Add requireAuthorization method to IAuthorizer (CASSANDRA-10852)
 + * Move static JVM options to conf/jvm.options file (CASSANDRA-10494)
 + * Fix CassandraVersion to accept x.y version string (CASSANDRA-10931)
 + * Add forceUserDefinedCleanup to allow more flexible cleanup 
(CASSANDRA-10708)
 + * (cqlsh) allow setting TTL with COPY (CASSANDRA-9494)
 + * Fix counting of received sstables in streaming (CASSANDRA-10949)
 + * Implement hints compression (CASSANDRA-9428)
 + * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 + * Fix EstimatedHistogram creation in nodetool tablehistograms 
(CASSANDRA-10859)
 + * Establish bootstrap stream sessions sequentially (CASSANDRA-6992)
 + * Sort compactionhistory output by timestamp (CASSANDRA-10464)
 + * More efficient BTree removal (CASSANDRA-9991)
 + * Make tablehistograms accept the same syntax as tablestats (CASSANDRA-10149)
 + * Group pending compactions based on table (CASSANDRA-10718)
 + * Add compressor name in sstablemetadata output (CASSANDRA-9879)
 + * Fix type casting for counter columns (CASSANDRA-10824)
 + * Prevent running Cassandra as root (CASSANDRA-8142)
 + * bound maximum in-flight commit log replay mutation bytes to 64 megabytes 
(CASSANDRA-8639)
 + * Normalize all scripts (CASSANDRA-10679)
 + * Make compression ratio much more accurate (CASSANDRA-10225)
 + * Optimize building of Clustering object when only one is created 
(CASSANDRA-10409)
 + * Make index building pluggable (CASSANDRA-10681)
 + * Add sstable flush observer (CASSANDRA-10678)
 + * Improve NTS endpoints calculation (CASSANDRA-10200)
 + * Improve performance of the folderSize function (CASSANDRA-10677)
 + * Add support for type casting in selection clause (CASSANDRA-10310)
 + * Added graphing option to cassandra-stress (CASSANDRA-7918)
 + * Abort in-progress queries that time out (CASSANDRA-7392)
 + * Add transparent data encryption core classes (CASSANDRA-9945)
 +Merged from 3.0:
++ * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 + * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 + * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 + * Add back support for 3rd party auth providers to bulk 

[10/10] cassandra git commit: Merge branch 'cassandra-3.3' into trunk

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.3' into trunk


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

Branch: refs/heads/trunk
Commit: 190e14a076a13cbd759aa4e8ec2b0a635e8cc2c1
Parents: f82646e 83ad9ce
Author: Sylvain Lebresne 
Authored: Fri Jan 22 16:08:36 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:08:36 2016 +0100

--
 CHANGES.txt  | 3 ++-
 bin/cqlsh.py | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
--


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



[07/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-01-22 Thread slebresne
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: bee7917b4dcca9779ff7b2ee9b97a7c4299ceacd
Parents: a60a80b 3aaae7a
Author: Sylvain Lebresne 
Authored: Fri Jan 22 16:03:52 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:03:52 2016 +0100

--
 CHANGES.txt  | 1 +
 bin/cqlsh.py | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


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

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



[05/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-01-22 Thread slebresne
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.3
Commit: e1cc0150de45b64387d69df7af79fc715d5bbab0
Parents: bee7917 dd2006b
Author: Sylvain Lebresne 
Authored: Fri Jan 22 16:24:15 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:24:15 2016 +0100

--
 CHANGES.txt |  1 +
 .../db/compaction/CompactionManager.java| 25 +---
 .../cassandra/service/StorageService.java   |  1 +
 3 files changed, 19 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e1cc0150/CHANGES.txt
--
diff --cc CHANGES.txt
index fa4042c,dcaccfc..4a0bca8
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,29 -1,7 +1,30 @@@
 +3.0.3
 + * Update CQL documentation (CASSANDRA-10899)
 + * Check the column name, not cell name, for dropped columns when reading
 +   legacy sstables (CASSANDRA-11018)
 + * Don't attempt to index clustering values of static rows (CASSANDRA-11021)
 + * Remove checksum files after replaying hints (CASSANDRA-10947)
 + * Support passing base table metadata to custom 2i validation 
(CASSANDRA-10924)
 + * Ensure stale index entries are purged during reads (CASSANDRA-11013)
 + * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
 + * Fix UnsupportedOperationException when reading old sstable with range
 +   tombstone (CASSANDRA-10743)
 + * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
 + * Fix potential assertion error during compaction (CASSANDRA-10944)
 + * Fix counting of received sstables in streaming (CASSANDRA-10949)
 + * Implement hints compression (CASSANDRA-9428)
 + * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 + * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 + * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 + * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 + * Add back support for 3rd party auth providers to bulk loader 
(CASSANDRA-10873)
 + * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 + * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes 
(CASSANDRA-10837)
 + * Fix sstableloader not working with upper case keyspace name 
(CASSANDRA-10806)
 +Merged from 2.2:
  2.2.5
+  * Apply change to compaction throughput in real time (CASSANDRA-10025)
   * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 - * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
   * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 going (CASSANDRA-10979)
   * Make UUID LSB unique per process (CASSANDRA-7925)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e1cc0150/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--

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



[03/10] cassandra git commit: Make changes to compaction throughput be applied in real time

2016-01-22 Thread slebresne
Make changes to compaction throughput be applied in real time

patch by soumava; reviewed by kohlisankalp for CASSANDRA-10025


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

Branch: refs/heads/cassandra-3.3
Commit: dd2006b0c1053e9b536ac5ec66f38646d764cb6f
Parents: 3aaae7a
Author: Soumava Ghosh 
Authored: Fri Jan 22 16:19:50 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:19:50 2016 +0100

--
 CHANGES.txt |  1 +
 .../db/compaction/CompactionManager.java| 25 +---
 .../cassandra/service/StorageService.java   |  1 +
 3 files changed, 19 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 37a0137..dcaccfc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.5
+ * Apply change to compaction throughput in real time (CASSANDRA-10025)
  * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
  * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
  * Start L0 STCS-compactions even if there is a L0 -> L1 compaction

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index ae2b6fb..c51ed7d 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -114,24 +114,33 @@ public class CompactionManager implements 
CompactionManagerMBean
 private final RateLimiter compactionRateLimiter = 
RateLimiter.create(Double.MAX_VALUE);
 
 /**
- * Gets compaction rate limiter. When compaction_throughput_mb_per_sec is 
0 or node is bootstrapping,
- * this returns rate limiter with the rate of Double.MAX_VALUE bytes per 
second.
+ * Gets compaction rate limiter.
  * Rate unit is bytes per sec.
  *
  * @return RateLimiter with rate limit set
  */
 public RateLimiter getRateLimiter()
 {
-double currentThroughput = 
DatabaseDescriptor.getCompactionThroughputMbPerSec() * 1024.0 * 1024.0;
-// if throughput is set to 0, throttling is disabled
-if (currentThroughput == 0 || 
StorageService.instance.isBootstrapMode())
-currentThroughput = Double.MAX_VALUE;
-if (compactionRateLimiter.getRate() != currentThroughput)
-compactionRateLimiter.setRate(currentThroughput);
+setRate(DatabaseDescriptor.getCompactionThroughputMbPerSec());
 return compactionRateLimiter;
 }
 
 /**
+ * Sets the rate for the rate limiter. When 
compaction_throughput_mb_per_sec is 0 or node is bootstrapping,
+ * this sets the rate to Double.MAX_VALUE bytes per second.
+ * @param throughPutMbPerSec throughput to set in mb per second
+ */
+public void setRate(final double throughPutMbPerSec)
+{
+double throughput = throughPutMbPerSec * 1024.0 * 1024.0;
+// if throughput is set to 0, throttling is disabled
+if (throughput == 0 || StorageService.instance.isBootstrapMode())
+throughput = Double.MAX_VALUE;
+if (compactionRateLimiter.getRate() != throughput)
+compactionRateLimiter.setRate(throughput);
+}
+
+/**
  * Call this whenever a compaction might be needed on the given 
columnfamily.
  * It's okay to over-call (within reason) if a call is unnecessary, it will
  * turn into a no-op in the bucketing/candidate-scan phase.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 34419e9..09c20e9 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1158,6 +1158,7 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 public void setCompactionThroughputMbPerSec(int value)
 {
 DatabaseDescriptor.setCompactionThroughputMbPerSec(value);
+CompactionManager.instance.setRate(value);

[07/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-01-22 Thread slebresne
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: e1cc0150de45b64387d69df7af79fc715d5bbab0
Parents: bee7917 dd2006b
Author: Sylvain Lebresne 
Authored: Fri Jan 22 16:24:15 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:24:15 2016 +0100

--
 CHANGES.txt |  1 +
 .../db/compaction/CompactionManager.java| 25 +---
 .../cassandra/service/StorageService.java   |  1 +
 3 files changed, 19 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e1cc0150/CHANGES.txt
--
diff --cc CHANGES.txt
index fa4042c,dcaccfc..4a0bca8
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,29 -1,7 +1,30 @@@
 +3.0.3
 + * Update CQL documentation (CASSANDRA-10899)
 + * Check the column name, not cell name, for dropped columns when reading
 +   legacy sstables (CASSANDRA-11018)
 + * Don't attempt to index clustering values of static rows (CASSANDRA-11021)
 + * Remove checksum files after replaying hints (CASSANDRA-10947)
 + * Support passing base table metadata to custom 2i validation 
(CASSANDRA-10924)
 + * Ensure stale index entries are purged during reads (CASSANDRA-11013)
 + * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
 + * Fix UnsupportedOperationException when reading old sstable with range
 +   tombstone (CASSANDRA-10743)
 + * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
 + * Fix potential assertion error during compaction (CASSANDRA-10944)
 + * Fix counting of received sstables in streaming (CASSANDRA-10949)
 + * Implement hints compression (CASSANDRA-9428)
 + * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 + * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 + * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 + * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 + * Add back support for 3rd party auth providers to bulk loader 
(CASSANDRA-10873)
 + * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 + * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes 
(CASSANDRA-10837)
 + * Fix sstableloader not working with upper case keyspace name 
(CASSANDRA-10806)
 +Merged from 2.2:
  2.2.5
+  * Apply change to compaction throughput in real time (CASSANDRA-10025)
   * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 - * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
   * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 going (CASSANDRA-10979)
   * Make UUID LSB unique per process (CASSANDRA-7925)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e1cc0150/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--

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



[06/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-01-22 Thread slebresne
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: e1cc0150de45b64387d69df7af79fc715d5bbab0
Parents: bee7917 dd2006b
Author: Sylvain Lebresne 
Authored: Fri Jan 22 16:24:15 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:24:15 2016 +0100

--
 CHANGES.txt |  1 +
 .../db/compaction/CompactionManager.java| 25 +---
 .../cassandra/service/StorageService.java   |  1 +
 3 files changed, 19 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e1cc0150/CHANGES.txt
--
diff --cc CHANGES.txt
index fa4042c,dcaccfc..4a0bca8
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,29 -1,7 +1,30 @@@
 +3.0.3
 + * Update CQL documentation (CASSANDRA-10899)
 + * Check the column name, not cell name, for dropped columns when reading
 +   legacy sstables (CASSANDRA-11018)
 + * Don't attempt to index clustering values of static rows (CASSANDRA-11021)
 + * Remove checksum files after replaying hints (CASSANDRA-10947)
 + * Support passing base table metadata to custom 2i validation 
(CASSANDRA-10924)
 + * Ensure stale index entries are purged during reads (CASSANDRA-11013)
 + * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
 + * Fix UnsupportedOperationException when reading old sstable with range
 +   tombstone (CASSANDRA-10743)
 + * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
 + * Fix potential assertion error during compaction (CASSANDRA-10944)
 + * Fix counting of received sstables in streaming (CASSANDRA-10949)
 + * Implement hints compression (CASSANDRA-9428)
 + * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 + * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 + * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 + * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 + * Add back support for 3rd party auth providers to bulk loader 
(CASSANDRA-10873)
 + * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 + * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes 
(CASSANDRA-10837)
 + * Fix sstableloader not working with upper case keyspace name 
(CASSANDRA-10806)
 +Merged from 2.2:
  2.2.5
+  * Apply change to compaction throughput in real time (CASSANDRA-10025)
   * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 - * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
   * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 going (CASSANDRA-10979)
   * Make UUID LSB unique per process (CASSANDRA-7925)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e1cc0150/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--

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



[10/10] cassandra git commit: Merge branch 'cassandra-3.3' into trunk

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.3' into trunk


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

Branch: refs/heads/trunk
Commit: 2f984e330ed6e58582359afa3bb4d5b9cf6e6440
Parents: 190e14a 7074dda
Author: Sylvain Lebresne 
Authored: Fri Jan 22 16:25:15 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:25:15 2016 +0100

--
 CHANGES.txt |  1 +
 .../db/compaction/CompactionManager.java| 25 +---
 .../cassandra/service/StorageService.java   |  1 +
 3 files changed, 19 insertions(+), 8 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f984e33/src/java/org/apache/cassandra/service/StorageService.java
--



[02/10] cassandra git commit: Make changes to compaction throughput be applied in real time

2016-01-22 Thread slebresne
Make changes to compaction throughput be applied in real time

patch by soumava; reviewed by kohlisankalp for CASSANDRA-10025


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

Branch: refs/heads/cassandra-3.0
Commit: dd2006b0c1053e9b536ac5ec66f38646d764cb6f
Parents: 3aaae7a
Author: Soumava Ghosh 
Authored: Fri Jan 22 16:19:50 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:19:50 2016 +0100

--
 CHANGES.txt |  1 +
 .../db/compaction/CompactionManager.java| 25 +---
 .../cassandra/service/StorageService.java   |  1 +
 3 files changed, 19 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 37a0137..dcaccfc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.5
+ * Apply change to compaction throughput in real time (CASSANDRA-10025)
  * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
  * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
  * Start L0 STCS-compactions even if there is a L0 -> L1 compaction

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index ae2b6fb..c51ed7d 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -114,24 +114,33 @@ public class CompactionManager implements 
CompactionManagerMBean
 private final RateLimiter compactionRateLimiter = 
RateLimiter.create(Double.MAX_VALUE);
 
 /**
- * Gets compaction rate limiter. When compaction_throughput_mb_per_sec is 
0 or node is bootstrapping,
- * this returns rate limiter with the rate of Double.MAX_VALUE bytes per 
second.
+ * Gets compaction rate limiter.
  * Rate unit is bytes per sec.
  *
  * @return RateLimiter with rate limit set
  */
 public RateLimiter getRateLimiter()
 {
-double currentThroughput = 
DatabaseDescriptor.getCompactionThroughputMbPerSec() * 1024.0 * 1024.0;
-// if throughput is set to 0, throttling is disabled
-if (currentThroughput == 0 || 
StorageService.instance.isBootstrapMode())
-currentThroughput = Double.MAX_VALUE;
-if (compactionRateLimiter.getRate() != currentThroughput)
-compactionRateLimiter.setRate(currentThroughput);
+setRate(DatabaseDescriptor.getCompactionThroughputMbPerSec());
 return compactionRateLimiter;
 }
 
 /**
+ * Sets the rate for the rate limiter. When 
compaction_throughput_mb_per_sec is 0 or node is bootstrapping,
+ * this sets the rate to Double.MAX_VALUE bytes per second.
+ * @param throughPutMbPerSec throughput to set in mb per second
+ */
+public void setRate(final double throughPutMbPerSec)
+{
+double throughput = throughPutMbPerSec * 1024.0 * 1024.0;
+// if throughput is set to 0, throttling is disabled
+if (throughput == 0 || StorageService.instance.isBootstrapMode())
+throughput = Double.MAX_VALUE;
+if (compactionRateLimiter.getRate() != throughput)
+compactionRateLimiter.setRate(throughput);
+}
+
+/**
  * Call this whenever a compaction might be needed on the given 
columnfamily.
  * It's okay to over-call (within reason) if a call is unnecessary, it will
  * turn into a no-op in the bucketing/candidate-scan phase.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 34419e9..09c20e9 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1158,6 +1158,7 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 public void setCompactionThroughputMbPerSec(int value)
 {
 DatabaseDescriptor.setCompactionThroughputMbPerSec(value);
+CompactionManager.instance.setRate(value);

[01/10] cassandra git commit: Make changes to compaction throughput be applied in real time

2016-01-22 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 3aaae7aa5 -> dd2006b0c
  refs/heads/cassandra-3.0 bee7917b4 -> e1cc0150d
  refs/heads/cassandra-3.3 83ad9ce7d -> 7074ddab8
  refs/heads/trunk 190e14a07 -> 2f984e330


Make changes to compaction throughput be applied in real time

patch by soumava; reviewed by kohlisankalp for CASSANDRA-10025


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

Branch: refs/heads/cassandra-2.2
Commit: dd2006b0c1053e9b536ac5ec66f38646d764cb6f
Parents: 3aaae7a
Author: Soumava Ghosh 
Authored: Fri Jan 22 16:19:50 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:19:50 2016 +0100

--
 CHANGES.txt |  1 +
 .../db/compaction/CompactionManager.java| 25 +---
 .../cassandra/service/StorageService.java   |  1 +
 3 files changed, 19 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 37a0137..dcaccfc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.5
+ * Apply change to compaction throughput in real time (CASSANDRA-10025)
  * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
  * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
  * Start L0 STCS-compactions even if there is a L0 -> L1 compaction

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index ae2b6fb..c51ed7d 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -114,24 +114,33 @@ public class CompactionManager implements 
CompactionManagerMBean
 private final RateLimiter compactionRateLimiter = 
RateLimiter.create(Double.MAX_VALUE);
 
 /**
- * Gets compaction rate limiter. When compaction_throughput_mb_per_sec is 
0 or node is bootstrapping,
- * this returns rate limiter with the rate of Double.MAX_VALUE bytes per 
second.
+ * Gets compaction rate limiter.
  * Rate unit is bytes per sec.
  *
  * @return RateLimiter with rate limit set
  */
 public RateLimiter getRateLimiter()
 {
-double currentThroughput = 
DatabaseDescriptor.getCompactionThroughputMbPerSec() * 1024.0 * 1024.0;
-// if throughput is set to 0, throttling is disabled
-if (currentThroughput == 0 || 
StorageService.instance.isBootstrapMode())
-currentThroughput = Double.MAX_VALUE;
-if (compactionRateLimiter.getRate() != currentThroughput)
-compactionRateLimiter.setRate(currentThroughput);
+setRate(DatabaseDescriptor.getCompactionThroughputMbPerSec());
 return compactionRateLimiter;
 }
 
 /**
+ * Sets the rate for the rate limiter. When 
compaction_throughput_mb_per_sec is 0 or node is bootstrapping,
+ * this sets the rate to Double.MAX_VALUE bytes per second.
+ * @param throughPutMbPerSec throughput to set in mb per second
+ */
+public void setRate(final double throughPutMbPerSec)
+{
+double throughput = throughPutMbPerSec * 1024.0 * 1024.0;
+// if throughput is set to 0, throttling is disabled
+if (throughput == 0 || StorageService.instance.isBootstrapMode())
+throughput = Double.MAX_VALUE;
+if (compactionRateLimiter.getRate() != throughput)
+compactionRateLimiter.setRate(throughput);
+}
+
+/**
  * Call this whenever a compaction might be needed on the given 
columnfamily.
  * It's okay to over-call (within reason) if a call is unnecessary, it will
  * turn into a no-op in the bucketing/candidate-scan phase.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 34419e9..09c20e9 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1158,6 +1158,7 @@ public class StorageService extends 

[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/trunk
Commit: 7074ddab84e37c232710cafc1ab06a812ef3f226
Parents: 83ad9ce e1cc015
Author: Sylvain Lebresne 
Authored: Fri Jan 22 16:25:05 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:25:05 2016 +0100

--
 CHANGES.txt |  1 +
 .../db/compaction/CompactionManager.java| 25 +---
 .../cassandra/service/StorageService.java   |  1 +
 3 files changed, 19 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7074ddab/CHANGES.txt
--
diff --cc CHANGES.txt
index 2e1f8c3,4a0bca8..94b723c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -15,8 -11,19 +15,9 @@@ Merged from 3.0
 tombstone (CASSANDRA-10743)
   * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
   * Fix potential assertion error during compaction (CASSANDRA-10944)
 - * Fix counting of received sstables in streaming (CASSANDRA-10949)
 - * Implement hints compression (CASSANDRA-9428)
 - * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 - * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 - * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 - * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 - * Add back support for 3rd party auth providers to bulk loader 
(CASSANDRA-10873)
 - * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 - * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes 
(CASSANDRA-10837)
 - * Fix sstableloader not working with upper case keyspace name 
(CASSANDRA-10806)
  Merged from 2.2:
 -2.2.5
+  * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * (cqlsh) encode input correctly when saving history
   * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
   * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 going (CASSANDRA-10979)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7074ddab/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7074ddab/src/java/org/apache/cassandra/service/StorageService.java
--



[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/cassandra-3.3
Commit: 7074ddab84e37c232710cafc1ab06a812ef3f226
Parents: 83ad9ce e1cc015
Author: Sylvain Lebresne 
Authored: Fri Jan 22 16:25:05 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:25:05 2016 +0100

--
 CHANGES.txt |  1 +
 .../db/compaction/CompactionManager.java| 25 +---
 .../cassandra/service/StorageService.java   |  1 +
 3 files changed, 19 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7074ddab/CHANGES.txt
--
diff --cc CHANGES.txt
index 2e1f8c3,4a0bca8..94b723c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -15,8 -11,19 +15,9 @@@ Merged from 3.0
 tombstone (CASSANDRA-10743)
   * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
   * Fix potential assertion error during compaction (CASSANDRA-10944)
 - * Fix counting of received sstables in streaming (CASSANDRA-10949)
 - * Implement hints compression (CASSANDRA-9428)
 - * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 - * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 - * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 - * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 - * Add back support for 3rd party auth providers to bulk loader 
(CASSANDRA-10873)
 - * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 - * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes 
(CASSANDRA-10837)
 - * Fix sstableloader not working with upper case keyspace name 
(CASSANDRA-10806)
  Merged from 2.2:
 -2.2.5
+  * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * (cqlsh) encode input correctly when saving history
   * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
   * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 going (CASSANDRA-10979)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7074ddab/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7074ddab/src/java/org/apache/cassandra/service/StorageService.java
--



[04/10] cassandra git commit: Make changes to compaction throughput be applied in real time

2016-01-22 Thread slebresne
Make changes to compaction throughput be applied in real time

patch by soumava; reviewed by kohlisankalp for CASSANDRA-10025


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

Branch: refs/heads/trunk
Commit: dd2006b0c1053e9b536ac5ec66f38646d764cb6f
Parents: 3aaae7a
Author: Soumava Ghosh 
Authored: Fri Jan 22 16:19:50 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:19:50 2016 +0100

--
 CHANGES.txt |  1 +
 .../db/compaction/CompactionManager.java| 25 +---
 .../cassandra/service/StorageService.java   |  1 +
 3 files changed, 19 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 37a0137..dcaccfc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.5
+ * Apply change to compaction throughput in real time (CASSANDRA-10025)
  * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
  * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
  * Start L0 STCS-compactions even if there is a L0 -> L1 compaction

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index ae2b6fb..c51ed7d 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -114,24 +114,33 @@ public class CompactionManager implements 
CompactionManagerMBean
 private final RateLimiter compactionRateLimiter = 
RateLimiter.create(Double.MAX_VALUE);
 
 /**
- * Gets compaction rate limiter. When compaction_throughput_mb_per_sec is 
0 or node is bootstrapping,
- * this returns rate limiter with the rate of Double.MAX_VALUE bytes per 
second.
+ * Gets compaction rate limiter.
  * Rate unit is bytes per sec.
  *
  * @return RateLimiter with rate limit set
  */
 public RateLimiter getRateLimiter()
 {
-double currentThroughput = 
DatabaseDescriptor.getCompactionThroughputMbPerSec() * 1024.0 * 1024.0;
-// if throughput is set to 0, throttling is disabled
-if (currentThroughput == 0 || 
StorageService.instance.isBootstrapMode())
-currentThroughput = Double.MAX_VALUE;
-if (compactionRateLimiter.getRate() != currentThroughput)
-compactionRateLimiter.setRate(currentThroughput);
+setRate(DatabaseDescriptor.getCompactionThroughputMbPerSec());
 return compactionRateLimiter;
 }
 
 /**
+ * Sets the rate for the rate limiter. When 
compaction_throughput_mb_per_sec is 0 or node is bootstrapping,
+ * this sets the rate to Double.MAX_VALUE bytes per second.
+ * @param throughPutMbPerSec throughput to set in mb per second
+ */
+public void setRate(final double throughPutMbPerSec)
+{
+double throughput = throughPutMbPerSec * 1024.0 * 1024.0;
+// if throughput is set to 0, throttling is disabled
+if (throughput == 0 || StorageService.instance.isBootstrapMode())
+throughput = Double.MAX_VALUE;
+if (compactionRateLimiter.getRate() != throughput)
+compactionRateLimiter.setRate(throughput);
+}
+
+/**
  * Call this whenever a compaction might be needed on the given 
columnfamily.
  * It's okay to over-call (within reason) if a call is unnecessary, it will
  * turn into a no-op in the bucketing/candidate-scan phase.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd2006b0/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 34419e9..09c20e9 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1158,6 +1158,7 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 public void setCompactionThroughputMbPerSec(int value)
 {
 DatabaseDescriptor.setCompactionThroughputMbPerSec(value);
+CompactionManager.instance.setRate(value);
 }
 
   

[jira] [Commented] (CASSANDRA-11037) cqlsh bash script cannot be called through symlink

2016-01-22 Thread Benjamin Zarzycki (JIRA)

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

Benjamin Zarzycki commented on CASSANDRA-11037:
---

[~carlyeks] That makes way more sense.  Thanks for that.  :)

I updated my github repo and will update the JIRA thread.

> cqlsh bash script cannot be called through symlink
> --
>
> Key: CASSANDRA-11037
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11037
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
> Environment: BASH
>Reporter: Benjamin Zarzycki
>Priority: Trivial
>  Labels: lhf
> Fix For: 2.2.0
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> cqlsh bash script cannot be called through a symlink



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10661) Integrate SASI to Cassandra

2016-01-22 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-10661:
-

[~beobal] How about `unfilteredCluster`? Since we are on the same page about 
this, here is what I'm thinking - we are going to avoid README.md we have in 
xedin/sasi and I'm going to put it into doc/SASI.md, squash all 17 commits into 
one and push to trunk, sounds good?

> Integrate SASI to Cassandra
> ---
>
> Key: CASSANDRA-10661
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10661
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Pavel Yaskevich
>Assignee: Pavel Yaskevich
>  Labels: sasi
> Fix For: 3.x
>
>
> We have recently released new secondary index engine 
> (https://github.com/xedin/sasi) build using SecondaryIndex API, there are 
> still couple of things to work out regarding 3.x since it's currently 
> targeted on 2.0 released. I want to make this an umbrella issue to all of the 
> things related to integration of SASI, which are also tracked in 
> [sasi_issues|https://github.com/xedin/sasi/issues], into mainline Cassandra 
> 3.x release.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10134) Always require replace_address to replace existing address

2016-01-22 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-10134:
-

To mitigate the slow startup time, I think we can do a couple of things:
* If there is only one node in the seed list, and it's the local broadcast 
address, skip the shadow round
* Otherwise, check for a {{-Dcassandra.fast_unsafe_join}} flag (or something 
similar), and skip the shadow round if that's set.  We could then set this flag 
in ccm and/or the dtests that utilize multiple nodes.

Outside of tests, I don't think a 30s delay on starting a new cluster is 
terrible.  However, we should make sure to clearly document the new {{-D}} flag 
(in NEWS.txt and elsewhere) so that others can use it for their tests as well.

Also, even though this is a bug fix, I'm a little nervous about putting it in 
2.2 at this point (given that gossip changes are prone to gotcha's).  What do 
you think about 3.0+?

> Always require replace_address to replace existing address
> --
>
> Key: CASSANDRA-10134
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10134
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Tyler Hobbs
>Assignee: Stefania
> Fix For: 2.2.x, 3.0.x, 3.x
>
>
> Normally, when a node is started from a clean state with the same address as 
> an existing down node, it will fail to start with an error like this:
> {noformat}
> ERROR [main] 2015-08-19 15:07:51,577 CassandraDaemon.java:554 - Exception 
> encountered during startup
> java.lang.RuntimeException: A node with address /127.0.0.3 already exists, 
> cancelling join. Use cassandra.replace_address if you want to replace this 
> node.
>   at 
> org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:543)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:783)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:720)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:611)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:378) 
> [main/:na]
>   at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:537)
>  [main/:na]
>   at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:626) 
> [main/:na]
> {noformat}
> However, if {{auto_bootstrap}} is set to false or the node is in its own seed 
> list, it will not throw this error and will start normally.  The new node 
> then takes over the host ID of the old node (even if the tokens are 
> different), and the only message you will see is a warning in the other 
> nodes' logs:
> {noformat}
> logger.warn("Changing {}'s host ID from {} to {}", endpoint, storedId, 
> hostId);
> {noformat}
> This could cause an operator to accidentally wipe out the token information 
> for a down node without replacing it.  To fix this, we should check for an 
> endpoint collision even if {{auto_bootstrap}} is false or the node is a seed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10661) Integrate SASI to Cassandra

2016-01-22 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-10661:
-

[~doanduyhai] 

Regarding CONTAINS mode - it's more expensive to build since it has to extract 
the suffixes (which is exactly what search people are doing) which makes it as 
expensive to query as PREFIX columns. Regarding sorting - this is currently not 
a priority since it would require extensive changes to Cassandra interfaces to 
support that, MAX_ROWS currently is the same restriction per result page as in 
CQL3.


> Integrate SASI to Cassandra
> ---
>
> Key: CASSANDRA-10661
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10661
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Pavel Yaskevich
>Assignee: Pavel Yaskevich
>  Labels: sasi
> Fix For: 3.x
>
>
> We have recently released new secondary index engine 
> (https://github.com/xedin/sasi) build using SecondaryIndex API, there are 
> still couple of things to work out regarding 3.x since it's currently 
> targeted on 2.0 released. I want to make this an umbrella issue to all of the 
> things related to integration of SASI, which are also tracked in 
> [sasi_issues|https://github.com/xedin/sasi/issues], into mainline Cassandra 
> 3.x release.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10661) Integrate SASI to Cassandra

2016-01-22 Thread DOAN DuyHai (JIRA)

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

DOAN DuyHai commented on CASSANDRA-10661:
-

Thanks for the clarifications

> Integrate SASI to Cassandra
> ---
>
> Key: CASSANDRA-10661
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10661
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Pavel Yaskevich
>Assignee: Pavel Yaskevich
>  Labels: sasi
> Fix For: 3.x
>
>
> We have recently released new secondary index engine 
> (https://github.com/xedin/sasi) build using SecondaryIndex API, there are 
> still couple of things to work out regarding 3.x since it's currently 
> targeted on 2.0 released. I want to make this an umbrella issue to all of the 
> things related to integration of SASI, which are also tracked in 
> [sasi_issues|https://github.com/xedin/sasi/issues], into mainline Cassandra 
> 3.x release.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-11060) Allow DTCS old SSTable filtering to use min timestamp instead of max

2016-01-22 Thread Sam Bisbee (JIRA)
Sam Bisbee created CASSANDRA-11060:
--

 Summary: Allow DTCS old SSTable filtering to use min timestamp 
instead of max
 Key: CASSANDRA-11060
 URL: https://issues.apache.org/jira/browse/CASSANDRA-11060
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sam Bisbee


We have observed a DTCS behavior when using TTLs where SSTables are never or 
very rarely fully expired due to compaction, allowing expired data to be 
"stuck" in large partially expired SSTables.

This is because compaction filtering is performed on the max timestamp, which 
continues to grow as SSTables are compacted together. This means they will 
never move past max_sstable_age_days. With a sufficiently large TTL, like 30 
days, this allows old but not expired SSTables to continue combining and never 
become fully expired, even with a max_sstable_age_days of 1.

As a result we have seen expired data hang around in large SSTables for over 
six months longer than it should have. This is obviously wasteful and a disk 
capacity issue.

As a result we have been running an extended version of DTCS called MTCS in 
some deployments. The only change is that it uses min timestamp instead of max 
for compaction filtering (filterOldSSTables()). This allows SSTables to move 
beyond max_sstable_age_days and stop compacting, which means the entire SSTable 
can become fully expired and be dropped off disk as intended.

You can see and test MTCS here: https://github.com/threatstack/mtcs

I am not advocating that MTCS be its own stand alone compaction strategy. 
However, I would like to see a configuration option for DTCS that allows you to 
specify whether old SSTables should be filtered on min or max timestamp.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10661) Integrate SASI to Cassandra

2016-01-22 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-10661:
-

No problem! Just to clarify a bit more - ORDER BY I mean is "real SQL" ORDER BY 
(the one which sorts keys) and not currently built-in one which depends on 
CLUSTERING ORDER, that one would still work the same way with indexes as it 
works right now.

> Integrate SASI to Cassandra
> ---
>
> Key: CASSANDRA-10661
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10661
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Pavel Yaskevich
>Assignee: Pavel Yaskevich
>  Labels: sasi
> Fix For: 3.x
>
>
> We have recently released new secondary index engine 
> (https://github.com/xedin/sasi) build using SecondaryIndex API, there are 
> still couple of things to work out regarding 3.x since it's currently 
> targeted on 2.0 released. I want to make this an umbrella issue to all of the 
> things related to integration of SASI, which are also tracked in 
> [sasi_issues|https://github.com/xedin/sasi/issues], into mainline Cassandra 
> 3.x release.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10134) Always require replace_address to replace existing address

2016-01-22 Thread Joel Knighton (JIRA)

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

Joel Knighton commented on CASSANDRA-10134:
---

I'd be pretty comfortable reviewing the patch + Tyler's suggestions for 
inclusion in 2.2+. This is one of the more straightforward parts of gossip.

If we're restricting this to newer versions because of the extent of the 
changes, it might be worth going a little farther with this. The intent is to 
improve safety, but as implemented, a node with auto_bootstrap: false or acting 
as a seed can still replace an existing address if it is partitioned from all 
seeds or otherwise unable to communicate with all seeds during the shadow 
round. If we expose "in a shadow round" in some form (exposed through gossip or 
otherwise), we can restrict successfully exiting the shadow round to nodes who 
have either successfully gossiped with a seed node or learned all seed nodes 
are in their shadow round. This would also remove the delay on start up, but it 
would require starting seed nodes in a new cluster with multiple seeds 
concurrently. This (or some variation on it) is a bit safer, but it may not be 
worth the effort.



> Always require replace_address to replace existing address
> --
>
> Key: CASSANDRA-10134
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10134
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Distributed Metadata
>Reporter: Tyler Hobbs
>Assignee: Stefania
> Fix For: 2.2.x, 3.0.x, 3.x
>
>
> Normally, when a node is started from a clean state with the same address as 
> an existing down node, it will fail to start with an error like this:
> {noformat}
> ERROR [main] 2015-08-19 15:07:51,577 CassandraDaemon.java:554 - Exception 
> encountered during startup
> java.lang.RuntimeException: A node with address /127.0.0.3 already exists, 
> cancelling join. Use cassandra.replace_address if you want to replace this 
> node.
>   at 
> org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:543)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:783)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:720)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:611)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:378) 
> [main/:na]
>   at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:537)
>  [main/:na]
>   at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:626) 
> [main/:na]
> {noformat}
> However, if {{auto_bootstrap}} is set to false or the node is in its own seed 
> list, it will not throw this error and will start normally.  The new node 
> then takes over the host ID of the old node (even if the tokens are 
> different), and the only message you will see is a warning in the other 
> nodes' logs:
> {noformat}
> logger.warn("Changing {}'s host ID from {} to {}", endpoint, storedId, 
> hostId);
> {noformat}
> This could cause an operator to accidentally wipe out the token information 
> for a down node without replacing it.  To fix this, we should check for an 
> endpoint collision even if {{auto_bootstrap}} is false or the node is a seed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-11003) cqlsh: LWT operations not handled correctly in 3.0+

2016-01-22 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-11003:

Summary: cqlsh: LWT operations not handled correctly in 3.0+  (was: 
cqlsh.py: Shell instance has no attribute 'parse_for_table_meta')

> cqlsh: LWT operations not handled correctly in 3.0+
> ---
>
> Key: CASSANDRA-11003
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11003
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Eduard Tudenhoefner
>Assignee: Eduard Tudenhoefner
> Fix For: 3.0.x, 3.x
>
> Attachments: 11003-cassandra-3.0.txt
>
>
> {code}
> $ cqlsh -u cassandra -p cassandra
> Connected to abc at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 3.0.1.816 | DSE 5.0.0 | CQL spec 3.4.0 | Native 
> protocol v4]
> Use HELP for help.
> cassandra@cqlsh> SOME COMMAND;
> Shell instance has no attribute 'parse_for_table_meta'
> {code}
> I think this is happening because of a bad merge 
> (https://github.com/apache/cassandra/commit/2800bf1082e773daf0af29516b61c711acda626b#diff-1cce67f7d76864f07aaf4d986d6fc051).
>  We just need to rename *parse_for_update_meta* to *parse_for_table_meta*



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-11003) cqlsh.py: Shell instance has no attribute 'parse_for_table_meta'

2016-01-22 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-11003:
-

Thanks for the patch!  Your fix is fine, but I actually prefer the name 
{{parse_for_update_meta}}, because it clearly serves a different purpose than 
{{parse_for_select_meta}}, so I've used that name.

By the way, this only affects LWT inserts and updates.  I'll edit the title to 
reflect that.

I have created a new dtest to cover this: 
https://github.com/riptano/cassandra-dtest/pull/768

Branch and pending CI runs:
||branch||testall||dtest||
|[CASSANDRA-11003|https://github.com/thobbs/cassandra/tree/CASSANDRA-11003]|[testall|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-11003-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-11003-dtest]|
|[CASSANDRA-11003-3.3|https://github.com/thobbs/cassandra/tree/CASSANDRA-11003-3.3]|[testall|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-11003-3.3-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-11003-3.3-dtest]|
|[CASSANDRA-11003-trunk|https://github.com/thobbs/cassandra/tree/CASSANDRA-11003-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-11003-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-11003-trunk-dtest]|

> cqlsh.py: Shell instance has no attribute 'parse_for_table_meta'
> 
>
> Key: CASSANDRA-11003
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11003
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Eduard Tudenhoefner
>Assignee: Eduard Tudenhoefner
> Fix For: 3.0.x, 3.x
>
> Attachments: 11003-cassandra-3.0.txt
>
>
> {code}
> $ cqlsh -u cassandra -p cassandra
> Connected to abc at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 3.0.1.816 | DSE 5.0.0 | CQL spec 3.4.0 | Native 
> protocol v4]
> Use HELP for help.
> cassandra@cqlsh> SOME COMMAND;
> Shell instance has no attribute 'parse_for_table_meta'
> {code}
> I think this is happening because of a bad merge 
> (https://github.com/apache/cassandra/commit/2800bf1082e773daf0af29516b61c711acda626b#diff-1cce67f7d76864f07aaf4d986d6fc051).
>  We just need to rename *parse_for_update_meta* to *parse_for_table_meta*



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-11003) cqlsh: LWT operations not handled correctly in 3.0+

2016-01-22 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-11003:

Labels: cqlsh  (was: )

> cqlsh: LWT operations not handled correctly in 3.0+
> ---
>
> Key: CASSANDRA-11003
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11003
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Eduard Tudenhoefner
>Assignee: Eduard Tudenhoefner
>  Labels: cqlsh
> Fix For: 3.0.x, 3.x
>
> Attachments: 11003-cassandra-3.0.txt
>
>
> {code}
> $ cqlsh -u cassandra -p cassandra
> Connected to abc at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 3.0.1.816 | DSE 5.0.0 | CQL spec 3.4.0 | Native 
> protocol v4]
> Use HELP for help.
> cassandra@cqlsh> SOME COMMAND;
> Shell instance has no attribute 'parse_for_table_meta'
> {code}
> I think this is happening because of a bad merge 
> (https://github.com/apache/cassandra/commit/2800bf1082e773daf0af29516b61c711acda626b#diff-1cce67f7d76864f07aaf4d986d6fc051).
>  We just need to rename *parse_for_update_meta* to *parse_for_table_meta*



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10661) Integrate SASI to Cassandra

2016-01-22 Thread DOAN DuyHai (JIRA)

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

DOAN DuyHai commented on CASSANDRA-10661:
-

Hello [~xedin], it's me again.

 I've had some discussion with search people and they told me that wildcard 
searches (name like "\*x\*") are very expensive. Classical data structure 
like suffix trees are adapted for suffix searching (name like "xxx\*"). For 
prefix search (name like "\*xxx") they're creating a *reversed* index. Does it 
mean that the CONTAINS mode (formerly named SUFFIX) is more expensive than the 
NORMAL search mode ? If yes, how much expensive is it (x2 ? order of magnitude 
?)

 Second question, more related to the impl, since you query the nodes following 
the token range and do not hit all nodes like normal secondary index, does it 
imply that *sorting*  (ORDER BY) is no longer relevant since you do not 
retrieve all possible results ? (I've seen in QueryPlan.MAX_ROWS that there is 
a hard-coded limit of 10 000 results)

 Sorry to annoy you with my questions but they are important so that we, 
evangelists, can give the right use-cases for users and especially deter them 
from mis-using SASI when it's not appropriate or when the search cost is 
prohibitive.

> Integrate SASI to Cassandra
> ---
>
> Key: CASSANDRA-10661
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10661
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Pavel Yaskevich
>Assignee: Pavel Yaskevich
>  Labels: sasi
> Fix For: 3.x
>
>
> We have recently released new secondary index engine 
> (https://github.com/xedin/sasi) build using SecondaryIndex API, there are 
> still couple of things to work out regarding 3.x since it's currently 
> targeted on 2.0 released. I want to make this an umbrella issue to all of the 
> things related to integration of SASI, which are also tracked in 
> [sasi_issues|https://github.com/xedin/sasi/issues], into mainline Cassandra 
> 3.x release.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10211) SliceQueryFilter warnings should print the partition key

2016-01-22 Thread Soumava Ghosh (JIRA)

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

Soumava Ghosh commented on CASSANDRA-10211:
---

I'm working on a patch for the other branches.

> SliceQueryFilter warnings should print the partition key
> 
>
> Key: CASSANDRA-10211
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10211
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Soumava Ghosh
>Assignee: Soumava Ghosh
>Priority: Minor
> Fix For: 2.1.x
>
> Attachments: 10211-2.1.txt
>
>
> Currently the SliceQueryFilter does not log the partition key while logging 
> the warning/error when the number of tombstones exceed the limits set by the 
> tombstone_warn_threshold and the tombstone_failure_threshold. Logging the 
> partition key would be really helpful for debugging.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8911) Consider Mutation-based Repairs

2016-01-22 Thread T Jake Luciani (JIRA)

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

T Jake Luciani updated CASSANDRA-8911:
--
Fix Version/s: 3.x

> Consider Mutation-based Repairs
> ---
>
> Key: CASSANDRA-8911
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8911
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Tyler Hobbs
> Fix For: 3.x
>
>
> We should consider a mutation-based repair to replace the existing streaming 
> repair.  While we're at it, we could do away with a lot of the complexity 
> around merkle trees.
> I have not planned this out in detail, but here's roughly what I'm thinking:
>  * Instead of building an entire merkle tree up front, just send the "leaves" 
> one-by-one.  Instead of dealing with token ranges, make the leaves primary 
> key ranges.  The PK ranges would need to be contiguous, so that the start of 
> each range would match the end of the previous range. (The first and last 
> leaves would need to be open-ended on one end of the PK range.) This would be 
> similar to doing a read with paging.
>  * Once one page of data is read, compute a hash of it and send it to the 
> other replicas along with the PK range that it covers and a row count.
>  * When the replicas receive the hash, the perform a read over the same PK 
> range (using a LIMIT of the row count + 1) and compare hashes (unless the row 
> counts don't match, in which case this can be skipped).
>  * If there is a mismatch, the replica will send a mutation covering that 
> page's worth of data (ignoring the row count this time) to the source node.
> Here are the advantages that I can think of:
>  * With the current repair behavior of streaming, vnode-enabled clusters may 
> need to stream hundreds of small SSTables.  This results in increased compact
> ion load on the receiving node.  With the mutation-based approach, memtables 
> would naturally merge these.
>  * It's simple to throttle.  For example, you could give a number of rows/sec 
> that should be repaired.
>  * It's easy to see what PK range has been repaired so far.  This could make 
> it simpler to resume a repair that fails midway.
>  * Inconsistencies start to be repaired almost right away.
>  * Less special code \(?\)
>  * Wide partitions are no longer a problem.
> There are a few problems I can think of:
>  * Counters.  I don't know if this can be made safe, or if they need to be 
> skipped.
>  * To support incremental repair, we need to be able to read from only 
> repaired sstables.  Probably not too difficult to do.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10779) Mutations do not block for completion under view lock contention

2016-01-22 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-10779:


I don't see how this is going to help.  The issue is lock contention and 
blocking just makes it worse :)

I'll run some mvbench runs with your patch to back this up.  I think we need to 
make the completable future approach send the response as Carl mentioned above

> Mutations do not block for completion under view lock contention
> 
>
> Key: CASSANDRA-10779
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10779
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
> Environment: Windows 7 64-bit, Cassandra v3.0.0, Java 1.8u60
>Reporter: Will Zhang
>Assignee: Tyler Hobbs
> Fix For: 3.0.x, 3.x
>
>
> Hi guys,
> I encountered the following warning message when I was testing to upgrade 
> from v2.2.2 to v3.0.0. 
> It looks like a write time-out but in an uncaught exception. Could this be an 
> easy fix?
> Log file section below. Thank you!
> {code}
>   WARN  [SharedPool-Worker-64] 2015-11-26 14:04:24,678 
> AbstractTracingAwareExecutorService.java:169 - Uncaught exception on thread 
> Thread[SharedPool-Worker-64,10,main]: {}
> org.apache.cassandra.exceptions.WriteTimeoutException: Operation timed out - 
> received only 0 responses.
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:427) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:386) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:205) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.db.Keyspace.lambda$apply$59(Keyspace.java:435) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_60]
>   at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>  ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [apache-cassandra-3.0.0.jar:3.0.0]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
>   INFO  [IndexSummaryManager:1] 2015-11-26 14:41:10,527 
> IndexSummaryManager.java:257 - Redistributing index summaries
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10657) Re-enable/improve value skipping

2016-01-22 Thread Philip Thompson (JIRA)

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

Philip Thompson commented on CASSANDRA-10657:
-

This broke alter_rf_and_run_read_repair_test, the test for CASSANDRA-10655. As 
this is a follow-up to 10655, is the new behavior expected?

Failure is 
[here|http://cassci.datastax.com/job/trunk_dtest/940/testReport/read_repair_test/TestReadRepair/alter_rf_and_run_read_repair_test/]
Potentially [now] invalid assumption from test
{code}
# Alter so RF=n but don't repair, then execute a query which selects only a 
subset of the columns. Run this at
# CL ALL on one of the nodes which doesn't currently have the data, 
triggering a read repair. Although we're
# only selecting a single column, the expectation is that the entire 
row is read on each replica to construct
# the digest responses as well as the full data reads for repair. So we 
expect that after the read repair, all
# replicas will have the entire row
{code}

> Re-enable/improve value skipping
> 
>
> Key: CASSANDRA-10657
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10657
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
> Fix For: 3.4
>
>
> This is a followup to CASSANDRA-10655, to re-enable the optimization of 
> skipping values for the columns that are not requested by users in a CQL 
> query. See CASSANDRA-10655 for why it was disabled, the goal here is to 
> re-enable it minus the bugs.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[1/3] cassandra git commit: Bump 2.2 version to 2.2.5 in build.xml

2016-01-22 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.3 94604ceda -> acb7fed1d


Bump 2.2 version to 2.2.5 in build.xml


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

Branch: refs/heads/cassandra-3.3
Commit: b4d67c9e5db9aaff349354fbd285d434b6db296f
Parents: 3b244a3
Author: Tyler Hobbs 
Authored: Fri Jan 22 12:00:32 2016 -0600
Committer: Tyler Hobbs 
Committed: Fri Jan 22 12:00:32 2016 -0600

--
 build.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4d67c9e/build.xml
--
diff --git a/build.xml b/build.xml
index 72ceb65..e5fefed 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>



[2/3] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-01-22 Thread tylerhobbs
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.3
Commit: 2f8e5f34642790f2e75573a4fc4e4e43d49b52e4
Parents: 0b05203 b4d67c9
Author: Tyler Hobbs 
Authored: Fri Jan 22 12:01:23 2016 -0600
Committer: Tyler Hobbs 
Committed: Fri Jan 22 12:01:23 2016 -0600

--

--




[3/3] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread tylerhobbs
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/cassandra-3.3
Commit: acb7fed1dc4a7429008d4b619222d1934ea9539a
Parents: 94604ce 2f8e5f3
Author: Tyler Hobbs 
Authored: Fri Jan 22 12:01:52 2016 -0600
Committer: Tyler Hobbs 
Committed: Fri Jan 22 12:01:52 2016 -0600

--

--




[jira] [Commented] (CASSANDRA-10779) Mutations do not block for completion under view lock contention

2016-01-22 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-10779:
-

Since {{Striped}} actually uses {{ReentrantLocks}}, it turns out a blocking 
solution works for my purposes.  I've pushed a second branch with blocking lock 
acquisition.  As discussed, it uses {{bulkGet()}} to ensure lock acquisition 
order is consistent (avoiding deadlock):

||branch||testall||dtest||
|[CASSANDRA-10779-v2|https://github.com/thobbs/cassandra/tree/CASSANDRA-10779-v2]|[testall|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-10779-v2-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-10779-v2-dtest]|
|[CASSANDRA-10779-v2-3.3|https://github.com/thobbs/cassandra/tree/CASSANDRA-10779-v2-3.3]|[testall|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-10779-v2-3.3-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-10779-v2-3.3-dtest]|
|[CASSANDRA-10779-v2-trunk|https://github.com/thobbs/cassandra/tree/CASSANDRA-10779-v2-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-10779-v2-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-10779-v2-trunk-dtest]|

The trunk merge was the only non-trivial one.

> Mutations do not block for completion under view lock contention
> 
>
> Key: CASSANDRA-10779
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10779
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
> Environment: Windows 7 64-bit, Cassandra v3.0.0, Java 1.8u60
>Reporter: Will Zhang
>Assignee: Tyler Hobbs
> Fix For: 3.0.x, 3.x
>
>
> Hi guys,
> I encountered the following warning message when I was testing to upgrade 
> from v2.2.2 to v3.0.0. 
> It looks like a write time-out but in an uncaught exception. Could this be an 
> easy fix?
> Log file section below. Thank you!
> {code}
>   WARN  [SharedPool-Worker-64] 2015-11-26 14:04:24,678 
> AbstractTracingAwareExecutorService.java:169 - Uncaught exception on thread 
> Thread[SharedPool-Worker-64,10,main]: {}
> org.apache.cassandra.exceptions.WriteTimeoutException: Operation timed out - 
> received only 0 responses.
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:427) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:386) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:205) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.db.Keyspace.lambda$apply$59(Keyspace.java:435) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_60]
>   at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>  ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [apache-cassandra-3.0.0.jar:3.0.0]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
>   INFO  [IndexSummaryManager:1] 2015-11-26 14:41:10,527 
> IndexSummaryManager.java:257 - Redistributing index summaries
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10779) Mutations do not block for completion under view lock contention

2016-01-22 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian commented on CASSANDRA-10779:


This ticket isn't about solving the contention, but about making the behavior 
correct in the face of contention. This patch fixes that issue by making sure 
we don't respond back before we have actually completed the work.

While moving to CompletableFutures would solve both, it's a far more invasive 
change than this one, so it makes sense to know what the change in performance 
is.

> Mutations do not block for completion under view lock contention
> 
>
> Key: CASSANDRA-10779
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10779
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
> Environment: Windows 7 64-bit, Cassandra v3.0.0, Java 1.8u60
>Reporter: Will Zhang
>Assignee: Tyler Hobbs
> Fix For: 3.0.x, 3.x
>
>
> Hi guys,
> I encountered the following warning message when I was testing to upgrade 
> from v2.2.2 to v3.0.0. 
> It looks like a write time-out but in an uncaught exception. Could this be an 
> easy fix?
> Log file section below. Thank you!
> {code}
>   WARN  [SharedPool-Worker-64] 2015-11-26 14:04:24,678 
> AbstractTracingAwareExecutorService.java:169 - Uncaught exception on thread 
> Thread[SharedPool-Worker-64,10,main]: {}
> org.apache.cassandra.exceptions.WriteTimeoutException: Operation timed out - 
> received only 0 responses.
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:427) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:386) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:205) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.db.Keyspace.lambda$apply$59(Keyspace.java:435) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_60]
>   at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>  ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [apache-cassandra-3.0.0.jar:3.0.0]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
>   INFO  [IndexSummaryManager:1] 2015-11-26 14:41:10,527 
> IndexSummaryManager.java:257 - Redistributing index summaries
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10779) Mutations do not block for completion under view lock contention

2016-01-22 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-10779:
-

Well, the _real_ issue is responding before a mutation has been applied, which 
is a correctness/durability issue.  We just need to make sure to fix that in a 
way that doesn't severely hamper performance.  I was already talking with 
[~carlyeks] about benchmarking these solutions before committing (which I think 
we do need to do), but I'm not convinced that this approach will have worse 
performance than the current solution under contention.

> Mutations do not block for completion under view lock contention
> 
>
> Key: CASSANDRA-10779
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10779
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
> Environment: Windows 7 64-bit, Cassandra v3.0.0, Java 1.8u60
>Reporter: Will Zhang
>Assignee: Tyler Hobbs
> Fix For: 3.0.x, 3.x
>
>
> Hi guys,
> I encountered the following warning message when I was testing to upgrade 
> from v2.2.2 to v3.0.0. 
> It looks like a write time-out but in an uncaught exception. Could this be an 
> easy fix?
> Log file section below. Thank you!
> {code}
>   WARN  [SharedPool-Worker-64] 2015-11-26 14:04:24,678 
> AbstractTracingAwareExecutorService.java:169 - Uncaught exception on thread 
> Thread[SharedPool-Worker-64,10,main]: {}
> org.apache.cassandra.exceptions.WriteTimeoutException: Operation timed out - 
> received only 0 responses.
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:427) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:386) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:205) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.db.Keyspace.lambda$apply$59(Keyspace.java:435) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_60]
>   at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>  ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [apache-cassandra-3.0.0.jar:3.0.0]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
>   INFO  [IndexSummaryManager:1] 2015-11-26 14:41:10,527 
> IndexSummaryManager.java:257 - Redistributing index summaries
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


cassandra git commit: Bump 2.2 version to 2.2.5 in build.xml

2016-01-22 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 3b244a3d1 -> b4d67c9e5


Bump 2.2 version to 2.2.5 in build.xml


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

Branch: refs/heads/cassandra-2.2
Commit: b4d67c9e5db9aaff349354fbd285d434b6db296f
Parents: 3b244a3
Author: Tyler Hobbs 
Authored: Fri Jan 22 12:00:32 2016 -0600
Committer: Tyler Hobbs 
Committed: Fri Jan 22 12:00:32 2016 -0600

--
 build.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4d67c9e/build.xml
--
diff --git a/build.xml b/build.xml
index 72ceb65..e5fefed 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>



[1/2] cassandra git commit: Bump 2.2 version to 2.2.5 in build.xml

2016-01-22 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 0b05203fe -> 2f8e5f346


Bump 2.2 version to 2.2.5 in build.xml


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

Branch: refs/heads/cassandra-3.0
Commit: b4d67c9e5db9aaff349354fbd285d434b6db296f
Parents: 3b244a3
Author: Tyler Hobbs 
Authored: Fri Jan 22 12:00:32 2016 -0600
Committer: Tyler Hobbs 
Committed: Fri Jan 22 12:00:32 2016 -0600

--
 build.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4d67c9e/build.xml
--
diff --git a/build.xml b/build.xml
index 72ceb65..e5fefed 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>



[2/2] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-01-22 Thread tylerhobbs
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: 2f8e5f34642790f2e75573a4fc4e4e43d49b52e4
Parents: 0b05203 b4d67c9
Author: Tyler Hobbs 
Authored: Fri Jan 22 12:01:23 2016 -0600
Committer: Tyler Hobbs 
Committed: Fri Jan 22 12:01:23 2016 -0600

--

--




[2/4] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-01-22 Thread tylerhobbs
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: 2f8e5f34642790f2e75573a4fc4e4e43d49b52e4
Parents: 0b05203 b4d67c9
Author: Tyler Hobbs 
Authored: Fri Jan 22 12:01:23 2016 -0600
Committer: Tyler Hobbs 
Committed: Fri Jan 22 12:01:23 2016 -0600

--

--




[1/4] cassandra git commit: Bump 2.2 version to 2.2.5 in build.xml

2016-01-22 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/trunk 35672e871 -> 11c8ca6b5


Bump 2.2 version to 2.2.5 in build.xml


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

Branch: refs/heads/trunk
Commit: b4d67c9e5db9aaff349354fbd285d434b6db296f
Parents: 3b244a3
Author: Tyler Hobbs 
Authored: Fri Jan 22 12:00:32 2016 -0600
Committer: Tyler Hobbs 
Committed: Fri Jan 22 12:00:32 2016 -0600

--
 build.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4d67c9e/build.xml
--
diff --git a/build.xml b/build.xml
index 72ceb65..e5fefed 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>



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

2016-01-22 Thread tylerhobbs
Merge branch 'cassandra-3.3' into trunk


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

Branch: refs/heads/trunk
Commit: 11c8ca6b56ef915e90db5315014f8be0eb0ad0ff
Parents: 35672e8 acb7fed
Author: Tyler Hobbs 
Authored: Fri Jan 22 12:08:10 2016 -0600
Committer: Tyler Hobbs 
Committed: Fri Jan 22 12:08:10 2016 -0600

--

--




[3/4] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread tylerhobbs
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/trunk
Commit: acb7fed1dc4a7429008d4b619222d1934ea9539a
Parents: 94604ce 2f8e5f3
Author: Tyler Hobbs 
Authored: Fri Jan 22 12:01:52 2016 -0600
Committer: Tyler Hobbs 
Committed: Fri Jan 22 12:01:52 2016 -0600

--

--




[jira] [Commented] (CASSANDRA-11050) SSTables not loaded after dropping column

2016-01-22 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11050:
---

[~slebresne] The issue you mention with the second approach is actually not 
that terrible. If one drops a column, the schema digest will change, even if 
{{dropped_columns}} table itself is not involved in the computation. It will 
change simply b/c of a different set of columns in {{system_schema.columns}} - 
one fewer if we drop one.

Now, there could be an issue if you drop then recreate a column. Then again, 
the timestamps in schema tables will be different in that case, so the change 
will still be detected. Unless there is an extremely unlikely clock jump to 
that precise previous timestamp?

So, your option 2 is safe, IMO (special case 
{{SchemaKeyspace::calculateSchemaDigest}} to ignore {{dropped_columns}}).

> SSTables not loaded after dropping column
> -
>
> Key: CASSANDRA-11050
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11050
> Project: Cassandra
>  Issue Type: Bug
>  Components: Distributed Metadata
>Reporter: amorton
>Assignee: amorton
> Attachments: 11050-3.0.patch
>
>
> The {{system_schema.dropped_tables}} table is not flushed when schema is 
> updated, this can result in SSTables not being loaded at startup and failure 
> to start if the commit log contains mutations with the column. 
> Reproduce on cassandra-3.0 branch by starting a node and running following in 
> cqlsh:
> {code}
> create keyspace dev WITH replication = {'class':'SimpleStrategy', 
> 'replication_factor':1};
> use dev;
> create table foo (
>  foo text primary key,
>  bar text,
>  baz text
> );
> insert into foo (foo, bar, baz) values ('foo','this is bar', 'this is baz');
> alter table foo 
> drop baz;
> {code}
> Stop the node and restart, the following errors are raised and the node does 
> not start:
> {code}
> ERROR 16:38:19 Exception in thread Thread[SSTableBatchOpen:1,5,main]
> java.lang.RuntimeException: Unknown column baz during deserialization
>   at 
> org.apache.cassandra.db.SerializationHeader$Component.toHeader(SerializationHeader.java:331)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:485)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:374)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.SSTableReader$4.run(SSTableReader.java:533)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_60]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_60]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_60]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_60]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
> ...
> ERROR 16:38:19 Exiting due to error while processing commit log during 
> initialization.
> org.apache.cassandra.db.commitlog.CommitLogReplayer$CommitLogReplayException: 
> Unexpected error deserializing mutation; saved to 
> /var/folders/r2/rkv1jz3j0j74r9s1zm5xx9wcgn/T/mutation5408885979635225676dat.
>   This may be caused by replaying a mutation against a table with the same 
> name but incompatible schema.  Exception follows: java.lang.RuntimeException: 
> Unknown column baz during deserialization
>   at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.handleReplayError(CommitLogReplayer.java:633)
>  [main/:na]
>   at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.replayMutation(CommitLogReplayer.java:556)
>  [main/:na]
>   at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.replaySyncSection(CommitLogReplayer.java:509)
>  [main/:na]
>   at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:404)
>  [main/:na]
>   at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:151)
>  [main/:na]
>   at 
> org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:189) 
> [main/:na]
>   at 
> org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:169) 
> [main/:na]
>   at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:283) 
> [main/:na]
>   at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:551)
>  [main/:na]
>   at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:679) 
> [main/:na]
> {code}
> {{dropped_columns}} is not in the list of tables to flush, 
> {{SchemaKeyspace.ALL}}. 
> It's a simple patch to add it, attached. 

[jira] [Commented] (CASSANDRA-10990) Support streaming of older version sstables in 3.0

2016-01-22 Thread Paulo Motta (JIRA)

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

Paulo Motta commented on CASSANDRA-10990:
-

Many thanks for the detailed explanation and clarification [~slebresne]!

I believe the purpose of this ticket is more to allow streaming of old sstables 
to 3.0 vnodes via {{sstableloader}} as well as support bootstrap and move on 
3.0 nodes that did not complete {{upgradesstables}} (dense nodes) than to 
actually provide full 2.x-3.0 streaming compatibility (we can leave this to 
CASSANDRA-8110). There seems to be additional complications with repair due to 
different digest formats, so we can address that in a separate ticket if 
necessary.

I was able to achieve streaming of pre-3.0 sstables fairly transparently with 
the addition of a {{RewindableDataInputStreamPlus}} wrapper input stream that 
allows rewinding a source stream, so we can leverage the exactly same code path 
of reading pre-3.0 sstables ({{OldFormatIterator}}) to do the static compact 
table handling. Currently, the {{RewindableDataInputStreamPlus}} works in 
memory, so next step is to spill the buffer to disk if its sizes goes above a 
certain treshold.

I agree we need to do extensive testing before calling this supported. I 
propose to extend CASSANDRA-10563 upgrade dtests to perform a bootstrap of a 
new node, without performing {{upgradesstables}} on upgraded nodes (so they 
will contain only old sstables), and check that all streamed data will be 
readable via thrift and/or cql.

I updated the previous branch with the latest changes.

> Support streaming of older version sstables in 3.0
> --
>
> Key: CASSANDRA-10990
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10990
> Project: Cassandra
>  Issue Type: Bug
>  Components: Streaming and Messaging
>Reporter: Jeremy Hanna
>Assignee: Paulo Motta
>
> In 2.0 we introduced support for streaming older versioned sstables 
> (CASSANDRA-5772).  In 3.0, because of the rewrite of the storage layer, this 
> became no longer supported.  So currently, while 3.0 can read sstables in the 
> 2.1/2.2 format, it cannot stream the older versioned sstables.  We should do 
> some work to make this still possible to be consistent with what 
> CASSANDRA-5772 provided.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10955) Multi-partitions queries with ORDER BY can result in a NPE

2016-01-22 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe commented on CASSANDRA-10955:
-

+1

> Multi-partitions queries with ORDER BY can result in a NPE
> --
>
> Key: CASSANDRA-10955
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10955
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL
>Reporter: Benjamin Lerer
>Assignee: Benjamin Lerer
> Attachments: 10955-2.2.txt
>
>
> In the case of a table with static columns, if only the static columns have 
> been set for some partitions, a multi-partitions query with an {{ORDER BY}} 
> can cause a {{NPE}}.
> The following unit test can be used to reproduce the problem:
> {code}
> @Test
> public void testOrderByForInClauseWithNullValue() throws Throwable
> {
> createTable("CREATE TABLE %s (a int, b int, c int, s int static, d 
> int, PRIMARY KEY (a, b, c))");
> execute("INSERT INTO %s (a, b, c, d) VALUES (1, 1, 1, 1)");
> execute("INSERT INTO %s (a, b, c, d) VALUES (1, 1, 2, 1)");
> execute("INSERT INTO %s (a, b, c, d) VALUES (2, 2, 1, 1)");
> execute("INSERT INTO %s (a, b, c, d) VALUES (2, 2, 2, 1)");
> execute("UPDATE %s SET s = 1 WHERE a = 1");
> execute("UPDATE %s SET s = 2 WHERE a = 2");
> execute("UPDATE %s SET s = 3 WHERE a = 3");
> assertRows(execute("SELECT a, b, c, d, s FROM %s WHERE a IN (1, 2, 3) 
> ORDER BY b DESC"),
>row(2, 2, 2, 1, 2),
>row(2, 2, 1, 1, 2),
>row(1, 1, 2, 1, 1),
>row(1, 1, 1, 1, 1),
>row(3, null, null, null, 3));
> }
> {code} 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-9949) maxPurgeableTimestamp needs to check memtables too

2016-01-22 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-9949:
-

The 3.0 patch is ready as well. This patch is much simpler than the 2.2 version 
because each partition already has the minimum timestamp in 
{{stats().minTimestamp}}. There is a small conflict from 3.0 to 3.3 (very easy 
to resolve) and then it merges clearly from 3.3 to trunk.

I'm still monitoring CI and I will move the ticket to patch available once CI 
is confirmed fine.

||3.0||3.3||trunk||
|[patch|https://github.com/stef1927/cassandra/commits/9949-3.0]|[patch|https://github.com/stef1927/cassandra/commits/9949-3.3]|-|
|[testall|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-9949-3.0-testall/]|[testall|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-9949-3.3-testall/]|[testall|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-9949-testall/]|
|[dtest|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-9949-3.0-dtest/]|[dtest|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-9949-3.3-dtest/]|[dtest|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-9949-dtest/]|

> maxPurgeableTimestamp needs to check memtables too
> --
>
> Key: CASSANDRA-9949
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9949
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: Jonathan Ellis
>Assignee: Stefania
> Fix For: 2.2.x, 3.0.x, 3.x
>
>
> overlapIterator/maxPurgeableTimestamp don't include the memtables, so a 
> very-out-of-order write could be ignored



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-11061) Write survey node can't join ring if started with auto_bootstrap: false

2016-01-22 Thread Joel Knighton (JIRA)

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

Joel Knighton updated CASSANDRA-11061:
--
Component/s: Distributed Metadata

> Write survey node can't join ring if started with auto_bootstrap: false
> ---
>
> Key: CASSANDRA-11061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11061
> Project: Cassandra
>  Issue Type: Bug
>  Components: Distributed Metadata
>Reporter: Joel Knighton
>Priority: Trivial
>
> If a blank node is started with auto_bootstrap: false and write_survey=true, 
> it can't join the ring because it's bootstrap tokens never get persisted to 
> the SystemKeyspace (since this is done in bootstrap).
> We should either persist these tokens even when auto_bootstrap: false or 
> disallow the use of write_survey mode with auto_bootstrap: false.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-11061) Write survey node can't join ring if started with auto_bootstrap: false

2016-01-22 Thread Joel Knighton (JIRA)

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

Joel Knighton updated CASSANDRA-11061:
--
Description: 
If a node with no stored tokens is started with auto_bootstrap: false and 
write_survey=true, it can't join the ring because its bootstrap tokens never 
get persisted to the SystemKeyspace (since this is done in bootstrap).

We should either persist these tokens even when auto_bootstrap: false or 
disallow the use of write_survey mode with auto_bootstrap: false.


  was:
If a blank node is started with auto_bootstrap: false and write_survey=true, it 
can't join the ring because it's bootstrap tokens never get persisted to the 
SystemKeyspace (since this is done in bootstrap).

We should either persist these tokens even when auto_bootstrap: false or 
disallow the use of write_survey mode with auto_bootstrap: false.



> Write survey node can't join ring if started with auto_bootstrap: false
> ---
>
> Key: CASSANDRA-11061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11061
> Project: Cassandra
>  Issue Type: Bug
>  Components: Distributed Metadata
>Reporter: Joel Knighton
>Priority: Trivial
>
> If a node with no stored tokens is started with auto_bootstrap: false and 
> write_survey=true, it can't join the ring because its bootstrap tokens never 
> get persisted to the SystemKeyspace (since this is done in bootstrap).
> We should either persist these tokens even when auto_bootstrap: false or 
> disallow the use of write_survey mode with auto_bootstrap: false.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-11061) Write survey node can't join ring if started with auto_bootstrap: false

2016-01-22 Thread Joel Knighton (JIRA)
Joel Knighton created CASSANDRA-11061:
-

 Summary: Write survey node can't join ring if started with 
auto_bootstrap: false
 Key: CASSANDRA-11061
 URL: https://issues.apache.org/jira/browse/CASSANDRA-11061
 Project: Cassandra
  Issue Type: Bug
Reporter: Joel Knighton
Priority: Trivial


If a blank node is started with auto_bootstrap: false and write_survey=true, it 
can't join the ring because it's bootstrap tokens never get persisted to the 
SystemKeyspace (since this is done in bootstrap).

We should either persist these tokens even when auto_bootstrap: false or 
disallow the use of write_survey mode with auto_bootstrap: false.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-10622) Add all options in cqlshrc sample as commented out choices

2016-01-22 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-10622:

Component/s: (was: CQL)
 Documentation and Website

> Add all options in cqlshrc sample as commented out choices
> --
>
> Key: CASSANDRA-10622
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10622
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Documentation and Website
>Reporter: Lorina Poland
>Assignee: Tyler Hobbs
>Priority: Minor
>  Labels: doc-impacting, lhf
>
> All the options should be added to the sample cqlshrc file as commented out 
> options. This will provide users with the 15 or so options that can be used 
> in cqlshrc.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-11052) Cannot use Java 8 lambda expression inside UDF code body

2016-01-22 Thread Robert Stupp (JIRA)

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

Robert Stupp updated CASSANDRA-11052:
-
Fix Version/s: 3.x

> Cannot use Java 8 lambda expression inside UDF code body
> 
>
> Key: CASSANDRA-11052
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11052
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL
>Reporter: DOAN DuyHai
>Assignee: Robert Stupp
> Fix For: 3.x
>
>
> When creating the following **UDF** using Java 8 lambda syntax
> {code:sql}
>  CREATE FUNCTION IF NOT EXISTS music.udf(state map, styles 
> list)
>  RETURNS NULL ON NULL INPUT
>  RETURNS map
>  LANGUAGE java
>  AS $$
>styles.forEach((Object o) -> {
>String style = (String)o;
>if(state.containsKey(style)) {
> state.put(style, (Long)state.get(style)+1);
>} else {
> state.put(style, 1L);   
>}
>});
>
>return state;
>  $$;
> {code}
>  I got the following exception:
> {code:java}
> Caused by: com.datastax.driver.core.exceptions.InvalidQueryException: Could 
> not compile function 'music.udf' from Java source: 
> org.apache.cassandra.exceptions.InvalidRequestException: Java source 
> compilation failed:
> Line 2: The type java.util.function.Consumer cannot be resolved. It is 
> indirectly referenced from required .class files
> Line 2: The method forEach(Consumer) from the type Iterable refers to the 
> missing type Consumer
> Line 2: The target type of this expression must be a functional interface
>   at 
> com.datastax.driver.core.Responses$Error.asException(Responses.java:136)
>   at 
> com.datastax.driver.core.DefaultResultSetFuture.onSet(DefaultResultSetFuture.java:179)
>   at 
> com.datastax.driver.core.RequestHandler.setFinalResult(RequestHandler.java:184)
>   at 
> com.datastax.driver.core.RequestHandler.access$2500(RequestHandler.java:43)
>   at 
> com.datastax.driver.core.RequestHandler$SpeculativeExecution.setFinalResult(RequestHandler.java:798)
>   at 
> com.datastax.driver.core.RequestHandler$SpeculativeExecution.onSet(RequestHandler.java:617)
>   at 
> com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1005)
>   at 
> com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:928)
>   at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>   at 
> io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>   at 
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>   at 
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:276)
>   at 
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:263)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>   at 
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
>   at 
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
>   at 
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
>   at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
>   at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
>   at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
>   at 
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
>   ... 1 more
> {code}
>  It looks like the compiler requires importing java.util.Consumer but I have 
> checked the source code and compiler options already support Java 8 source 
> code so I'm pretty puzzled here ...
> /cc [~snazy]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-11044) query under certain partition key takes much more time than expected

2016-01-22 Thread xiaost (JIRA)

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

xiaost commented on CASSANDRA-11044:


seems duplicated of CASSANDRA-8546

> query under certain partition key takes much more time than expected 
> -
>
> Key: CASSANDRA-11044
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11044
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: xiaost
> Attachments: tracing.log
>
>
> In my cluster, all the nodes is under low workload, 
> but query under certain partition key (we found one) takes much more time 
> than expected. 
> we write & updates about 3 times per row in one day,
> reads are much more than writes.
> HARDWARD:
> 6*nodes(E5-2630, 1*ssd with 5GB data)
> TABLE DESCRIBE:
> {noformat}
> CREATE TABLE album.user_updates (
> user_id bigint,
> time_uuid bigint,
> key ascii,
> PRIMARY KEY (user_id, time_uuid)
> ) WITH CLUSTERING ORDER BY (time_uuid ASC)
> AND bloom_filter_fp_chance = 0.01
> AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
> AND comment = ''
> AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}
> AND compression = {'sstable_compression': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}
> AND dclocal_read_repair_chance = 0.1
> AND default_time_to_live = 0
> AND gc_grace_seconds = 864000
> AND max_index_interval = 2048
> AND memtable_flush_period_in_ms = 0
> AND min_index_interval = 128
> AND read_repair_chance = 0.0
> AND speculative_retry = '99.0PERCENTILE';
> {noformat}
> QUERYs:
> {noformat}
> select * from user_updates where user_id = 1432138730701829 limit 100;
> select count(1) from user_updates where user_id = 1432138730701829;
> {noformat}
> RESULT:  (takes about 3.5 minutes)
> {noformat}
>  count
> ---
>   1058
> (1 rows)
> {noformat}
> check attachments for the tracing log 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-10622) Add all options in cqlshrc sample as commented out choices

2016-01-22 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-10622:

Reviewer: Lorina Poland

> Add all options in cqlshrc sample as commented out choices
> --
>
> Key: CASSANDRA-10622
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10622
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Documentation and Website
>Reporter: Lorina Poland
>Assignee: Tyler Hobbs
>Priority: Minor
>  Labels: doc-impacting, lhf
> Attachments: 10622.patch
>
>
> All the options should be added to the sample cqlshrc file as commented out 
> options. This will provide users with the 15 or so options that can be used 
> in cqlshrc.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-10622) Add all options in cqlshrc sample as commented out choices

2016-01-22 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-10622:

Attachment: 10622.patch

[~lor...@datastax.com] I've attached a patch for Cassandra 2.1.  Would you 
remind reviewing this?

> Add all options in cqlshrc sample as commented out choices
> --
>
> Key: CASSANDRA-10622
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10622
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Documentation and Website
>Reporter: Lorina Poland
>Assignee: Tyler Hobbs
>Priority: Minor
>  Labels: doc-impacting, lhf
> Attachments: 10622.patch
>
>
> All the options should be added to the sample cqlshrc file as commented out 
> options. This will provide users with the 15 or so options that can be used 
> in cqlshrc.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10622) Add all options in cqlshrc sample as commented out choices

2016-01-22 Thread Lorina Poland (JIRA)

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

Lorina Poland commented on CASSANDRA-10622:
---

Looking good. I see a few items:

ENCODING - only COPY TO now
MAXATTEMPTS - COPY TO/FROM (COMMON)
TIMEFORMAT - changed to DATETIMEFORMAT

See patch: 
https://github.com/stef1927/cassandra/commit/98acd3968ff98e01530bbfd78407214e31b35cfb

> Add all options in cqlshrc sample as commented out choices
> --
>
> Key: CASSANDRA-10622
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10622
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Documentation and Website
>Reporter: Lorina Poland
>Assignee: Tyler Hobbs
>Priority: Minor
>  Labels: doc-impacting, lhf
> Attachments: 10622.patch
>
>
> All the options should be added to the sample cqlshrc file as commented out 
> options. This will provide users with the 15 or so options that can be used 
> in cqlshrc.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10995) Consider disabling sstable compression by default in 3.x

2016-01-22 Thread Jim Witschey (JIRA)

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

Jim Witschey commented on CASSANDRA-10995:
--

I started with this workload from [~enigmacurry], which he says he uses as a 
go-to starting point:

http://cstar.datastax.com/tests/id/a4963d82-a596-11e5-8573-0256e416528f

I ran the workload with each SSTable compressor and with no compression:

* http://cstar.datastax.com/tests/id/872be204-c073-11e5-b8b1-0256e416528f
* http://cstar.datastax.com/tests/id/3aa9a452-c055-11e5-8c22-0256e416528f
* http://cstar.datastax.com/tests/id/82bcb414-bfb0-11e5-8c22-0256e416528f
* http://cstar.datastax.com/tests/id/0ef49fb8-bf94-11e5-8c22-0256e416528f

Here are stress' summary statistics:

{code}
Write
===
Deflate   LZ4Snappy  no compression
latency 95th percentile 3.5   3.3   3.3 3.4
latency 99th percentile 5.3   4.8   4.7 5.3
latency 99.9th percentile 103.5  86.1  87.786.7
latency max  9357.7 513.3 471.7   397.9
op rate146818.0  226499.0  227101.0227818.0
partition rate 146818.0  226499.0  227101.0227818.0
row rate   146818.0  226499.0  227101.0227818.0
latency mean3.4   2.2   2.2 2.2
latency median  1.5   1.5   1.5 1.5

Read
===
   Deflate   LZ4Snappy  no compression
latency 95th percentile   11.6   4.2   4.5 3.5
latency 99th percentile   27.3   6.4   7.0 5.1
latency 99.9th percentile 56.3  48.5  49.148.4
latency max  363.6 403.1 385.9   469.0
op rate6.0  204419.0  197231.0229806.0
partition rate 6.0  204419.0  197231.0229806.0
row rate   6.0  204419.0  197231.0229806.0
latency mean   7.1   2.4   2.5 2.1
latency median 6.1   1.8   1.9 1.6

Mixed Read/Write
===
   Deflate   LZ4Snappy  no compression
latency 95th percentile   12.0   4.9   5.1 3.5
latency 99th percentile   25.2   9.4   9.0 5.0
latency 99.9th percentile 61.5  59.2  58.857.6
latency max  261.87436.96741.0  3443.8
op rate76038.0  181384.0  177463.0217650.0
partition rate 76038.0  181384.0  177463.0217650.0
row rate   76038.0  181384.0  177463.0217650.0
latency mean   6.5   2.7   2.8 2.3
latency median 5.4   1.7   1.8 1.6
{code}

(I generated this chart using the data and iPython notebook posted here: 
https://gist.github.com/mambocab/7bf14e0ff23e0f807f67 for future reference.)

I would want to re-run this a couple times before drawing conclusions, but so 
far, using no compression is at least better than any compression in most read 
metrics.

Any particular requests for follow-up? My thought was:

* at the very least, more runs of this same workload
* probably runs of some of the small workloads we use for daily regressions

I also have access to Windows machines, so if this benchmark is good, I can run 
on that cluster as well.

It may also be worth the time to confirm that turning off compression doesn't 
negatively impact, e.g. MVs, 2Is, and a larger variety of datasets. I'm not 
sure exactly what information we need to make this decision.

> Consider disabling sstable compression by default in 3.x
> 
>
> Key: CASSANDRA-10995
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10995
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Aleksey Yeschenko
>Assignee: Jim Witschey
>
> With the new sstable format introduced in CASSANDRA-8099, it's very likely 
> that enabled sstable compression is no longer the right default option.
> [~slebresne]'s [blog post|http://www.datastax.com/2015/12/storage-engine-30] 
> on the new storage engine has some comparison numbers for 2.2/3.0, with and 
> without compression that show that in many cases compression no longer has a 
> significant effect on sstable sizes - all while sill consuming extra 
> resources for both writes (compression) and reads (decompression).
> We should run a 

[jira] [Commented] (CASSANDRA-10745) Deprecate PropertyFileSnitch

2016-01-22 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-10745:
--

GPFS will already fall back to the property file if the node-specific dc-rack 
file isn't there, so you could just keep packaging it that way and use GPFS 
instead of PFS.

> Deprecate PropertyFileSnitch
> 
>
> Key: CASSANDRA-10745
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10745
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Coordination, Distributed Metadata
>Reporter: Paulo Motta
>Priority: Minor
>
> Opening this ticket to discuss deprecating PropertyFileSnitch, since it's 
> error-prone and more snitch code to maintain (See CASSANDRA-10243). Migration 
> from existing cluster with PropertyFileSnitch to GossipingPropertyFileSnitch 
> is straightforward.
> Is there any useful use case that can be achieved only with 
> PropertyFileSnitch?
> If not objections, we would add deprecation warnings in 2.2.x, 3.0.x, 3.2 and 
> deprecate in 3.4 or 3.6.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[2/6] cassandra git commit: Flush dropped_columns when flushing schema

2016-01-22 Thread slebresne
Flush dropped_columns when flushing schema

patch by amorton; reviewed by slebresne for CASSANDRA-11050


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

Branch: refs/heads/cassandra-3.3
Commit: b214722770113398d22c6c00d46ce0510d868ff9
Parents: e1cc015
Author: Aaron Morton 
Authored: Thu Jan 21 14:41:47 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:55:33 2016 +0100

--
 CHANGES.txt  | 2 ++
 src/java/org/apache/cassandra/schema/SchemaKeyspace.java | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b2147227/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4a0bca8..8bfb1d1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
 3.0.3
+ * Add dropped_columns to the list of schema table so it gets handled
+   properly (CASSANDRA-11050)
  * Update CQL documentation (CASSANDRA-10899)
  * Check the column name, not cell name, for dropped columns when reading
legacy sstables (CASSANDRA-11018)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b2147227/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--
diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java 
b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index f1ea6cf..f91ec9c 100644
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@ -82,7 +82,7 @@ public final class SchemaKeyspace
 public static final String INDEXES = "indexes";
 
 public static final List ALL =
-ImmutableList.of(KEYSPACES, TABLES, COLUMNS, TRIGGERS, VIEWS, TYPES, 
FUNCTIONS, AGGREGATES, INDEXES);
+ImmutableList.of(KEYSPACES, TABLES, COLUMNS, DROPPED_COLUMNS, 
TRIGGERS, VIEWS, TYPES, FUNCTIONS, AGGREGATES, INDEXES);
 
 private static final CFMetaData Keyspaces =
 compile(KEYSPACES,



[jira] [Updated] (CASSANDRA-11037) cqlsh bash script cannot be called through symlink

2016-01-22 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian updated CASSANDRA-11037:
---
Reviewer: Carl Yeksigian

> cqlsh bash script cannot be called through symlink
> --
>
> Key: CASSANDRA-11037
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11037
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
> Environment: BASH
>Reporter: Benjamin Zarzycki
>Priority: Trivial
>  Labels: lhf
> Fix For: 2.2.0
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> cqlsh bash script cannot be called through a symlink



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-9472) Reintroduce off heap memtables

2016-01-22 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-9472:
-

This is reintroducing the "Slightly More Offheap Memtables" - i.e. 

# Partially
# If you use on-heap only; with off-heap memtables the on-heap data is only the 
object graph needed to easily utilise the offheap data
# Depends entirely on workload: there are fixed on-heap overheads per cell, per 
row/marker, and per partition. I haven't done the maths recently, but it works 
out roughly to 30-32 bytes per cell on-heap, 50-100 bytes per row, and 
something similar for a partition.  If your'e storing many rows of few cells of 
small values, then it will still mostly be on-heap.
# Depends entirely on what you mean by sufficient.  IMO there is no standard 
universal wisdom to provide for heap tuning; your workload again defines the 
best constraints.  Heap usage characteristics won't vary tremendously from 
current practice, really, you'll just be able to buffer more data in your 
memtables (or have less Java heap)  You will still accumulate longer-lived data 
that my survive multiple YG GCs, depending on your usage profile.
# It is always configurable just as on-heap limits are.  Currently it is set to 
the same heuristic as on-heap, i.e. 1/4 heap iirc
# as always, they are optional, and by default off
# I would assume soon.  Fully off-heap is still a ways off, most likely after 
TPC (Thread Per Core)



> Reintroduce off heap memtables
> --
>
> Key: CASSANDRA-9472
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9472
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Benedict
>Assignee: Benedict
> Fix For: 3.x
>
>
> CASSANDRA-8099 removes off heap memtables. We should reintroduce them ASAP.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-9986) Remove SliceableUnfilteredRowIterator

2016-01-22 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-9986:
-

The patch looks good in general. One minor remark is that you've pulled the 
{{getPosition(key, SSTableReader.Operator.EQ)}} from {{SSTableIterator}} and 
{{SSTableReversedIterator}} to inside {{BigTableReader}}, which makes sense but 
should probably be pushed a little further. In particular, we could do the same 
{{indexEntry == null}} check in the other {{BigTableReader.iterator()}} call 
and then make the first call simply delegate to the 2nd one. After which we can 
assert the index entry is not null in {{AbstractSSTableIterator}} and remove 
the related branch in the ctor.

And I'm fine doing those minor changes on commit btw so +1.


> Remove SliceableUnfilteredRowIterator
> -
>
> Key: CASSANDRA-9986
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9986
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Benedict
>Assignee: Benedict
>Priority: Minor
> Fix For: 3.x
>
>
> After CASSANDRA-9932, there is only one instance where this class is needed, 
> and that is {{SSTableIterator}}. It would be much simpler if, like in 
> {{AbstractBTreePartition}}, the slices were passed into the 
> {{SSTableIterator}} on construction. This would make the control flow easier 
> to follow both: 
> * logically, because:
> **  memtables and sstables would have the same access pattern; and
> ** our SSTableIterator would not have two modes of (parallel) operation, 
> which is kind of confusing (the slices are independent of the non-sliced 
> iteration)
> * in the debugger, because we would have one fewer wrapping iterator



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/cassandra-3.3
Commit: dd816b3d7cf213d1b0c4dbebb1761a7ce38280a9
Parents: 94c4bdb d2b7051
Author: Sylvain Lebresne 
Authored: Fri Jan 22 18:02:29 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 18:02:29 2016 +0100

--
 CHANGES.txt  | 2 --
 src/java/org/apache/cassandra/schema/SchemaKeyspace.java | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd816b3d/CHANGES.txt
--
diff --cc CHANGES.txt
index 6b25d10,4a0bca8..94b723c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,8 -1,4 +1,6 @@@
 -3.0.3
 +3.3
 + * Avoid bootstrap hanging when existing nodes have no data to stream 
(CASSANDRA-11010)
 +Merged from 3.0:
-  * Add dropped_columns to the list of schema table so it gets handled
-properly (CASSANDRA-11050)
   * Update CQL documentation (CASSANDRA-10899)
   * Check the column name, not cell name, for dropped columns when reading
 legacy sstables (CASSANDRA-11018)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd816b3d/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--



[2/6] cassandra git commit: Revert "Flush dropped_columns when flushing schema"

2016-01-22 Thread slebresne
Revert "Flush dropped_columns when flushing schema"

This reverts commit b214722770113398d22c6c00d46ce0510d868ff9.


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

Branch: refs/heads/cassandra-3.3
Commit: d2b70517d63b8cf8e5072ec449955cab9b34d408
Parents: b214722
Author: Sylvain Lebresne 
Authored: Fri Jan 22 18:02:04 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 18:02:04 2016 +0100

--
 CHANGES.txt  | 2 --
 src/java/org/apache/cassandra/schema/SchemaKeyspace.java | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d2b70517/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 8bfb1d1..4a0bca8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,4 @@
 3.0.3
- * Add dropped_columns to the list of schema table so it gets handled
-   properly (CASSANDRA-11050)
  * Update CQL documentation (CASSANDRA-10899)
  * Check the column name, not cell name, for dropped columns when reading
legacy sstables (CASSANDRA-11018)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d2b70517/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--
diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java 
b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index f91ec9c..f1ea6cf 100644
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@ -82,7 +82,7 @@ public final class SchemaKeyspace
 public static final String INDEXES = "indexes";
 
 public static final List ALL =
-ImmutableList.of(KEYSPACES, TABLES, COLUMNS, DROPPED_COLUMNS, 
TRIGGERS, VIEWS, TYPES, FUNCTIONS, AGGREGATES, INDEXES);
+ImmutableList.of(KEYSPACES, TABLES, COLUMNS, TRIGGERS, VIEWS, TYPES, 
FUNCTIONS, AGGREGATES, INDEXES);
 
 private static final CFMetaData Keyspaces =
 compile(KEYSPACES,



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

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.3' into trunk


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

Branch: refs/heads/trunk
Commit: e74ca0432524e0d88cd4c42d814e43517b4de21f
Parents: aa2d31b dd816b3
Author: Sylvain Lebresne 
Authored: Fri Jan 22 18:02:38 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 18:02:38 2016 +0100

--
 CHANGES.txt  | 2 --
 src/java/org/apache/cassandra/schema/SchemaKeyspace.java | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e74ca043/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--



[1/6] cassandra git commit: Revert "Flush dropped_columns when flushing schema"

2016-01-22 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 b21472277 -> d2b70517d
  refs/heads/cassandra-3.3 94c4bdb6f -> dd816b3d7
  refs/heads/trunk aa2d31b18 -> e74ca0432


Revert "Flush dropped_columns when flushing schema"

This reverts commit b214722770113398d22c6c00d46ce0510d868ff9.


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

Branch: refs/heads/cassandra-3.0
Commit: d2b70517d63b8cf8e5072ec449955cab9b34d408
Parents: b214722
Author: Sylvain Lebresne 
Authored: Fri Jan 22 18:02:04 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 18:02:04 2016 +0100

--
 CHANGES.txt  | 2 --
 src/java/org/apache/cassandra/schema/SchemaKeyspace.java | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d2b70517/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 8bfb1d1..4a0bca8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,4 @@
 3.0.3
- * Add dropped_columns to the list of schema table so it gets handled
-   properly (CASSANDRA-11050)
  * Update CQL documentation (CASSANDRA-10899)
  * Check the column name, not cell name, for dropped columns when reading
legacy sstables (CASSANDRA-11018)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d2b70517/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--
diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java 
b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index f91ec9c..f1ea6cf 100644
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@ -82,7 +82,7 @@ public final class SchemaKeyspace
 public static final String INDEXES = "indexes";
 
 public static final List ALL =
-ImmutableList.of(KEYSPACES, TABLES, COLUMNS, DROPPED_COLUMNS, 
TRIGGERS, VIEWS, TYPES, FUNCTIONS, AGGREGATES, INDEXES);
+ImmutableList.of(KEYSPACES, TABLES, COLUMNS, TRIGGERS, VIEWS, TYPES, 
FUNCTIONS, AGGREGATES, INDEXES);
 
 private static final CFMetaData Keyspaces =
 compile(KEYSPACES,



[3/6] cassandra git commit: Revert "Flush dropped_columns when flushing schema"

2016-01-22 Thread slebresne
Revert "Flush dropped_columns when flushing schema"

This reverts commit b214722770113398d22c6c00d46ce0510d868ff9.


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

Branch: refs/heads/trunk
Commit: d2b70517d63b8cf8e5072ec449955cab9b34d408
Parents: b214722
Author: Sylvain Lebresne 
Authored: Fri Jan 22 18:02:04 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 18:02:04 2016 +0100

--
 CHANGES.txt  | 2 --
 src/java/org/apache/cassandra/schema/SchemaKeyspace.java | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d2b70517/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 8bfb1d1..4a0bca8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,4 @@
 3.0.3
- * Add dropped_columns to the list of schema table so it gets handled
-   properly (CASSANDRA-11050)
  * Update CQL documentation (CASSANDRA-10899)
  * Check the column name, not cell name, for dropped columns when reading
legacy sstables (CASSANDRA-11018)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d2b70517/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--
diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java 
b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index f91ec9c..f1ea6cf 100644
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@ -82,7 +82,7 @@ public final class SchemaKeyspace
 public static final String INDEXES = "indexes";
 
 public static final List ALL =
-ImmutableList.of(KEYSPACES, TABLES, COLUMNS, DROPPED_COLUMNS, 
TRIGGERS, VIEWS, TYPES, FUNCTIONS, AGGREGATES, INDEXES);
+ImmutableList.of(KEYSPACES, TABLES, COLUMNS, TRIGGERS, VIEWS, TYPES, 
FUNCTIONS, AGGREGATES, INDEXES);
 
 private static final CFMetaData Keyspaces =
 compile(KEYSPACES,



[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/trunk
Commit: dd816b3d7cf213d1b0c4dbebb1761a7ce38280a9
Parents: 94c4bdb d2b7051
Author: Sylvain Lebresne 
Authored: Fri Jan 22 18:02:29 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 18:02:29 2016 +0100

--
 CHANGES.txt  | 2 --
 src/java/org/apache/cassandra/schema/SchemaKeyspace.java | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd816b3d/CHANGES.txt
--
diff --cc CHANGES.txt
index 6b25d10,4a0bca8..94b723c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,8 -1,4 +1,6 @@@
 -3.0.3
 +3.3
 + * Avoid bootstrap hanging when existing nodes have no data to stream 
(CASSANDRA-11010)
 +Merged from 3.0:
-  * Add dropped_columns to the list of schema table so it gets handled
-properly (CASSANDRA-11050)
   * Update CQL documentation (CASSANDRA-10899)
   * Check the column name, not cell name, for dropped columns when reading
 legacy sstables (CASSANDRA-11018)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd816b3d/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--



[jira] [Commented] (CASSANDRA-10392) Allow Cassandra to trace to custom tracing implementations

2016-01-22 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-10392:


Could you rebase the C* patch against trunk? then I can kick off the test runs.

> Allow Cassandra to trace to custom tracing implementations 
> ---
>
> Key: CASSANDRA-10392
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10392
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: mck
>Assignee: mck
> Fix For: 3.x
>
> Attachments: 10392-trunk.txt, cassandra-dtest_master-10392.txt
>
>
> It can be possible to use an external tracing solution in Cassandra by 
> abstracting out the writing of tracing to system_traces tables in the tracing 
> package to separate implementation classes and leaving abstract classes in 
> place that define the interface and behaviour otherwise of C* tracing.
> Then via a system property "cassandra.custom_tracing_class" the Tracing class 
> implementation could be swapped out with something third party.
> An example of this is adding Zipkin tracing into Cassandra in the Summit 
> [presentation|http://thelastpickle.com/files/2015-09-24-using-zipkin-for-full-stack-tracing-including-cassandra/presentation/tlp-reveal.js/tlp-cassandra-zipkin.html].
>  Code for the implemented Zipkin plugin can be found at 
> https://github.com/thelastpickle/cassandra-zipkin-tracing/
> In addition this patch passes the custom payload through into the tracing 
> session allowing a third party tracing solution like Zipkin to do full-stack 
> tracing from clients through and into Cassandra.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


cassandra git commit: Re-enable skipping non-queried column values

2016-01-22 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/trunk 129b68c1c -> fd74a0360


Re-enable skipping non-queried column values

patch by slebresne; reviewed by beobal for CASSANDRA-10657


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

Branch: refs/heads/trunk
Commit: fd74a03602421ca07b6b1087803c54577adae4dd
Parents: 129b68c
Author: Sylvain Lebresne 
Authored: Tue Dec 22 17:08:17 2015 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:25:12 2016 +0100

--
 CHANGES.txt |   1 +
 .../db/SinglePartitionReadCommand.java  |   2 +-
 .../cassandra/db/filter/ColumnFilter.java   | 217 +++
 .../db/partitions/PartitionUpdate.java  |  26 ++-
 .../org/apache/cassandra/db/rows/BTreeRow.java  |  34 ++-
 .../cassandra/db/rows/ComplexColumnData.java|  22 +-
 src/java/org/apache/cassandra/db/rows/Row.java  |  10 +
 .../apache/cassandra/db/rows/RowIterators.java  |  17 ++
 .../cassandra/db/rows/SerializationHelper.java  |  39 +++-
 .../db/rows/UnfilteredRowIterators.java |  18 ++
 .../cassandra/db/rows/UnfilteredSerializer.java |   4 +-
 .../cassandra/db/rows/WithOnlyQueriedData.java  |  49 +
 .../apache/cassandra/schema/SchemaKeyspace.java |   2 +-
 .../apache/cassandra/service/DataResolver.java  |  15 +-
 .../cassandra/streaming/StreamReceiveTask.java  |   3 +-
 .../cassandra/thrift/CassandraServer.java   |   4 +-
 16 files changed, 338 insertions(+), 125 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fd74a036/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index a44b967..5c577f7 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.4
+ * Skip values for non-queried columns (CASSANDRA-10657)
  * Add support for secondary indexes on static columns (CASSANDRA-8103)
  * CommitLogUpgradeTestMaker creates broken commit logs (CASSANDRA-11051)
  * Add metric for number of dropped mutations (CASSANDRA-10866)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fd74a036/src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
--
diff --git a/src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java 
b/src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
index 4c87d10..a1de3d6 100644
--- a/src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
+++ b/src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
@@ -746,7 +746,7 @@ public class SinglePartitionReadCommand extends ReadCommand
 
 try (UnfilteredRowIterator iter = 
result.unfilteredIterator(columnFilter(), Slices.ALL, false))
 {
-final Mutation mutation = new 
Mutation(PartitionUpdate.fromIterator(iter));
+final Mutation mutation = new 
Mutation(PartitionUpdate.fromIterator(iter, columnFilter()));
 StageManager.getStage(Stage.MUTATION).execute(new Runnable()
 {
 public void run()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fd74a036/src/java/org/apache/cassandra/db/filter/ColumnFilter.java
--
diff --git a/src/java/org/apache/cassandra/db/filter/ColumnFilter.java 
b/src/java/org/apache/cassandra/db/filter/ColumnFilter.java
index e22c154..9c4c714 100644
--- a/src/java/org/apache/cassandra/db/filter/ColumnFilter.java
+++ b/src/java/org/apache/cassandra/db/filter/ColumnFilter.java
@@ -36,44 +36,57 @@ import org.apache.cassandra.io.util.DataOutputPlus;
  * Represents which (non-PK) columns (and optionally which sub-part of a 
column for complex columns) are selected
  * by a query.
  *
- * In practice, this class cover 2 main cases:
- *   1) most user queries have to internally query all columns, because the 
CQL semantic requires us to know if
- *  a row is live or not even if it has no values for the columns 
requested by the user (see #6588for more
- *  details). However, while we need to know for columns if it has live 
values, we can actually save from
- *  sending the values for those columns that will not be returned to the 
user.
- *   2) for some internal queries (and for queries using #6588 if we introduce 
it), we're actually fine only
- *  actually querying some of the columns.
+ * We distinguish 2 sets of columns in practice: the _fetched_ columns, which 
are the columns that we (may, see
+ * below) need to fetch internally, and the _queried_ columns, 

[jira] [Commented] (CASSANDRA-10025) Allow compaction throttle to be real time

2016-01-22 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-10025:
---

[~kohlisankalp] Thanks. Once you mark something as RTC, someone on commit duty 
will pick it up shortly.

> Allow compaction throttle to be real time
> -
>
> Key: CASSANDRA-10025
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10025
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: sankalp kohli
>Assignee: Soumava Ghosh
>Priority: Minor
>  Labels: compaction
> Fix For: 2.1.x
>
> Attachments: 10025-2.1.txt, 10025-2.2.txt, 10025-3.0.txt, 
> 10025-trunk.txt
>
>
> We should allow compaction throttle to be set while compaction is going on. 
> Currently, it takes effect on the next compaction. This is bad for large 
> compactions. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10707) Add support for Group By to Select statement

2016-01-22 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer commented on CASSANDRA-10707:


This ticket add only support for a {{GROUP BY}} clause with primary key columns.

We might add support for some specific functions in the {{GROUP BY}} clause. 
Adding support for UDFs in the {{GROUP BY}} clause is a more tricky problem.

By grouping the data by primary key prefixes, we make sure that we control the 
amount of memory used. As long as a function guaranty the same order as the 
underlying column, it will work fine in the {{GROUP BY}} clause. If not, the 
results returned will not make sense anymore. By consequence, allowing UDF in 
the Group By clause present some risks.

> Add support for Group By to Select statement
> 
>
> Key: CASSANDRA-10707
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10707
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL
>Reporter: Benjamin Lerer
>Assignee: Benjamin Lerer
>
> Now that Cassandra support aggregate functions, it makes sense to support 
> {{GROUP BY}} on the {{SELECT}} statements.
> It should be possible to group either at the partition level or at the 
> clustering column level.
> {code}
> SELECT partitionKey, max(value) FROM myTable GROUP BY partitionKey;
> SELECT partitionKey, clustering0, clustering1, max(value) FROM myTable GROUP 
> BY partitionKey, clustering0, clustering1; 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[05/10] cassandra git commit: Merge commit '7bab8240e63753ac338890cbd31572e38234c23d' into cassandra-3.0

2016-01-22 Thread slebresne
Merge commit '7bab8240e63753ac338890cbd31572e38234c23d' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.3
Commit: e07c7d0c179ad52dd894157f8d7a02deafe6125e
Parents: 1e25d19 7bab824
Author: Sylvain Lebresne 
Authored: Fri Jan 22 15:32:51 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:32:51 2016 +0100

--

--




[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/trunk
Commit: 01a10f01229fe3559d4c20a014e901eeaa0e1b9d
Parents: 53339a0 e07c7d0
Author: Sylvain Lebresne 
Authored: Fri Jan 22 15:33:03 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:33:03 2016 +0100

--

--




[06/10] cassandra git commit: Merge commit '7bab8240e63753ac338890cbd31572e38234c23d' into cassandra-3.0

2016-01-22 Thread slebresne
Merge commit '7bab8240e63753ac338890cbd31572e38234c23d' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: e07c7d0c179ad52dd894157f8d7a02deafe6125e
Parents: 1e25d19 7bab824
Author: Sylvain Lebresne 
Authored: Fri Jan 22 15:32:51 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:32:51 2016 +0100

--

--




[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/cassandra-3.3
Commit: 01a10f01229fe3559d4c20a014e901eeaa0e1b9d
Parents: 53339a0 e07c7d0
Author: Sylvain Lebresne 
Authored: Fri Jan 22 15:33:03 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:33:03 2016 +0100

--

--




[jira] [Commented] (CASSANDRA-9472) Reintroduce off heap memtables

2016-01-22 Thread Jack Krupansky (JIRA)

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

Jack Krupansky commented on CASSANDRA-9472:
---

A couple quick questions:

1. Does this Jira move memtables "entirely" offheap, or just "partially"? (Back 
in July the discussion was that fully offheap was too large an effort.)
2. Is there still an "arena" allocation onheap?
3. What ballpark fraction of a typical Cassandra heap is consumed by memtables 
- 80%, more, less?
4. Does moving memtables offheap get Cassandra to the point where a default JVM 
heap allocation is sufficient? If not, please be sure to offer new recommended 
best practice guidance as to how to estimate heap requirements when memtables 
are offheap.
5. What heuristic rule/threshold is used to determine how much of system memory 
can be consumed by offheap memtables? Is that limit user-controllable by a 
(documented) configuration setting?
6. Are offheap memtables an optional configuration setting, or hardwired?
7. Is this coming soon, like 3.4, or is it still a ways off?



> Reintroduce off heap memtables
> --
>
> Key: CASSANDRA-9472
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9472
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Benedict
>Assignee: Benedict
> Fix For: 3.x
>
>
> CASSANDRA-8099 removes off heap memtables. We should reintroduce them ASAP.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-11047) native protocol will not bind ipv6

2016-01-22 Thread Norman Maurer (JIRA)

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

Norman Maurer commented on CASSANDRA-11047:
---

will check next week.

> native protocol will not bind ipv6
> --
>
> Key: CASSANDRA-11047
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11047
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL
>Reporter: Brandon Williams
>Assignee: Norman Maurer
> Fix For: 2.1.x, 2.2.x, 3.x
>
>
> When you set rpc_address to 0.0.0.0 it should bind every interface.  Of 
> course for ipv6 you have to comment out -Djava.net.preferIPv4Stack=true from 
> cassandra-env.sh, however this will not make the native protocol bind on 
> ipv6, only thrift:
> {noformat}
> tcp6   0  0 :::9160 :::*LISTEN
>   13488/java  
> tcp6   0  0 0.0.0.0:9042:::*LISTEN
>   13488/java  
> # telnet ::1 9160
> Trying ::1...
> Connected to ::1.
> Escape character is '^]'.
> ^]
> telnet> quit
> Connection closed.
> # telnet ::1 9042
> Trying ::1...
> telnet: Unable to connect to remote host: Connection refused
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-9669) If sstable flushes complete out of order, on restart we can fail to replay necessary commit log records

2016-01-22 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-9669:
-

I believe the patch needs at least the changes discussed above, of making the 
changes to the sstable metadata only be new appends to the end. [~benedict] 
could you make those changes?

Also, I'm slightly confused on the versions here: I see the patch for 2.2 with 
CI results but nothing for 3.0. Surely the patch doesn't merge up cleanly, does 
it?

> If sstable flushes complete out of order, on restart we can fail to replay 
> necessary commit log records
> ---
>
> Key: CASSANDRA-9669
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9669
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: Benedict
>Assignee: Benedict
>Priority: Critical
>  Labels: correctness
> Fix For: 2.2.x, 3.0.x, 3.x
>
>
> While {{postFlushExecutor}} ensures it never expires CL entries out-of-order, 
> on restart we simply take the maximum replay position of any sstable on disk, 
> and ignore anything prior. 
> It is quite possible for there to be two flushes triggered for a given table, 
> and for the second to finish first by virtue of containing a much smaller 
> quantity of live data (or perhaps the disk is just under less pressure). If 
> we crash before the first sstable has been written, then on restart the data 
> it would have represented will disappear, since we will not replay the CL 
> records.
> This looks to be a bug present since time immemorial, and also seems pretty 
> serious.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


cassandra git commit: Add --skip-flush option to nodetool snapshot

2016-01-22 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/trunk 2f984e330 -> ee9e38b7d


Add --skip-flush option to nodetool snapshot

patch by anubhavkale; reviewed by pauloricardomg for CASSANDRA-10907


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

Branch: refs/heads/trunk
Commit: ee9e38b7dc20a3b98e5a68904be35d727ed9c09c
Parents: 2f984e3
Author: anubhavkale 
Authored: Tue Jan 19 12:56:29 2016 -0800
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:42:55 2016 +0100

--
 CHANGES.txt |   2 +-
 .../apache/cassandra/db/ColumnFamilyStore.java  |  21 +++-
 src/java/org/apache/cassandra/db/Keyspace.java  |  18 +++-
 .../repair/RepairMessageVerbHandler.java|   2 +-
 .../cassandra/service/StorageService.java   | 106 +--
 .../cassandra/service/StorageServiceMBean.java  |  27 ++---
 .../org/apache/cassandra/tools/NodeProbe.java   |  15 +--
 .../cassandra/tools/nodetool/Snapshot.java  |  15 ++-
 .../cassandra/db/ColumnFamilyStoreTest.java |   4 +-
 .../service/StorageServiceServerTest.java   |  13 ++-
 10 files changed, 156 insertions(+), 67 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee9e38b7/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 3f80264..b8314e5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.4
+ * Add --skip-flush option to nodetool snapshot
  * Skip values for non-queried columns (CASSANDRA-10657)
  * Add support for secondary indexes on static columns (CASSANDRA-8103)
  * CommitLogUpgradeTestMaker creates broken commit logs (CASSANDRA-11051)
@@ -9,7 +10,6 @@
  * Add nodetool gettimeout and settimeout commands (CASSANDRA-10953)
  * Add 3.0 metadata to sstablemetadata output (CASSANDRA-10838)
 
-
 3.3
  * Avoid bootstrap hanging when existing nodes have no data to stream 
(CASSANDRA-11010)
 Merged from 3.0:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee9e38b7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
--
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 486808b..52d8747 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1749,16 +1749,31 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
  */
 public Set snapshot(String snapshotName)
 {
-return snapshot(snapshotName, null, false);
+return snapshot(snapshotName, false);
+}
+
+/**
+ * Take a snap shot of this columnfamily store.
+ *
+ * @param snapshotName the name of the associated with the snapshot
+ * @param skipFlush Skip blocking flush of memtable
+ */
+public Set snapshot(String snapshotName, boolean skipFlush)
+{
+return snapshot(snapshotName, null, false, skipFlush);
 }
 
 
 /**
  * @param ephemeral If this flag is set to true, the snapshot will be 
cleaned up during next startup
+ * @param skipFlush Skip blocking flush of memtable
  */
-public Set snapshot(String snapshotName, 
Predicate predicate, boolean ephemeral)
+public Set snapshot(String snapshotName, 
Predicate predicate, boolean ephemeral, boolean skipFlush)
 {
-forceBlockingFlush();
+if (!skipFlush)
+{
+forceBlockingFlush();
+}
 return snapshotWithoutFlush(snapshotName, predicate, ephemeral);
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee9e38b7/src/java/org/apache/cassandra/db/Keyspace.java
--
diff --git a/src/java/org/apache/cassandra/db/Keyspace.java 
b/src/java/org/apache/cassandra/db/Keyspace.java
index 0ec94ea..6122479 100644
--- a/src/java/org/apache/cassandra/db/Keyspace.java
+++ b/src/java/org/apache/cassandra/db/Keyspace.java
@@ -219,9 +219,10 @@ public class Keyspace
  *
  * @param snapshotName the tag associated with the name of the 
snapshot.  This value may not be null
  * @param columnFamilyName the column family to snapshot or all on null
+ * @param skipFlush Skip blocking flush of memtable
  * @throws IOException if the column family doesn't exist
  */
-public void snapshot(String snapshotName, String columnFamilyName) throws 
IOException
+public void snapshot(String snapshotName, String columnFamilyName, boolean 
skipFlush) 

[jira] [Commented] (CASSANDRA-9669) If sstable flushes complete out of order, on restart we can fail to replay necessary commit log records

2016-01-22 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-9669:
-

I've already made the changes and am working on a merge (you assume correctly; 
it is in fact quite painful).

> If sstable flushes complete out of order, on restart we can fail to replay 
> necessary commit log records
> ---
>
> Key: CASSANDRA-9669
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9669
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: Benedict
>Assignee: Benedict
>Priority: Critical
>  Labels: correctness
> Fix For: 2.2.x, 3.0.x, 3.x
>
>
> While {{postFlushExecutor}} ensures it never expires CL entries out-of-order, 
> on restart we simply take the maximum replay position of any sstable on disk, 
> and ignore anything prior. 
> It is quite possible for there to be two flushes triggered for a given table, 
> and for the second to finish first by virtue of containing a much smaller 
> quantity of live data (or perhaps the disk is just under less pressure). If 
> we crash before the first sstable has been written, then on restart the data 
> it would have represented will disappear, since we will not replay the CL 
> records.
> This looks to be a bug present since time immemorial, and also seems pretty 
> serious.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/cassandra-3.3
Commit: 94c4bdb6f1d1524325de5b0805541b1575a73dcb
Parents: 7074dda b214722
Author: Sylvain Lebresne 
Authored: Fri Jan 22 16:55:58 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:55:58 2016 +0100

--
 CHANGES.txt  | 2 ++
 src/java/org/apache/cassandra/schema/SchemaKeyspace.java | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/94c4bdb6/CHANGES.txt
--
diff --cc CHANGES.txt
index 94b723c,8bfb1d1..6b25d10
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,6 -1,6 +1,8 @@@
 -3.0.3
 +3.3
 + * Avoid bootstrap hanging when existing nodes have no data to stream 
(CASSANDRA-11010)
 +Merged from 3.0:
+  * Add dropped_columns to the list of schema table so it gets handled
+properly (CASSANDRA-11050)
   * Update CQL documentation (CASSANDRA-10899)
   * Check the column name, not cell name, for dropped columns when reading
 legacy sstables (CASSANDRA-11018)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/94c4bdb6/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--



[3/6] cassandra git commit: Flush dropped_columns when flushing schema

2016-01-22 Thread slebresne
Flush dropped_columns when flushing schema

patch by amorton; reviewed by slebresne for CASSANDRA-11050


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

Branch: refs/heads/trunk
Commit: b214722770113398d22c6c00d46ce0510d868ff9
Parents: e1cc015
Author: Aaron Morton 
Authored: Thu Jan 21 14:41:47 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 16:55:33 2016 +0100

--
 CHANGES.txt  | 2 ++
 src/java/org/apache/cassandra/schema/SchemaKeyspace.java | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b2147227/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4a0bca8..8bfb1d1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
 3.0.3
+ * Add dropped_columns to the list of schema table so it gets handled
+   properly (CASSANDRA-11050)
  * Update CQL documentation (CASSANDRA-10899)
  * Check the column name, not cell name, for dropped columns when reading
legacy sstables (CASSANDRA-11018)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b2147227/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
--
diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java 
b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index f1ea6cf..f91ec9c 100644
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@ -82,7 +82,7 @@ public final class SchemaKeyspace
 public static final String INDEXES = "indexes";
 
 public static final List ALL =
-ImmutableList.of(KEYSPACES, TABLES, COLUMNS, TRIGGERS, VIEWS, TYPES, 
FUNCTIONS, AGGREGATES, INDEXES);
+ImmutableList.of(KEYSPACES, TABLES, COLUMNS, DROPPED_COLUMNS, 
TRIGGERS, VIEWS, TYPES, FUNCTIONS, AGGREGATES, INDEXES);
 
 private static final CFMetaData Keyspaces =
 compile(KEYSPACES,



[jira] [Commented] (CASSANDRA-9986) Remove SliceableUnfilteredRowIterator

2016-01-22 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-9986:
-

I've pushed a rebased and slightly tweaked version, which I've used as a base 
for CASSANDRA-9472

> Remove SliceableUnfilteredRowIterator
> -
>
> Key: CASSANDRA-9986
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9986
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Benedict
>Assignee: Benedict
>Priority: Minor
> Fix For: 3.x
>
>
> After CASSANDRA-9932, there is only one instance where this class is needed, 
> and that is {{SSTableIterator}}. It would be much simpler if, like in 
> {{AbstractBTreePartition}}, the slices were passed into the 
> {{SSTableIterator}} on construction. This would make the control flow easier 
> to follow both: 
> * logically, because:
> **  memtables and sstables would have the same access pattern; and
> ** our SSTableIterator would not have two modes of (parallel) operation, 
> which is kind of confusing (the slices are independent of the non-sliced 
> iteration)
> * in the debugger, because we would have one fewer wrapping iterator



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-10779) Mutations do not block for completion under view lock contention

2016-01-22 Thread T Jake Luciani (JIRA)

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

T Jake Luciani updated CASSANDRA-10779:
---
Tester: T Jake Luciani

> Mutations do not block for completion under view lock contention
> 
>
> Key: CASSANDRA-10779
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10779
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
> Environment: Windows 7 64-bit, Cassandra v3.0.0, Java 1.8u60
>Reporter: Will Zhang
>Assignee: Tyler Hobbs
> Fix For: 3.0.x, 3.x
>
>
> Hi guys,
> I encountered the following warning message when I was testing to upgrade 
> from v2.2.2 to v3.0.0. 
> It looks like a write time-out but in an uncaught exception. Could this be an 
> easy fix?
> Log file section below. Thank you!
> {code}
>   WARN  [SharedPool-Worker-64] 2015-11-26 14:04:24,678 
> AbstractTracingAwareExecutorService.java:169 - Uncaught exception on thread 
> Thread[SharedPool-Worker-64,10,main]: {}
> org.apache.cassandra.exceptions.WriteTimeoutException: Operation timed out - 
> received only 0 responses.
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:427) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:386) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:205) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.db.Keyspace.lambda$apply$59(Keyspace.java:435) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_60]
>   at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>  ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [apache-cassandra-3.0.0.jar:3.0.0]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
>   INFO  [IndexSummaryManager:1] 2015-11-26 14:41:10,527 
> IndexSummaryManager.java:257 - Redistributing index summaries
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[02/10] cassandra git commit: Don't query more results than necessary when paging range queries

2016-01-22 Thread slebresne
Don't query more results than necessary when paging range queries

patch by slebresne; reviewed by blerer for CASSANDRA-8521


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

Branch: refs/heads/cassandra-3.0
Commit: 7bab8240e63753ac338890cbd31572e38234c23d
Parents: 38dde32
Author: Sylvain Lebresne 
Authored: Tue Jan 12 16:38:38 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:32:25 2016 +0100

--
 CHANGES.txt   | 1 +
 .../org/apache/cassandra/service/pager/RangeSliceQueryPager.java  | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7bab8240/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 751267e..54ed851 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.5
+ * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
  * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
going (CASSANDRA-10979)
  * Make UUID LSB unique per process (CASSANDRA-7925)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7bab8240/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
--
diff --git 
a/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java 
b/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
index fd14c82..10e470b 100644
--- a/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
+++ b/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
@@ -72,7 +72,8 @@ public class RangeSliceQueryPager extends AbstractQueryPager
 protected List queryNextPage(int pageSize, ConsistencyLevel 
consistencyLevel, boolean localQuery)
 throws RequestExecutionException
 {
-SliceQueryFilter sf = (SliceQueryFilter)columnFilter;
+SliceQueryFilter rawFilter = (SliceQueryFilter)columnFilter;
+SliceQueryFilter sf = 
rawFilter.withUpdatedCount(Math.min(rawFilter.count, pageSize));
 AbstractBounds keyRange = lastReturnedKey == null ? 
command.keyRange : makeIncludingKeyBounds(lastReturnedKey);
 Composite start = lastReturnedName == null ? sf.start() : 
lastReturnedName;
 PagedRangeCommand pageCmd = new PagedRangeCommand(command.keyspace,



[03/10] cassandra git commit: Don't query more results than necessary when paging range queries

2016-01-22 Thread slebresne
Don't query more results than necessary when paging range queries

patch by slebresne; reviewed by blerer for CASSANDRA-8521


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

Branch: refs/heads/cassandra-3.3
Commit: 7bab8240e63753ac338890cbd31572e38234c23d
Parents: 38dde32
Author: Sylvain Lebresne 
Authored: Tue Jan 12 16:38:38 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:32:25 2016 +0100

--
 CHANGES.txt   | 1 +
 .../org/apache/cassandra/service/pager/RangeSliceQueryPager.java  | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7bab8240/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 751267e..54ed851 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.5
+ * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
  * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
going (CASSANDRA-10979)
  * Make UUID LSB unique per process (CASSANDRA-7925)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7bab8240/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
--
diff --git 
a/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java 
b/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
index fd14c82..10e470b 100644
--- a/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
+++ b/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
@@ -72,7 +72,8 @@ public class RangeSliceQueryPager extends AbstractQueryPager
 protected List queryNextPage(int pageSize, ConsistencyLevel 
consistencyLevel, boolean localQuery)
 throws RequestExecutionException
 {
-SliceQueryFilter sf = (SliceQueryFilter)columnFilter;
+SliceQueryFilter rawFilter = (SliceQueryFilter)columnFilter;
+SliceQueryFilter sf = 
rawFilter.withUpdatedCount(Math.min(rawFilter.count, pageSize));
 AbstractBounds keyRange = lastReturnedKey == null ? 
command.keyRange : makeIncludingKeyBounds(lastReturnedKey);
 Composite start = lastReturnedName == null ? sf.start() : 
lastReturnedName;
 PagedRangeCommand pageCmd = new PagedRangeCommand(command.keyspace,



[04/10] cassandra git commit: Don't query more results than necessary when paging range queries

2016-01-22 Thread slebresne
Don't query more results than necessary when paging range queries

patch by slebresne; reviewed by blerer for CASSANDRA-8521


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

Branch: refs/heads/trunk
Commit: 7bab8240e63753ac338890cbd31572e38234c23d
Parents: 38dde32
Author: Sylvain Lebresne 
Authored: Tue Jan 12 16:38:38 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:32:25 2016 +0100

--
 CHANGES.txt   | 1 +
 .../org/apache/cassandra/service/pager/RangeSliceQueryPager.java  | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7bab8240/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 751267e..54ed851 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.5
+ * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
  * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
going (CASSANDRA-10979)
  * Make UUID LSB unique per process (CASSANDRA-7925)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7bab8240/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
--
diff --git 
a/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java 
b/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
index fd14c82..10e470b 100644
--- a/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
+++ b/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
@@ -72,7 +72,8 @@ public class RangeSliceQueryPager extends AbstractQueryPager
 protected List queryNextPage(int pageSize, ConsistencyLevel 
consistencyLevel, boolean localQuery)
 throws RequestExecutionException
 {
-SliceQueryFilter sf = (SliceQueryFilter)columnFilter;
+SliceQueryFilter rawFilter = (SliceQueryFilter)columnFilter;
+SliceQueryFilter sf = 
rawFilter.withUpdatedCount(Math.min(rawFilter.count, pageSize));
 AbstractBounds keyRange = lastReturnedKey == null ? 
command.keyRange : makeIncludingKeyBounds(lastReturnedKey);
 Composite start = lastReturnedName == null ? sf.start() : 
lastReturnedName;
 PagedRangeCommand pageCmd = new PagedRangeCommand(command.keyspace,



[07/10] cassandra git commit: Merge commit '7bab8240e63753ac338890cbd31572e38234c23d' into cassandra-3.0

2016-01-22 Thread slebresne
Merge commit '7bab8240e63753ac338890cbd31572e38234c23d' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: e07c7d0c179ad52dd894157f8d7a02deafe6125e
Parents: 1e25d19 7bab824
Author: Sylvain Lebresne 
Authored: Fri Jan 22 15:32:51 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:32:51 2016 +0100

--

--




[10/10] cassandra git commit: Merge branch 'cassandra-3.3' into trunk

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.3' into trunk


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

Branch: refs/heads/trunk
Commit: 5b02fa287b3d662d1fb1190a0c579d66ac6b65e9
Parents: fd74a03 01a10f0
Author: Sylvain Lebresne 
Authored: Fri Jan 22 15:33:16 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:33:16 2016 +0100

--

--




[04/15] cassandra git commit: Measure max generation drift against local time instead of previously stored generation for remote host to allow long-running clusters.

2016-01-22 Thread slebresne
Measure max generation drift against local time instead of previously stored 
generation for remote host to allow long-running clusters.

patch by jkni; reviewed by Stefania for CASSANDRA-10969


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

Branch: refs/heads/cassandra-3.0
Commit: 3c55732fa414c7835536dc42ff489461a7441bfe
Parents: 98cc2c8
Author: Joel Knighton 
Authored: Thu Jan 7 09:41:47 2016 -0600
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:37:19 2016 +0100

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 10 ++-
 .../org/apache/cassandra/gms/GossiperTest.java  | 93 
 3 files changed, 100 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 7175953..4bff88c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)
  * Unmark sstables compacting once they are done in 
cleanup/scrub/upgradesstables (CASSANDRA-10829)
  * Revert CASSANDRA-10012 and add more logging (CASSANDRA-10961)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index 59ef3cc..ebdd5bd 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -87,8 +87,8 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 
 public static final long aVeryLongTime = 259200 * 1000; // 3 days
 
-/** Maximimum difference in generation and version values we are willing 
to accept about a peer */
-private static final long MAX_GENERATION_DIFFERENCE = 86400 * 365;
+// Maximimum difference between generation value and local time we are 
willing to accept about a peer
+static final int MAX_GENERATION_DIFFERENCE = 86400 * 365;
 private long FatClientTimeout;
 private final Random random = new Random();
 private final Comparator inetcomparator = new 
Comparator()
@@ -1107,13 +1107,15 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 {
 int localGeneration = 
localEpStatePtr.getHeartBeatState().getGeneration();
 int remoteGeneration = 
remoteState.getHeartBeatState().getGeneration();
+long localTime = System.currentTimeMillis()/1000;
 if (logger.isTraceEnabled())
 logger.trace(ep + "local generation " + localGeneration + 
", remote generation " + remoteGeneration);
 
-if (localGeneration != 0 && remoteGeneration > localGeneration 
+ MAX_GENERATION_DIFFERENCE)
+// We measure generation drift against local time, based on 
the fact that generation is initialized by time
+if (remoteGeneration > localTime + MAX_GENERATION_DIFFERENCE)
 {
 // assume some peer has corrupted memory and is 
broadcasting an unbelievable generation about another peer (or itself)
-logger.warn("received an invalid gossip generation for 
peer {}; local generation = {}, received generation = {}", ep, localGeneration, 
remoteGeneration);
+logger.warn("received an invalid gossip generation for 
peer {}; local time = {}, received generation = {}", ep, localTime, 
remoteGeneration);
 }
 else if (remoteGeneration > localGeneration)
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/test/unit/org/apache/cassandra/gms/GossiperTest.java
--
diff --git a/test/unit/org/apache/cassandra/gms/GossiperTest.java 
b/test/unit/org/apache/cassandra/gms/GossiperTest.java
new file mode 100644
index 000..ad07165
--- /dev/null
+++ b/test/unit/org/apache/cassandra/gms/GossiperTest.java
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under 

[02/15] cassandra git commit: Measure max generation drift against local time instead of previously stored generation for remote host to allow long-running clusters.

2016-01-22 Thread slebresne
Measure max generation drift against local time instead of previously stored 
generation for remote host to allow long-running clusters.

patch by jkni; reviewed by Stefania for CASSANDRA-10969


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

Branch: refs/heads/cassandra-2.2
Commit: 3c55732fa414c7835536dc42ff489461a7441bfe
Parents: 98cc2c8
Author: Joel Knighton 
Authored: Thu Jan 7 09:41:47 2016 -0600
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:37:19 2016 +0100

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 10 ++-
 .../org/apache/cassandra/gms/GossiperTest.java  | 93 
 3 files changed, 100 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 7175953..4bff88c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)
  * Unmark sstables compacting once they are done in 
cleanup/scrub/upgradesstables (CASSANDRA-10829)
  * Revert CASSANDRA-10012 and add more logging (CASSANDRA-10961)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index 59ef3cc..ebdd5bd 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -87,8 +87,8 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 
 public static final long aVeryLongTime = 259200 * 1000; // 3 days
 
-/** Maximimum difference in generation and version values we are willing 
to accept about a peer */
-private static final long MAX_GENERATION_DIFFERENCE = 86400 * 365;
+// Maximimum difference between generation value and local time we are 
willing to accept about a peer
+static final int MAX_GENERATION_DIFFERENCE = 86400 * 365;
 private long FatClientTimeout;
 private final Random random = new Random();
 private final Comparator inetcomparator = new 
Comparator()
@@ -1107,13 +1107,15 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 {
 int localGeneration = 
localEpStatePtr.getHeartBeatState().getGeneration();
 int remoteGeneration = 
remoteState.getHeartBeatState().getGeneration();
+long localTime = System.currentTimeMillis()/1000;
 if (logger.isTraceEnabled())
 logger.trace(ep + "local generation " + localGeneration + 
", remote generation " + remoteGeneration);
 
-if (localGeneration != 0 && remoteGeneration > localGeneration 
+ MAX_GENERATION_DIFFERENCE)
+// We measure generation drift against local time, based on 
the fact that generation is initialized by time
+if (remoteGeneration > localTime + MAX_GENERATION_DIFFERENCE)
 {
 // assume some peer has corrupted memory and is 
broadcasting an unbelievable generation about another peer (or itself)
-logger.warn("received an invalid gossip generation for 
peer {}; local generation = {}, received generation = {}", ep, localGeneration, 
remoteGeneration);
+logger.warn("received an invalid gossip generation for 
peer {}; local time = {}, received generation = {}", ep, localTime, 
remoteGeneration);
 }
 else if (remoteGeneration > localGeneration)
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/test/unit/org/apache/cassandra/gms/GossiperTest.java
--
diff --git a/test/unit/org/apache/cassandra/gms/GossiperTest.java 
b/test/unit/org/apache/cassandra/gms/GossiperTest.java
new file mode 100644
index 000..ad07165
--- /dev/null
+++ b/test/unit/org/apache/cassandra/gms/GossiperTest.java
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under 

[14/15] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/trunk
Commit: 3b014d077ed47a09c4027584ebd4e2795cf0f62f
Parents: 01a10f0 13314aa
Author: Sylvain Lebresne 
Authored: Fri Jan 22 15:44:50 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:44:50 2016 +0100

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 10 ++-
 .../org/apache/cassandra/gms/GossiperTest.java  | 93 
 3 files changed, 100 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3b014d07/CHANGES.txt
--
diff --cc CHANGES.txt
index a1ec744,e93a04a..afaf114
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -27,7 -35,16 +27,8 @@@ Merged from 2.2
   * Optimize pending range computation (CASSANDRA-9258)
   * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
   * drop/alter user should be case sensitive (CASSANDRA-10817)
 - * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 - * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 - * Add new types to Stress (CASSANDRA-9556)
 - * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 - * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 - * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 - * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 - * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
  Merged from 2.1:
+  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)
   * Unmark sstables compacting once they are done in 
cleanup/scrub/upgradesstables (CASSANDRA-10829)
   * Allow simultaneous bootstrapping with strict consistency when no vnodes 
are used (CASSANDRA-11005)



[08/15] cassandra git commit: Merge commit '3c55732fa414c7835536dc42ff489461a7441bfe' into cassandra-2.2

2016-01-22 Thread slebresne
Merge commit '3c55732fa414c7835536dc42ff489461a7441bfe' into cassandra-2.2


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

Branch: refs/heads/cassandra-3.0
Commit: 0b479a7f3e284960f5ebf8ef5110dfdf2c2db7fd
Parents: 7bab824 3c55732
Author: Sylvain Lebresne 
Authored: Fri Jan 22 15:42:27 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:43:56 2016 +0100

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 10 ++-
 .../org/apache/cassandra/gms/GossiperTest.java  | 93 
 3 files changed, 100 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0b479a7f/CHANGES.txt
--
diff --cc CHANGES.txt
index 54ed851,4bff88c..6c01e22
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,30 -1,8 +1,31 @@@
 -2.1.13
 +2.2.5
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 +Merged from 2.1:
+  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)
   * Unmark sstables compacting once they are done in 
cleanup/scrub/upgradesstables (CASSANDRA-10829)
 - * Revert CASSANDRA-10012 and add more logging (CASSANDRA-10961)
   * Allow simultaneous bootstrapping with strict consistency when no vnodes 
are used (CASSANDRA-11005)
   * Log a message when major compaction does not result in a single file 
(CASSANDRA-10847)
   * (cqlsh) fix cqlsh_copy_tests when vnodes are disabled (CASSANDRA-10997)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0b479a7f/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --cc src/java/org/apache/cassandra/gms/Gossiper.java
index 6a91750,ebdd5bd..58d9c3c
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@@ -87,9 -87,9 +87,9 @@@ public class Gossiper implements IFailu
  
  public static final long aVeryLongTime = 259200 * 1000; // 3 days
  
- /** Maximum difference in generation and version values we are willing to 
accept about a peer */
- private static final long MAX_GENERATION_DIFFERENCE = 86400 * 365;
+ // Maximimum difference between generation value and local time we are 
willing to accept about a peer
+ static final int MAX_GENERATION_DIFFERENCE = 86400 * 365;
 -private long FatClientTimeout;
 +private long fatClientTimeout;
  private final Random random = new Random();
  private final Comparator inetcomparator = new 
Comparator()
  {
@@@ -1101,13 -1107,15 +1101,15 @@@
  {
  int localGeneration = 
localEpStatePtr.getHeartBeatState().getGeneration();
  int remoteGeneration = 
remoteState.getHeartBeatState().getGeneration();
+ long localTime = System.currentTimeMillis()/1000;
  if (logger.isTraceEnabled())
 -logger.trace(ep + "local generation " + localGeneration + 
", remote generation " + 

[10/15] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-01-22 Thread slebresne
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: 13314aa2eb926ecba56221ad77b037fcc4d0bfe1
Parents: e07c7d0 0b479a7
Author: Sylvain Lebresne 
Authored: Fri Jan 22 15:44:16 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:44:16 2016 +0100

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 10 ++-
 .../org/apache/cassandra/gms/GossiperTest.java  | 93 
 3 files changed, 100 insertions(+), 4 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/13314aa2/src/java/org/apache/cassandra/gms/Gossiper.java
--



[06/15] cassandra git commit: Merge commit '3c55732fa414c7835536dc42ff489461a7441bfe' into cassandra-2.2

2016-01-22 Thread slebresne
Merge commit '3c55732fa414c7835536dc42ff489461a7441bfe' into cassandra-2.2


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

Branch: refs/heads/trunk
Commit: 0b479a7f3e284960f5ebf8ef5110dfdf2c2db7fd
Parents: 7bab824 3c55732
Author: Sylvain Lebresne 
Authored: Fri Jan 22 15:42:27 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:43:56 2016 +0100

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 10 ++-
 .../org/apache/cassandra/gms/GossiperTest.java  | 93 
 3 files changed, 100 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0b479a7f/CHANGES.txt
--
diff --cc CHANGES.txt
index 54ed851,4bff88c..6c01e22
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,30 -1,8 +1,31 @@@
 -2.1.13
 +2.2.5
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 +Merged from 2.1:
+  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)
   * Unmark sstables compacting once they are done in 
cleanup/scrub/upgradesstables (CASSANDRA-10829)
 - * Revert CASSANDRA-10012 and add more logging (CASSANDRA-10961)
   * Allow simultaneous bootstrapping with strict consistency when no vnodes 
are used (CASSANDRA-11005)
   * Log a message when major compaction does not result in a single file 
(CASSANDRA-10847)
   * (cqlsh) fix cqlsh_copy_tests when vnodes are disabled (CASSANDRA-10997)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0b479a7f/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --cc src/java/org/apache/cassandra/gms/Gossiper.java
index 6a91750,ebdd5bd..58d9c3c
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@@ -87,9 -87,9 +87,9 @@@ public class Gossiper implements IFailu
  
  public static final long aVeryLongTime = 259200 * 1000; // 3 days
  
- /** Maximum difference in generation and version values we are willing to 
accept about a peer */
- private static final long MAX_GENERATION_DIFFERENCE = 86400 * 365;
+ // Maximimum difference between generation value and local time we are 
willing to accept about a peer
+ static final int MAX_GENERATION_DIFFERENCE = 86400 * 365;
 -private long FatClientTimeout;
 +private long fatClientTimeout;
  private final Random random = new Random();
  private final Comparator inetcomparator = new 
Comparator()
  {
@@@ -1101,13 -1107,15 +1101,15 @@@
  {
  int localGeneration = 
localEpStatePtr.getHeartBeatState().getGeneration();
  int remoteGeneration = 
remoteState.getHeartBeatState().getGeneration();
+ long localTime = System.currentTimeMillis()/1000;
  if (logger.isTraceEnabled())
 -logger.trace(ep + "local generation " + localGeneration + 
", remote generation " + 

[03/15] cassandra git commit: Measure max generation drift against local time instead of previously stored generation for remote host to allow long-running clusters.

2016-01-22 Thread slebresne
Measure max generation drift against local time instead of previously stored 
generation for remote host to allow long-running clusters.

patch by jkni; reviewed by Stefania for CASSANDRA-10969


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

Branch: refs/heads/trunk
Commit: 3c55732fa414c7835536dc42ff489461a7441bfe
Parents: 98cc2c8
Author: Joel Knighton 
Authored: Thu Jan 7 09:41:47 2016 -0600
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:37:19 2016 +0100

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 10 ++-
 .../org/apache/cassandra/gms/GossiperTest.java  | 93 
 3 files changed, 100 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 7175953..4bff88c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)
  * Unmark sstables compacting once they are done in 
cleanup/scrub/upgradesstables (CASSANDRA-10829)
  * Revert CASSANDRA-10012 and add more logging (CASSANDRA-10961)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index 59ef3cc..ebdd5bd 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -87,8 +87,8 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 
 public static final long aVeryLongTime = 259200 * 1000; // 3 days
 
-/** Maximimum difference in generation and version values we are willing 
to accept about a peer */
-private static final long MAX_GENERATION_DIFFERENCE = 86400 * 365;
+// Maximimum difference between generation value and local time we are 
willing to accept about a peer
+static final int MAX_GENERATION_DIFFERENCE = 86400 * 365;
 private long FatClientTimeout;
 private final Random random = new Random();
 private final Comparator inetcomparator = new 
Comparator()
@@ -1107,13 +1107,15 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 {
 int localGeneration = 
localEpStatePtr.getHeartBeatState().getGeneration();
 int remoteGeneration = 
remoteState.getHeartBeatState().getGeneration();
+long localTime = System.currentTimeMillis()/1000;
 if (logger.isTraceEnabled())
 logger.trace(ep + "local generation " + localGeneration + 
", remote generation " + remoteGeneration);
 
-if (localGeneration != 0 && remoteGeneration > localGeneration 
+ MAX_GENERATION_DIFFERENCE)
+// We measure generation drift against local time, based on 
the fact that generation is initialized by time
+if (remoteGeneration > localTime + MAX_GENERATION_DIFFERENCE)
 {
 // assume some peer has corrupted memory and is 
broadcasting an unbelievable generation about another peer (or itself)
-logger.warn("received an invalid gossip generation for 
peer {}; local generation = {}, received generation = {}", ep, localGeneration, 
remoteGeneration);
+logger.warn("received an invalid gossip generation for 
peer {}; local time = {}, received generation = {}", ep, localTime, 
remoteGeneration);
 }
 else if (remoteGeneration > localGeneration)
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/test/unit/org/apache/cassandra/gms/GossiperTest.java
--
diff --git a/test/unit/org/apache/cassandra/gms/GossiperTest.java 
b/test/unit/org/apache/cassandra/gms/GossiperTest.java
new file mode 100644
index 000..ad07165
--- /dev/null
+++ b/test/unit/org/apache/cassandra/gms/GossiperTest.java
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the 

[05/15] cassandra git commit: Measure max generation drift against local time instead of previously stored generation for remote host to allow long-running clusters.

2016-01-22 Thread slebresne
Measure max generation drift against local time instead of previously stored 
generation for remote host to allow long-running clusters.

patch by jkni; reviewed by Stefania for CASSANDRA-10969


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

Branch: refs/heads/cassandra-3.3
Commit: 3c55732fa414c7835536dc42ff489461a7441bfe
Parents: 98cc2c8
Author: Joel Knighton 
Authored: Thu Jan 7 09:41:47 2016 -0600
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:37:19 2016 +0100

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 10 ++-
 .../org/apache/cassandra/gms/GossiperTest.java  | 93 
 3 files changed, 100 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 7175953..4bff88c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)
  * Unmark sstables compacting once they are done in 
cleanup/scrub/upgradesstables (CASSANDRA-10829)
  * Revert CASSANDRA-10012 and add more logging (CASSANDRA-10961)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index 59ef3cc..ebdd5bd 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -87,8 +87,8 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 
 public static final long aVeryLongTime = 259200 * 1000; // 3 days
 
-/** Maximimum difference in generation and version values we are willing 
to accept about a peer */
-private static final long MAX_GENERATION_DIFFERENCE = 86400 * 365;
+// Maximimum difference between generation value and local time we are 
willing to accept about a peer
+static final int MAX_GENERATION_DIFFERENCE = 86400 * 365;
 private long FatClientTimeout;
 private final Random random = new Random();
 private final Comparator inetcomparator = new 
Comparator()
@@ -1107,13 +1107,15 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 {
 int localGeneration = 
localEpStatePtr.getHeartBeatState().getGeneration();
 int remoteGeneration = 
remoteState.getHeartBeatState().getGeneration();
+long localTime = System.currentTimeMillis()/1000;
 if (logger.isTraceEnabled())
 logger.trace(ep + "local generation " + localGeneration + 
", remote generation " + remoteGeneration);
 
-if (localGeneration != 0 && remoteGeneration > localGeneration 
+ MAX_GENERATION_DIFFERENCE)
+// We measure generation drift against local time, based on 
the fact that generation is initialized by time
+if (remoteGeneration > localTime + MAX_GENERATION_DIFFERENCE)
 {
 // assume some peer has corrupted memory and is 
broadcasting an unbelievable generation about another peer (or itself)
-logger.warn("received an invalid gossip generation for 
peer {}; local generation = {}, received generation = {}", ep, localGeneration, 
remoteGeneration);
+logger.warn("received an invalid gossip generation for 
peer {}; local time = {}, received generation = {}", ep, localTime, 
remoteGeneration);
 }
 else if (remoteGeneration > localGeneration)
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c55732f/test/unit/org/apache/cassandra/gms/GossiperTest.java
--
diff --git a/test/unit/org/apache/cassandra/gms/GossiperTest.java 
b/test/unit/org/apache/cassandra/gms/GossiperTest.java
new file mode 100644
index 000..ad07165
--- /dev/null
+++ b/test/unit/org/apache/cassandra/gms/GossiperTest.java
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under 

[13/15] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-01-22 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/cassandra-3.3
Commit: 3b014d077ed47a09c4027584ebd4e2795cf0f62f
Parents: 01a10f0 13314aa
Author: Sylvain Lebresne 
Authored: Fri Jan 22 15:44:50 2016 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 22 15:44:50 2016 +0100

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 10 ++-
 .../org/apache/cassandra/gms/GossiperTest.java  | 93 
 3 files changed, 100 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3b014d07/CHANGES.txt
--
diff --cc CHANGES.txt
index a1ec744,e93a04a..afaf114
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -27,7 -35,16 +27,8 @@@ Merged from 2.2
   * Optimize pending range computation (CASSANDRA-9258)
   * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
   * drop/alter user should be case sensitive (CASSANDRA-10817)
 - * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 - * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 - * Add new types to Stress (CASSANDRA-9556)
 - * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 - * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 - * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 - * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 - * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
  Merged from 2.1:
+  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)
   * Unmark sstables compacting once they are done in 
cleanup/scrub/upgradesstables (CASSANDRA-10829)
   * Allow simultaneous bootstrapping with strict consistency when no vnodes 
are used (CASSANDRA-11005)



  1   2   >