[jira] [Comment Edited] (CASSANDRA-11053) COPY FROM on large datasets: fix progress report and debug performance

2016-02-03 Thread Stefania (JIRA)

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

Stefania edited comment on CASSANDRA-11053 at 2/3/16 8:47 AM:
--

I've repeated the benchmark after performing the following:

* Moved csv decoding from parent to worker processes
* Switched to a cythonized driver installation (for cassandra-2.1 we need to 
use version 2.7.2). 

The patch is [here|https://github.com/stef1927/cassandra/tree/11053-2.1].

The set-up and raw results are in _copy_from_large_benchmark_2.txt_ attached, 
along with the new profiler results, _parent_profile_2.txt_ and 
_worker_profiles_2.txt_. The rate has increased from *35,000* to *58,000* rows 
per second for the 1KB test:

{code}cqlsh> COPY test.test1kb FROM 'DSEBulkLoadTest/in/data1KB/*.csv';
Using 7 child processes

Starting copy of test.test1kb with columns ['pkey', 'ccol', 'data'].
Processed: 2048 rows; Rate:   63987 rows/s; Avg. rate:   58749 rows/s
2048 rows imported from 20 files in 5 minutes and 48.605 seconds (0 
skipped).
{code}


The progress reporting looks much better now,  because the parent process no 
longer spends time decoding csv data and it has therefore more time to receive 
data and update the progress.

The parent process is fine now, even if we optimized it further it wouldn't 
matter since it spends most of its time receiving data (289 out of 437 seconds).

The worker processes can still be improved, here is where we currently spend 
most of the time and what I am looking at improving:

{code}
ncalls  tottime  percall  cumtime  percall filename:lineno(function)
13.6063.606  432.297  432.297 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1743(run_normal)
   158538   86.2370.001  245.6290.002 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1800(send_normal_batch)
   161485   67.4010.000  167.5430.001 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1879(split_batches)
   158538   17.6030.000   84.7180.001 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1820(convert_rows)
   158538   46.3020.000   73.5770.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1874(execute_statement)
  2947000   37.4700.000   61.2770.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1918(get_replica)
  2947000   27.9780.000   60.1450.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1596(get_row_values)
  29470009.3830.000   32.2850.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1625(get_row_partition_key_values)
  8841000   21.1950.000   31.2200.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1600(convert)
  2947000   20.3280.000   21.7110.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1630(serialize)
  29470009.2200.000   20.4780.000 {filter}
 29480.0400.000   15.5130.005 
/usr/lib/python2.7/multiprocessing/queues.py:113(get)
 2948   12.7700.004   12.7700.004 {method 'recv' of 
'_multiprocessing.Connection' objects}
  8841000   11.2580.000   11.2580.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1925()
   1585587.5250.000   10.0340.000 
/usr/local/lib/python2.7/dist-packages/cassandra_driver-2.7.2-py2.7-linux-x86_64.egg/cassandra/io/libevreactor.py:355(push)
{code}

I note that 58,000 rows per second is an upper limit both locally against a 
single cassandra node running on the same laptop, or on an {{r3.2xlarge}} AWS 
instance running against a large cassandra cluster of 8 nodes running on 
{{i2.2xlarge}} AWS instances. So the bottleneck is still with the importer even 
after these initial improvements. The same is true for cassandra loader, it 
won't move much beyond 50,000 rows per second with the 1KB benchmark (using 
default parameters and a batch size of 8). 

{code}
time ./cassandra-loader -f DSEBulkLoadTest/in/data1KB -host 172.31.16.79 
-schema "test.test1kb(pkey,ccol,data)" -batchSize 8
[...]
Lines Processed:20480019  Rate: 50073.39608801956

real6m50.633s
user19m0.819s
sys 3m25.961s
{code}

Is this the right command [~brianmhess]?


was (Author: stefania):
I've repeated the benchmark after performing the following:

* Moved csv decoding from parent to worker processes
* Switched to a cythonized driver installation (for cassandra-2.1 we need to 
use version 2.7.2). 

The patch is [here|https://github.com/stef1927/cassandra/tree/11053-2.1].

The set-up and raw results are in _copy_from_large_benchmark_2.txt_ attached, 
along with the new profiler results, _parent_profile_2.txt_ and 
_worker_profiles_2.txt_. The rate has increased from *35,000* to *58,000* rows 
per second for the 1KB test:

{code}cqlsh> 

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

2016-02-03 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/f1f52e7b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f1f52e7b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f1f52e7b

Branch: refs/heads/trunk
Commit: f1f52e7bb88116e440582090cfce615511716f49
Parents: eef0ddf 35a7194
Author: Sylvain Lebresne 
Authored: Wed Feb 3 12:14:22 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 12:14:22 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/DateType.java | 5 +
 src/java/org/apache/cassandra/db/marshal/TimeType.java | 6 --
 2 files changed, 5 insertions(+), 6 deletions(-)
--




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

2016-02-03 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/35a7194e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/35a7194e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/35a7194e

Branch: refs/heads/trunk
Commit: 35a7194e7fc0565768b079f49267b84338f903cb
Parents: c5feeda 8cb5a20
Author: Sylvain Lebresne 
Authored: Wed Feb 3 12:14:16 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 12:14:16 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/DateType.java | 5 +
 src/java/org/apache/cassandra/db/marshal/TimeType.java | 6 --
 2 files changed, 5 insertions(+), 6 deletions(-)
--




[02/10] cassandra git commit: Add comment on DateType explaining that its kept only for backward compatibility

2016-02-03 Thread slebresne
Add comment on DateType explaining that its kept only for backward compatibility


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

Branch: refs/heads/cassandra-3.0
Commit: 3ec7d8c056c71b3032b1ca1d1fd07462c5091900
Parents: af2b858
Author: Sylvain Lebresne 
Authored: Wed Feb 3 12:08:13 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 12:08:13 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/DateType.java | 5 +
 src/java/org/apache/cassandra/db/marshal/TimeType.java | 6 --
 2 files changed, 5 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ec7d8c0/src/java/org/apache/cassandra/db/marshal/DateType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/DateType.java 
b/src/java/org/apache/cassandra/db/marshal/DateType.java
index 82ed876..5186ca8 100644
--- a/src/java/org/apache/cassandra/db/marshal/DateType.java
+++ b/src/java/org/apache/cassandra/db/marshal/DateType.java
@@ -31,6 +31,11 @@ import org.apache.cassandra.serializers.TimestampSerializer;
 import org.apache.cassandra.serializers.MarshalException;
 import org.apache.cassandra.utils.ByteBufferUtil;
 
+/**
+ * This is the old version of TimestampType, but has been replaced as it 
wasn't comparing pre-epoch timestamps
+ * correctly. This is kept for backward compatibility but shouldn't be used in 
new code.
+ */
+@Deprecated
 public class DateType extends AbstractType
 {
 private static final Logger logger = 
LoggerFactory.getLogger(DateType.class);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ec7d8c0/src/java/org/apache/cassandra/db/marshal/TimeType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/TimeType.java 
b/src/java/org/apache/cassandra/db/marshal/TimeType.java
index c241a38..86de574 100644
--- a/src/java/org/apache/cassandra/db/marshal/TimeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/TimeType.java
@@ -52,12 +52,6 @@ public class TimeType extends AbstractType
 }
 
 @Override
-public boolean isCompatibleWith(AbstractType previous)
-{
-return super.isCompatibleWith(previous);
-}
-
-@Override
 public boolean isValueCompatibleWithInternal(AbstractType otherType)
 {
 return this == otherType || otherType == LongType.instance;



[04/10] cassandra git commit: Add comment on DateType explaining that its kept only for backward compatibility

2016-02-03 Thread slebresne
Add comment on DateType explaining that its kept only for backward compatibility


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

Branch: refs/heads/trunk
Commit: 3ec7d8c056c71b3032b1ca1d1fd07462c5091900
Parents: af2b858
Author: Sylvain Lebresne 
Authored: Wed Feb 3 12:08:13 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 12:08:13 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/DateType.java | 5 +
 src/java/org/apache/cassandra/db/marshal/TimeType.java | 6 --
 2 files changed, 5 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ec7d8c0/src/java/org/apache/cassandra/db/marshal/DateType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/DateType.java 
b/src/java/org/apache/cassandra/db/marshal/DateType.java
index 82ed876..5186ca8 100644
--- a/src/java/org/apache/cassandra/db/marshal/DateType.java
+++ b/src/java/org/apache/cassandra/db/marshal/DateType.java
@@ -31,6 +31,11 @@ import org.apache.cassandra.serializers.TimestampSerializer;
 import org.apache.cassandra.serializers.MarshalException;
 import org.apache.cassandra.utils.ByteBufferUtil;
 
+/**
+ * This is the old version of TimestampType, but has been replaced as it 
wasn't comparing pre-epoch timestamps
+ * correctly. This is kept for backward compatibility but shouldn't be used in 
new code.
+ */
+@Deprecated
 public class DateType extends AbstractType
 {
 private static final Logger logger = 
LoggerFactory.getLogger(DateType.class);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ec7d8c0/src/java/org/apache/cassandra/db/marshal/TimeType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/TimeType.java 
b/src/java/org/apache/cassandra/db/marshal/TimeType.java
index c241a38..86de574 100644
--- a/src/java/org/apache/cassandra/db/marshal/TimeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/TimeType.java
@@ -52,12 +52,6 @@ public class TimeType extends AbstractType
 }
 
 @Override
-public boolean isCompatibleWith(AbstractType previous)
-{
-return super.isCompatibleWith(previous);
-}
-
-@Override
 public boolean isValueCompatibleWithInternal(AbstractType otherType)
 {
 return this == otherType || otherType == LongType.instance;



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

2016-02-03 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/8cb5a20c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8cb5a20c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8cb5a20c

Branch: refs/heads/cassandra-3.0
Commit: 8cb5a20c6f55723eb6e05e75d54230751c340db6
Parents: f51e983 3ec7d8c
Author: Sylvain Lebresne 
Authored: Wed Feb 3 12:09:37 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 12:09:37 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/DateType.java | 5 +
 src/java/org/apache/cassandra/db/marshal/TimeType.java | 6 --
 2 files changed, 5 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cb5a20c/src/java/org/apache/cassandra/db/marshal/DateType.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cb5a20c/src/java/org/apache/cassandra/db/marshal/TimeType.java
--
diff --cc src/java/org/apache/cassandra/db/marshal/TimeType.java
index 780b020,86de574..8cd221e
--- a/src/java/org/apache/cassandra/db/marshal/TimeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/TimeType.java
@@@ -41,12 -46,12 +41,6 @@@ public class TimeType extends AbstractT
  }
  
  @Override
- public boolean isCompatibleWith(AbstractType previous)
 -public boolean isByteOrderComparable()
--{
- return super.isCompatibleWith(previous);
 -return true;
--}
--
--@Override
  public boolean isValueCompatibleWithInternal(AbstractType otherType)
  {
  return this == otherType || otherType == LongType.instance;



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

2016-02-03 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/8cb5a20c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8cb5a20c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8cb5a20c

Branch: refs/heads/trunk
Commit: 8cb5a20c6f55723eb6e05e75d54230751c340db6
Parents: f51e983 3ec7d8c
Author: Sylvain Lebresne 
Authored: Wed Feb 3 12:09:37 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 12:09:37 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/DateType.java | 5 +
 src/java/org/apache/cassandra/db/marshal/TimeType.java | 6 --
 2 files changed, 5 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cb5a20c/src/java/org/apache/cassandra/db/marshal/DateType.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cb5a20c/src/java/org/apache/cassandra/db/marshal/TimeType.java
--
diff --cc src/java/org/apache/cassandra/db/marshal/TimeType.java
index 780b020,86de574..8cd221e
--- a/src/java/org/apache/cassandra/db/marshal/TimeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/TimeType.java
@@@ -41,12 -46,12 +41,6 @@@ public class TimeType extends AbstractT
  }
  
  @Override
- public boolean isCompatibleWith(AbstractType previous)
 -public boolean isByteOrderComparable()
--{
- return super.isCompatibleWith(previous);
 -return true;
--}
--
--@Override
  public boolean isValueCompatibleWithInternal(AbstractType otherType)
  {
  return this == otherType || otherType == LongType.instance;



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

2016-02-03 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/35a7194e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/35a7194e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/35a7194e

Branch: refs/heads/cassandra-3.3
Commit: 35a7194e7fc0565768b079f49267b84338f903cb
Parents: c5feeda 8cb5a20
Author: Sylvain Lebresne 
Authored: Wed Feb 3 12:14:16 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 12:14:16 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/DateType.java | 5 +
 src/java/org/apache/cassandra/db/marshal/TimeType.java | 6 --
 2 files changed, 5 insertions(+), 6 deletions(-)
--




[01/10] cassandra git commit: Add comment on DateType explaining that its kept only for backward compatibility

2016-02-03 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 af2b85842 -> 3ec7d8c05
  refs/heads/cassandra-3.0 f51e98399 -> 8cb5a20c6
  refs/heads/cassandra-3.3 c5feeda6a -> 35a7194e7
  refs/heads/trunk eef0ddfab -> f1f52e7bb


Add comment on DateType explaining that its kept only for backward compatibility


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

Branch: refs/heads/cassandra-2.2
Commit: 3ec7d8c056c71b3032b1ca1d1fd07462c5091900
Parents: af2b858
Author: Sylvain Lebresne 
Authored: Wed Feb 3 12:08:13 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 12:08:13 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/DateType.java | 5 +
 src/java/org/apache/cassandra/db/marshal/TimeType.java | 6 --
 2 files changed, 5 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ec7d8c0/src/java/org/apache/cassandra/db/marshal/DateType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/DateType.java 
b/src/java/org/apache/cassandra/db/marshal/DateType.java
index 82ed876..5186ca8 100644
--- a/src/java/org/apache/cassandra/db/marshal/DateType.java
+++ b/src/java/org/apache/cassandra/db/marshal/DateType.java
@@ -31,6 +31,11 @@ import org.apache.cassandra.serializers.TimestampSerializer;
 import org.apache.cassandra.serializers.MarshalException;
 import org.apache.cassandra.utils.ByteBufferUtil;
 
+/**
+ * This is the old version of TimestampType, but has been replaced as it 
wasn't comparing pre-epoch timestamps
+ * correctly. This is kept for backward compatibility but shouldn't be used in 
new code.
+ */
+@Deprecated
 public class DateType extends AbstractType
 {
 private static final Logger logger = 
LoggerFactory.getLogger(DateType.class);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ec7d8c0/src/java/org/apache/cassandra/db/marshal/TimeType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/TimeType.java 
b/src/java/org/apache/cassandra/db/marshal/TimeType.java
index c241a38..86de574 100644
--- a/src/java/org/apache/cassandra/db/marshal/TimeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/TimeType.java
@@ -52,12 +52,6 @@ public class TimeType extends AbstractType
 }
 
 @Override
-public boolean isCompatibleWith(AbstractType previous)
-{
-return super.isCompatibleWith(previous);
-}
-
-@Override
 public boolean isValueCompatibleWithInternal(AbstractType otherType)
 {
 return this == otherType || otherType == LongType.instance;



[jira] [Commented] (CASSANDRA-11053) COPY FROM on large datasets: fix progress report and debug performance

2016-02-03 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-11053:
--

I've repeated the benchmark after performing the following:

* Moved csv decoding from parent to worker processes
* Switched to a cythonized driver installation (for cassandra-2.1 we need to 
use version 2.7.2). 

The patch is [here|https://github.com/stef1927/cassandra/tree/11053-2.1].

The set-up and raw results are in _copy_from_large_benchmark_2.txt_ attached, 
along with the new profiler results, _parent_profile_2.txt_ and 
_worker_profiles_2.txt_. The rate has increased from *35,000* to *58,000* rows 
per second for the 1KB test:

{code}cqlsh> COPY test.test1kb FROM 'DSEBulkLoadTest/in/data1KB/*.csv';
Using 7 child processes

Starting copy of test.test1kb with columns ['pkey', 'ccol', 'data'].
Processed: 2048 rows; Rate:   63987 rows/s; Avg. rate:   58749 rows/s
2048 rows imported from 20 files in 5 minutes and 48.605 seconds (0 
skipped).
{code}


The progress reporting looks much better now,  because the parent process no 
longer spends time decoding csv data and it has therefore more time to receive 
data and update the progress.

The parent process is fine, even if we optimized it further it wouldn't matter 
since it spends most of its time receiving data (289 out of 437 seconds).

The worker processes can still be improved, here is where we currently spend 
most of the time and what I am looking at improving:

{code}
ncalls  tottime  percall  cumtime  percall filename:lineno(function)
13.6063.606  432.297  432.297 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1743(run_normal)
   158538   86.2370.001  245.6290.002 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1800(send_normal_batch)
   161485   67.4010.000  167.5430.001 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1879(split_batches)
   158538   17.6030.000   84.7180.001 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1820(convert_rows)
   158538   46.3020.000   73.5770.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1874(execute_statement)
  2947000   37.4700.000   61.2770.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1918(get_replica)
  2947000   27.9780.000   60.1450.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1596(get_row_values)
  29470009.3830.000   32.2850.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1625(get_row_partition_key_values)
  8841000   21.1950.000   31.2200.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1600(convert)
  2947000   20.3280.000   21.7110.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1630(serialize)
  29470009.2200.000   20.4780.000 {filter}
 29480.0400.000   15.5130.005 
/usr/lib/python2.7/multiprocessing/queues.py:113(get)
 2948   12.7700.004   12.7700.004 {method 'recv' of 
'_multiprocessing.Connection' objects}
  8841000   11.2580.000   11.2580.000 
/data/automaton/cassandra-src/bin/../pylib/cqlshlib/copyutil.py:1925()
   1585587.5250.000   10.0340.000 
/usr/local/lib/python2.7/dist-packages/cassandra_driver-2.7.2-py2.7-linux-x86_64.egg/cassandra/io/libevreactor.py:355(push)
{code}

I note that 58,000 rows per second is an upper limit both locally against a 
single cassandra node running on the same laptop, or on an {{r3.2xlarge}} AWS 
instance running against a large cassandra cluster of 8 nodes running on 
{{i2.2xlarge}} AWS instances. So the bottleneck is still with the importer even 
after these initial improvements. The same is true for cassandra loader, it 
won't move much beyond 50,000 rows per second with the 1KB benchmark (using 
default parameters and a batch size of 8). 

{code}
time ./cassandra-loader -f DSEBulkLoadTest/in/data1KB -host 172.31.16.79 
-schema "test.test1kb(pkey,ccol,data)" -batchSize 8
[...]
Lines Processed:20480019  Rate: 50073.39608801956

real6m50.633s
user19m0.819s
sys 3m25.961s
{code}

Is this the right command [~brianmhess]?

> COPY FROM on large datasets: fix progress report and debug performance
> --
>
> Key: CASSANDRA-11053
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11053
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
> Attachments: copy_from_large_benchmark.txt, 
> copy_from_large_benchmark_2.txt, parent_profile.txt, parent_profile_2.txt, 
> worker_profiles.txt, 

[jira] [Updated] (CASSANDRA-11053) COPY FROM on large datasets: fix progress report and debug performance

2016-02-03 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-11053:
-
Attachment: (was: copy_from_large_benchmark_with_latest_results.txt)

> COPY FROM on large datasets: fix progress report and debug performance
> --
>
> Key: CASSANDRA-11053
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11053
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
> Attachments: copy_from_large_benchmark.txt, 
> copy_from_large_benchmark_2.txt, parent_profile.txt, parent_profile_2.txt, 
> worker_profiles.txt, worker_profiles_2.txt
>
>
> Running COPY from on a large dataset (20G divided in 20M records) revealed 
> two issues:
> * The progress report is incorrect, it is very slow until almost the end of 
> the test at which point it catches up extremely quickly.
> * The performance in rows per second is similar to running smaller tests with 
> a smaller cluster locally (approx 35,000 rows per second). As a comparison, 
> cassandra-stress manages 50,000 rows per second under the same set-up, 
> therefore resulting 1.5 times faster. 
> See attached file _copy_from_large_benchmark.txt_ for the benchmark details.



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


[jira] [Updated] (CASSANDRA-11053) COPY FROM on large datasets: fix progress report and debug performance

2016-02-03 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-11053:
-
Attachment: copy_from_large_benchmark_2.txt

> COPY FROM on large datasets: fix progress report and debug performance
> --
>
> Key: CASSANDRA-11053
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11053
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
> Attachments: copy_from_large_benchmark.txt, 
> copy_from_large_benchmark_2.txt, parent_profile.txt, parent_profile_2.txt, 
> worker_profiles.txt, worker_profiles_2.txt
>
>
> Running COPY from on a large dataset (20G divided in 20M records) revealed 
> two issues:
> * The progress report is incorrect, it is very slow until almost the end of 
> the test at which point it catches up extremely quickly.
> * The performance in rows per second is similar to running smaller tests with 
> a smaller cluster locally (approx 35,000 rows per second). As a comparison, 
> cassandra-stress manages 50,000 rows per second under the same set-up, 
> therefore resulting 1.5 times faster. 
> See attached file _copy_from_large_benchmark.txt_ for the benchmark details.



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


[jira] [Updated] (CASSANDRA-11053) COPY FROM on large datasets: fix progress report and debug performance

2016-02-03 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-11053:
-
Attachment: (was: copy_from_large_benchmark_2.txt)

> COPY FROM on large datasets: fix progress report and debug performance
> --
>
> Key: CASSANDRA-11053
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11053
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
> Attachments: copy_from_large_benchmark.txt, 
> copy_from_large_benchmark_2.txt, parent_profile.txt, parent_profile_2.txt, 
> worker_profiles.txt, worker_profiles_2.txt
>
>
> Running COPY from on a large dataset (20G divided in 20M records) revealed 
> two issues:
> * The progress report is incorrect, it is very slow until almost the end of 
> the test at which point it catches up extremely quickly.
> * The performance in rows per second is similar to running smaller tests with 
> a smaller cluster locally (approx 35,000 rows per second). As a comparison, 
> cassandra-stress manages 50,000 rows per second under the same set-up, 
> therefore resulting 1.5 times faster. 
> See attached file _copy_from_large_benchmark.txt_ for the benchmark details.



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


[jira] [Updated] (CASSANDRA-11053) COPY FROM on large datasets: fix progress report and debug performance

2016-02-03 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-11053:
-
Attachment: copy_from_large_benchmark_2.txt

> COPY FROM on large datasets: fix progress report and debug performance
> --
>
> Key: CASSANDRA-11053
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11053
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
> Attachments: copy_from_large_benchmark.txt, 
> copy_from_large_benchmark_2.txt, parent_profile.txt, parent_profile_2.txt, 
> worker_profiles.txt, worker_profiles_2.txt
>
>
> Running COPY from on a large dataset (20G divided in 20M records) revealed 
> two issues:
> * The progress report is incorrect, it is very slow until almost the end of 
> the test at which point it catches up extremely quickly.
> * The performance in rows per second is similar to running smaller tests with 
> a smaller cluster locally (approx 35,000 rows per second). As a comparison, 
> cassandra-stress manages 50,000 rows per second under the same set-up, 
> therefore resulting 1.5 times faster. 
> See attached file _copy_from_large_benchmark.txt_ for the benchmark details.



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


[jira] [Created] (CASSANDRA-11114) Document which type conversions are allowed

2016-02-03 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-4:


 Summary: Document which type conversions are allowed
 Key: CASSANDRA-4
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4
 Project: Cassandra
  Issue Type: Improvement
  Components: CQL, Documentation and Website
Reporter: Sylvain Lebresne
Priority: Minor


We allow only some type conversion through {{ALTER TABLE}} and type casts, the 
ones that don't break stuff, but we don't currently document which ones those 
are. We should add it to http://cassandra.apache.org/doc/cql3/CQL-3.0.html.



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


[jira] [Updated] (CASSANDRA-11094) Upgrade from 1.1.0 to 1.2.19 - loss of data - convertFromDiskFormat exception

2016-02-03 Thread JIRA

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

Hervé Toulan updated CASSANDRA-11094:
-
Since Version: 1.2.19

> Upgrade from 1.1.0 to 1.2.19 - loss of data - convertFromDiskFormat exception
> -
>
> Key: CASSANDRA-11094
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11094
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Distributed Metadata
> Environment: Red Hat Enterprise Linux ES release 4 (Nahant Update 8) 
> 32 bits
> JVM 1.6.0_20
> Previous Cassandra version  0.6.12, 1.1.0
>Reporter: Hervé Toulan
> Attachments: systemN1-1.log, systemN1-2.log
>
>
> We have lost data in (at least) one column family after the upgrade from 
> Cassandra 1.1 to 1.2.19.
> The ring is composed by 2 nodes (N1-1 N1-2)
> We upgraded first N1-1 (N1-2 still alive during upgrade)
> N1-1 upgraded (N1-2 still alive - gossip restarted now)
> We upgraded then N1-2 (N1-1 still alive during upgrade)
> I don't see any errors in N1-1 upgrade logs,
> I see error 50 minutes after the upgrade on the colum family where we thiink 
> we've lost data.
> Find in attachment the system.logs of the 2 nodes.
> Upgrade has been started the  2016-01-11 22:57:01,327 for N1-1
> Upgrade has been started the  2016-01-11 23:16:34,177 for N2-1
> The column family incriminated is 
> /opt/Alcatel/database/data/BNPPFortis/VoiceMail/
> Thanks for your support.
> Hervé



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


[jira] [Assigned] (CASSANDRA-11043) Secondary indexes doesn't properly validate custom expressions

2016-02-03 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe reassigned CASSANDRA-11043:
---

Assignee: Sam Tunnicliffe

> Secondary indexes doesn't properly validate custom expressions
> --
>
> Key: CASSANDRA-11043
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11043
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL, Local Write-Read Paths
>Reporter: Andrés de la Peña
>Assignee: Sam Tunnicliffe
>  Labels: 21, index, validation
> Attachments: test-index.zip
>
>
> It seems that 
> [CASSANDRA-7575|https://issues.apache.org/jira/browse/CASSANDRA-7575] is 
> broken in Cassandra 3.x. As stated in the secondary indexes' API 
> documentation, custom index implementations should perform any validation of 
> query expressions at {{Index#searcherFor(ReadCommand)}}, throwing an 
> {{InvalidRequestException}} if the expressions are not valid. I assume these 
> validation errors should produce an {{InvalidRequest}} error on cqlsh, or 
> raise an {{InvalidQueryException}} on Java driver. However, when 
> {{Index#searcherFor(ReadCommand)}} throws its {{InvalidRequestException}}, I 
> get this cqlsh output:
> {noformat}
> Traceback (most recent call last):
>   File "bin/cqlsh.py", line 1246, in perform_simple_statement
> result = future.result()
>   File 
> "/Users/adelapena/stratio/platform/src/cassandra-3.2.1/bin/../lib/cassandra-driver-internal-only-3.0.0-6af642d.zip/cassandra-driver-3.0.0-6af642d/cassandra/cluster.py",
>  line 3122, in result
> raise self._final_exception
> ReadFailure: code=1300 [Replica(s) failed to execute read] message="Operation 
> failed - received 0 responses and 1 failures" info={'failures': 1, 
> 'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'}
> {noformat}
> I attach a dummy index implementation to reproduce the error:
> {noformat}
> CREATE KEYSPACE test with replication = {'class' : 'SimpleStrategy', 
> 'replication_factor' : '1' }; 
> CREATE TABLE test.test (id int PRIMARY KEY, value varchar); 
> CREATE CUSTOM INDEX test_index ON test.test() USING 'com.stratio.TestIndex'; 
> SELECT * FROM test.test WHERE expr(test_index,'ok');
> SELECT * FROM test.test WHERE expr(test_index,'error');
> {noformat}
> This is specially problematic when using Cassandra Java Driver, because one 
> of these server exceptions can produce subsequent queries fail (even if they 
> are valid) with a no host available exception.
> Maybe the validation method added with 
> [CASSANDRA-7575|https://issues.apache.org/jira/browse/CASSANDRA-7575] should 
> be restored, unless there is a way to properly manage the exception.



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


[03/10] cassandra git commit: Add comment on DateType explaining that its kept only for backward compatibility

2016-02-03 Thread slebresne
Add comment on DateType explaining that its kept only for backward compatibility


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

Branch: refs/heads/cassandra-3.3
Commit: 3ec7d8c056c71b3032b1ca1d1fd07462c5091900
Parents: af2b858
Author: Sylvain Lebresne 
Authored: Wed Feb 3 12:08:13 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 12:08:13 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/DateType.java | 5 +
 src/java/org/apache/cassandra/db/marshal/TimeType.java | 6 --
 2 files changed, 5 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ec7d8c0/src/java/org/apache/cassandra/db/marshal/DateType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/DateType.java 
b/src/java/org/apache/cassandra/db/marshal/DateType.java
index 82ed876..5186ca8 100644
--- a/src/java/org/apache/cassandra/db/marshal/DateType.java
+++ b/src/java/org/apache/cassandra/db/marshal/DateType.java
@@ -31,6 +31,11 @@ import org.apache.cassandra.serializers.TimestampSerializer;
 import org.apache.cassandra.serializers.MarshalException;
 import org.apache.cassandra.utils.ByteBufferUtil;
 
+/**
+ * This is the old version of TimestampType, but has been replaced as it 
wasn't comparing pre-epoch timestamps
+ * correctly. This is kept for backward compatibility but shouldn't be used in 
new code.
+ */
+@Deprecated
 public class DateType extends AbstractType
 {
 private static final Logger logger = 
LoggerFactory.getLogger(DateType.class);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ec7d8c0/src/java/org/apache/cassandra/db/marshal/TimeType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/TimeType.java 
b/src/java/org/apache/cassandra/db/marshal/TimeType.java
index c241a38..86de574 100644
--- a/src/java/org/apache/cassandra/db/marshal/TimeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/TimeType.java
@@ -52,12 +52,6 @@ public class TimeType extends AbstractType
 }
 
 @Override
-public boolean isCompatibleWith(AbstractType previous)
-{
-return super.isCompatibleWith(previous);
-}
-
-@Override
 public boolean isValueCompatibleWithInternal(AbstractType otherType)
 {
 return this == otherType || otherType == LongType.instance;



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

2016-02-03 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/8cb5a20c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8cb5a20c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8cb5a20c

Branch: refs/heads/cassandra-3.3
Commit: 8cb5a20c6f55723eb6e05e75d54230751c340db6
Parents: f51e983 3ec7d8c
Author: Sylvain Lebresne 
Authored: Wed Feb 3 12:09:37 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 12:09:37 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/DateType.java | 5 +
 src/java/org/apache/cassandra/db/marshal/TimeType.java | 6 --
 2 files changed, 5 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cb5a20c/src/java/org/apache/cassandra/db/marshal/DateType.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cb5a20c/src/java/org/apache/cassandra/db/marshal/TimeType.java
--
diff --cc src/java/org/apache/cassandra/db/marshal/TimeType.java
index 780b020,86de574..8cd221e
--- a/src/java/org/apache/cassandra/db/marshal/TimeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/TimeType.java
@@@ -41,12 -46,12 +41,6 @@@ public class TimeType extends AbstractT
  }
  
  @Override
- public boolean isCompatibleWith(AbstractType previous)
 -public boolean isByteOrderComparable()
--{
- return super.isCompatibleWith(previous);
 -return true;
--}
--
--@Override
  public boolean isValueCompatibleWithInternal(AbstractType otherType)
  {
  return this == otherType || otherType == LongType.instance;



[03/10] cassandra git commit: Remove unecessary override

2016-02-03 Thread slebresne
Remove unecessary override


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

Branch: refs/heads/cassandra-3.3
Commit: 577accd879001186fac830c3e2aa56a1a418358e
Parents: 3ec7d8c
Author: Sylvain Lebresne 
Authored: Wed Feb 3 14:24:33 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 14:24:33 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/SimpleDateType.java | 6 --
 1 file changed, 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/577accd8/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java 
b/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
index 6e435ee..cae9707 100644
--- a/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
+++ b/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
@@ -61,12 +61,6 @@ public class SimpleDateType extends AbstractType
 }
 
 @Override
-public boolean isCompatibleWith(AbstractType previous)
-{
-return super.isCompatibleWith(previous);
-}
-
-@Override
 public boolean isValueCompatibleWithInternal(AbstractType otherType)
 {
 return this == otherType || otherType == Int32Type.instance;



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

2016-02-03 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/20813858
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/20813858
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/20813858

Branch: refs/heads/cassandra-3.0
Commit: 20813858297b375e1e3f7f4b09dcba2756f9c58f
Parents: cb21f28 577accd
Author: Sylvain Lebresne 
Authored: Wed Feb 3 14:24:54 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 14:24:54 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/SimpleDateType.java | 6 --
 1 file changed, 6 deletions(-)
--


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



[01/10] cassandra git commit: Remove unecessary override

2016-02-03 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 3ec7d8c05 -> 577accd87
  refs/heads/cassandra-3.0 cb21f28ec -> 208138582
  refs/heads/cassandra-3.3 d91583469 -> d7bea0091
  refs/heads/trunk 00fdaf22b -> 44a5abc35


Remove unecessary override


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

Branch: refs/heads/cassandra-2.2
Commit: 577accd879001186fac830c3e2aa56a1a418358e
Parents: 3ec7d8c
Author: Sylvain Lebresne 
Authored: Wed Feb 3 14:24:33 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 14:24:33 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/SimpleDateType.java | 6 --
 1 file changed, 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/577accd8/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java 
b/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
index 6e435ee..cae9707 100644
--- a/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
+++ b/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
@@ -61,12 +61,6 @@ public class SimpleDateType extends AbstractType
 }
 
 @Override
-public boolean isCompatibleWith(AbstractType previous)
-{
-return super.isCompatibleWith(previous);
-}
-
-@Override
 public boolean isValueCompatibleWithInternal(AbstractType otherType)
 {
 return this == otherType || otherType == Int32Type.instance;



[04/10] cassandra git commit: Remove unecessary override

2016-02-03 Thread slebresne
Remove unecessary override


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

Branch: refs/heads/trunk
Commit: 577accd879001186fac830c3e2aa56a1a418358e
Parents: 3ec7d8c
Author: Sylvain Lebresne 
Authored: Wed Feb 3 14:24:33 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 14:24:33 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/SimpleDateType.java | 6 --
 1 file changed, 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/577accd8/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java 
b/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
index 6e435ee..cae9707 100644
--- a/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
+++ b/src/java/org/apache/cassandra/db/marshal/SimpleDateType.java
@@ -61,12 +61,6 @@ public class SimpleDateType extends AbstractType
 }
 
 @Override
-public boolean isCompatibleWith(AbstractType previous)
-{
-return super.isCompatibleWith(previous);
-}
-
-@Override
 public boolean isValueCompatibleWithInternal(AbstractType otherType)
 {
 return this == otherType || otherType == Int32Type.instance;



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

2016-02-03 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/20813858
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/20813858
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/20813858

Branch: refs/heads/trunk
Commit: 20813858297b375e1e3f7f4b09dcba2756f9c58f
Parents: cb21f28 577accd
Author: Sylvain Lebresne 
Authored: Wed Feb 3 14:24:54 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 3 14:24:54 2016 +0100

--
 src/java/org/apache/cassandra/db/marshal/SimpleDateType.java | 6 --
 1 file changed, 6 deletions(-)
--


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



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

2016-02-03 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-10779:


Agreed the test is a non-issue +1

> 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: Carl Yeksigian
> Fix For: 3.0.3, 3.3
>
>
> 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] [Resolved] (CASSANDRA-10779) Mutations do not block for completion under view lock contention

2016-02-03 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian resolved CASSANDRA-10779.

Resolution: Fixed

Committed as 
[c4d83f1|https://git1-us-west.apache.org/repos/asf?p=cassandra.git;a=commit;h=c4d83f1ba31735963b451beb38a553c92145d5d4].

> 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: Carl Yeksigian
> Fix For: 3.0.3, 3.3
>
>
> 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: 3.0.3 release versions

2016-02-03 Thread jake
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 c4d83f1ba -> 21380fc12


3.0.3 release versions


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

Branch: refs/heads/cassandra-3.0
Commit: 21380fc129c91bb17d27aa02378699e9d94a7ab6
Parents: c4d83f1
Author: T Jake Luciani 
Authored: Wed Feb 3 08:56:26 2016 -0500
Committer: T Jake Luciani 
Committed: Wed Feb 3 08:56:26 2016 -0500

--
 build.xml| 2 +-
 debian/changelog | 6 ++
 2 files changed, 7 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/21380fc1/build.xml
--
diff --git a/build.xml b/build.xml
index 9e8c135..f9ff00d 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/21380fc1/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index f1232ab..0f3a46c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (3.0.3) unstable; urgency=medium
+
+  * New release 
+
+ -- Jake Luciani   Wed, 03 Feb 2016 08:54:57 -0500
+
 cassandra (3.0.1) unstable; urgency=medium
 
   * New release



[jira] [Commented] (CASSANDRA-11027) Duplicate column familiy initialization

2016-02-03 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11027:
---

LGTM, though fix the comment on commit ("Make sure the keyspace is initialized 
and initialize the table." to remove the table part).

> Duplicate column familiy initialization
> ---
>
> Key: CASSANDRA-11027
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11027
> Project: Cassandra
>  Issue Type: Bug
>  Components: Distributed Metadata
>Reporter: Sergio Bossa
>Assignee: Sam Tunnicliffe
> Fix For: 3.0.x, 3.x
>
>
> Schema#addTable initializes the column family twice, as can be seen in: 
> https://github.com/apache/cassandra/blob/cassandra-3.0/src/java/org/apache/cassandra/config/Schema.java#L605
> This doesn't seem to be right, with the second one probably being the one to 
> keep to avoid race conditions with looking up the cf from the schema (as 
> originally intended by CASSANDRA-10761?).



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


[jira] [Reopened] (CASSANDRA-11107) rpc_address is required for native protocol

2016-02-03 Thread n0rad (JIRA)

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

n0rad reopened CASSANDRA-11107:
---
Reproduced In: 3.0.2, 2.2.4  (was: 2.2.4, 3.0.2)

The problem is that I want to start the native protocol, but not the RPC.

But the native protocol depend on rpc configuration which is not logic

> rpc_address is required for native protocol
> ---
>
> Key: CASSANDRA-11107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Configuration
>Reporter: n0rad
>Priority: Minor
>
> I'm starting cassandra on a container with this /etc/hosts
> {quote}
> 127.0.0.1rkt-235c219a-f0dc-4958-9e03-5afe2581bbe1 localhost
> ::1  rkt-235c219a-f0dc-4958-9e03-5afe2581bbe1 localhost
> {quote}
> I have the default configuration except :
> {quote}
>  - seeds: "10.1.1.1"
> listen_address : 10.1.1.1
> {quote}
> cassandra will start listening on *127.0.0.1:9042*
> if I set *rpc_address:10.1.1.1* , even if *start_rpc: false*, cassandra will 
> listen on 10.1.1.1
> Since rpc is not started, I assumed that *rpc_address* and 
> *broadcast_rpc_address* will be ignored
> It took me a while to figure that. There may be something to do around this



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


[jira] [Updated] (CASSANDRA-11107) Add {{native_transport_address}} and {{native_transport_broadcast_address}} yaml options

2016-02-03 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-11107:
-
Summary: Add {{native_transport_address}} and 
{{native_transport_broadcast_address}} yaml options  (was: rpc_address is 
required for native protocol)

> Add {{native_transport_address}} and {{native_transport_broadcast_address}} 
> yaml options
> 
>
> Key: CASSANDRA-11107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Configuration
>Reporter: n0rad
>Priority: Minor
>
> I'm starting cassandra on a container with this /etc/hosts
> {quote}
> 127.0.0.1rkt-235c219a-f0dc-4958-9e03-5afe2581bbe1 localhost
> ::1  rkt-235c219a-f0dc-4958-9e03-5afe2581bbe1 localhost
> {quote}
> I have the default configuration except :
> {quote}
>  - seeds: "10.1.1.1"
> listen_address : 10.1.1.1
> {quote}
> cassandra will start listening on *127.0.0.1:9042*
> if I set *rpc_address:10.1.1.1* , even if *start_rpc: false*, cassandra will 
> listen on 10.1.1.1
> Since rpc is not started, I assumed that *rpc_address* and 
> *broadcast_rpc_address* will be ignored
> It took me a while to figure that. There may be something to do around this



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


[jira] [Updated] (CASSANDRA-11107) Add native_transport_address and native_transport_broadcast_address yaml options

2016-02-03 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-11107:
-
Issue Type: Improvement  (was: Bug)

> Add native_transport_address and native_transport_broadcast_address yaml 
> options
> 
>
> Key: CASSANDRA-11107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11107
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Configuration
>Reporter: n0rad
>Priority: Minor
>
> I'm starting cassandra on a container with this /etc/hosts
> {quote}
> 127.0.0.1rkt-235c219a-f0dc-4958-9e03-5afe2581bbe1 localhost
> ::1  rkt-235c219a-f0dc-4958-9e03-5afe2581bbe1 localhost
> {quote}
> I have the default configuration except :
> {quote}
>  - seeds: "10.1.1.1"
> listen_address : 10.1.1.1
> {quote}
> cassandra will start listening on *127.0.0.1:9042*
> if I set *rpc_address:10.1.1.1* , even if *start_rpc: false*, cassandra will 
> listen on 10.1.1.1
> Since rpc is not started, I assumed that *rpc_address* and 
> *broadcast_rpc_address* will be ignored
> It took me a while to figure that. There may be something to do around this



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


[jira] [Updated] (CASSANDRA-11107) Add native_transport_address and native_transport_broadcast_address yaml options

2016-02-03 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-11107:
-
Summary: Add native_transport_address and 
native_transport_broadcast_address yaml options  (was: Add 
{{native_transport_address}} and {{native_transport_broadcast_address}} yaml 
options)

> Add native_transport_address and native_transport_broadcast_address yaml 
> options
> 
>
> Key: CASSANDRA-11107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Configuration
>Reporter: n0rad
>Priority: Minor
>
> I'm starting cassandra on a container with this /etc/hosts
> {quote}
> 127.0.0.1rkt-235c219a-f0dc-4958-9e03-5afe2581bbe1 localhost
> ::1  rkt-235c219a-f0dc-4958-9e03-5afe2581bbe1 localhost
> {quote}
> I have the default configuration except :
> {quote}
>  - seeds: "10.1.1.1"
> listen_address : 10.1.1.1
> {quote}
> cassandra will start listening on *127.0.0.1:9042*
> if I set *rpc_address:10.1.1.1* , even if *start_rpc: false*, cassandra will 
> listen on 10.1.1.1
> Since rpc is not started, I assumed that *rpc_address* and 
> *broadcast_rpc_address* will be ignored
> It took me a while to figure that. There may be something to do around this



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


[jira] [Commented] (CASSANDRA-11107) rpc_address is required for native protocol

2016-02-03 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-11107:
--

It's certainly not a bug as this is well documented in the yaml (look at both 
the comment on {{rpc_address}} and the one on {{start_native_transport}}). Or 
to put it another way, you might find the naming confusing, but {{rpc_address}} 
is both a configuration for the thrift RPC and the native protocol server.

That said, with the thrift deprecation coming in 4.0 (and so the removal of 
thrift rpc related options), it's probably worth transitioning to specific 
{{native_transport_address}} and {{native_transport_broadcast_address}}, which 
could default to the {{rpc_*}} ones if unset in 3.0 for backward compatibility. 
 That's a minor improvement however so I'll update the description and type of 
this ticket.


> rpc_address is required for native protocol
> ---
>
> Key: CASSANDRA-11107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Configuration
>Reporter: n0rad
>Priority: Minor
>
> I'm starting cassandra on a container with this /etc/hosts
> {quote}
> 127.0.0.1rkt-235c219a-f0dc-4958-9e03-5afe2581bbe1 localhost
> ::1  rkt-235c219a-f0dc-4958-9e03-5afe2581bbe1 localhost
> {quote}
> I have the default configuration except :
> {quote}
>  - seeds: "10.1.1.1"
> listen_address : 10.1.1.1
> {quote}
> cassandra will start listening on *127.0.0.1:9042*
> if I set *rpc_address:10.1.1.1* , even if *start_rpc: false*, cassandra will 
> listen on 10.1.1.1
> Since rpc is not started, I assumed that *rpc_address* and 
> *broadcast_rpc_address* will be ignored
> It took me a while to figure that. There may be something to do around this



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


[jira] [Updated] (CASSANDRA-11106) Experiment with strategies for picking compaction candidates in LCS

2016-02-03 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson updated CASSANDRA-11106:

Fix Version/s: 3.x

> Experiment with strategies for picking compaction candidates in LCS
> ---
>
> Key: CASSANDRA-11106
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11106
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Marcus Eriksson
>  Labels: lcs
> Fix For: 3.x
>
>
> Ideas taken here: http://rocksdb.org/blog/2921/compaction_pri/
> Current strategy in LCS is that we keep track of the token that was last 
> compacted and then we start a compaction with the sstable containing the next 
> token (kOldestSmallestSeqFirst in the blog post above)
> The rocksdb blog post above introduces a few ideas how this could be improved:
> * pick the 'coldest' sstable (sstable with the oldest max timestamp) - we 
> want to keep the hot data (recently updated) in the lower levels to avoid 
> write amplification
> * pick the sstable with the highest tombstone ratio, we want to get 
> tombstones to the top level as quickly as possible.



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


[3/6] cassandra git commit: Avoid double initialization of metadata for new tables

2016-02-03 Thread samt
Avoid double initialization of metadata for new tables

Patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-11027


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

Branch: refs/heads/trunk
Commit: cb21f28ecadceaac78aba1c2de4670afc2c38daa
Parents: 8cb5a20
Author: Sam Tunnicliffe 
Authored: Wed Jan 20 10:07:10 2016 +
Committer: Sam Tunnicliffe 
Committed: Wed Feb 3 12:00:59 2016 +

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb21f28e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index ef0da4c..6e313c3 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.3
+ * Remove double initialization of newly added tables (CASSANDRA-11027)
  * Filter keys searcher results by target range (CASSANDRA-11104)
  * Fix deserialization of legacy read commands (CASSANDRA-11087)
  * Fix incorrect computation of deletion time in sstable metadata 
(CASSANDRA-11102)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb21f28e/src/java/org/apache/cassandra/config/Schema.java
--
diff --git a/src/java/org/apache/cassandra/config/Schema.java 
b/src/java/org/apache/cassandra/config/Schema.java
index cf3f569..7ffa89e 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -606,8 +606,8 @@ public class Schema
 {
 assert getCFMetaData(cfm.ksName, cfm.cfName) == null;
 
-// Make sure the keyspace is initialized and initialize the table.
-Keyspace.open(cfm.ksName).initCf(cfm, true);
+// Make sure the keyspace is initialized
+Keyspace.open(cfm.ksName);
 // Update the keyspaces map with the updated metadata
 update(cfm.ksName, ks -> ks.withSwapped(ks.tables.with(cfm)));
 // Update the table ID <-> table name map (cfIdMap)



[1/6] cassandra git commit: Avoid double initialization of metadata for new tables

2016-02-03 Thread samt
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 8cb5a20c6 -> cb21f28ec
  refs/heads/cassandra-3.3 35a7194e7 -> d91583469
  refs/heads/trunk f1f52e7bb -> 00fdaf22b


Avoid double initialization of metadata for new tables

Patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-11027


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

Branch: refs/heads/cassandra-3.0
Commit: cb21f28ecadceaac78aba1c2de4670afc2c38daa
Parents: 8cb5a20
Author: Sam Tunnicliffe 
Authored: Wed Jan 20 10:07:10 2016 +
Committer: Sam Tunnicliffe 
Committed: Wed Feb 3 12:00:59 2016 +

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb21f28e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index ef0da4c..6e313c3 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.3
+ * Remove double initialization of newly added tables (CASSANDRA-11027)
  * Filter keys searcher results by target range (CASSANDRA-11104)
  * Fix deserialization of legacy read commands (CASSANDRA-11087)
  * Fix incorrect computation of deletion time in sstable metadata 
(CASSANDRA-11102)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb21f28e/src/java/org/apache/cassandra/config/Schema.java
--
diff --git a/src/java/org/apache/cassandra/config/Schema.java 
b/src/java/org/apache/cassandra/config/Schema.java
index cf3f569..7ffa89e 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -606,8 +606,8 @@ public class Schema
 {
 assert getCFMetaData(cfm.ksName, cfm.cfName) == null;
 
-// Make sure the keyspace is initialized and initialize the table.
-Keyspace.open(cfm.ksName).initCf(cfm, true);
+// Make sure the keyspace is initialized
+Keyspace.open(cfm.ksName);
 // Update the keyspaces map with the updated metadata
 update(cfm.ksName, ks -> ks.withSwapped(ks.tables.with(cfm)));
 // Update the table ID <-> table name map (cfIdMap)



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

2016-02-03 Thread samt
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/00fdaf22
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/00fdaf22
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/00fdaf22

Branch: refs/heads/trunk
Commit: 00fdaf22b019fbef62999a8b575d663b01b3498c
Parents: f1f52e7 d915834
Author: Sam Tunnicliffe 
Authored: Wed Feb 3 12:08:50 2016 +
Committer: Sam Tunnicliffe 
Committed: Wed Feb 3 12:08:50 2016 +

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


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



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

2016-02-03 Thread samt
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/d9158346
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d9158346
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d9158346

Branch: refs/heads/trunk
Commit: d9158346943a8728d1457ca0eb015d92cfc2fa13
Parents: 35a7194 cb21f28
Author: Sam Tunnicliffe 
Authored: Wed Feb 3 12:03:52 2016 +
Committer: Sam Tunnicliffe 
Committed: Wed Feb 3 12:03:52 2016 +

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d9158346/CHANGES.txt
--
diff --cc CHANGES.txt
index 5119626,6e313c3..2b67b90
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,8 -1,5 +1,9 @@@
 -3.0.3
 +3.3
 + * Avoid infinite loop if owned range is smaller than number of
 +   data dirs (CASSANDRA-11034)
 + * Avoid bootstrap hanging when existing nodes have no data to stream 
(CASSANDRA-11010)
 +Merged from 3.0:
+  * Remove double initialization of newly added tables (CASSANDRA-11027)
   * Filter keys searcher results by target range (CASSANDRA-11104)
   * Fix deserialization of legacy read commands (CASSANDRA-11087)
   * Fix incorrect computation of deletion time in sstable metadata 
(CASSANDRA-11102)



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

2016-02-03 Thread samt
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/d9158346
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d9158346
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d9158346

Branch: refs/heads/cassandra-3.3
Commit: d9158346943a8728d1457ca0eb015d92cfc2fa13
Parents: 35a7194 cb21f28
Author: Sam Tunnicliffe 
Authored: Wed Feb 3 12:03:52 2016 +
Committer: Sam Tunnicliffe 
Committed: Wed Feb 3 12:03:52 2016 +

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d9158346/CHANGES.txt
--
diff --cc CHANGES.txt
index 5119626,6e313c3..2b67b90
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,8 -1,5 +1,9 @@@
 -3.0.3
 +3.3
 + * Avoid infinite loop if owned range is smaller than number of
 +   data dirs (CASSANDRA-11034)
 + * Avoid bootstrap hanging when existing nodes have no data to stream 
(CASSANDRA-11010)
 +Merged from 3.0:
+  * Remove double initialization of newly added tables (CASSANDRA-11027)
   * Filter keys searcher results by target range (CASSANDRA-11104)
   * Fix deserialization of legacy read commands (CASSANDRA-11087)
   * Fix incorrect computation of deletion time in sstable metadata 
(CASSANDRA-11102)



[2/6] cassandra git commit: Avoid double initialization of metadata for new tables

2016-02-03 Thread samt
Avoid double initialization of metadata for new tables

Patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-11027


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

Branch: refs/heads/cassandra-3.3
Commit: cb21f28ecadceaac78aba1c2de4670afc2c38daa
Parents: 8cb5a20
Author: Sam Tunnicliffe 
Authored: Wed Jan 20 10:07:10 2016 +
Committer: Sam Tunnicliffe 
Committed: Wed Feb 3 12:00:59 2016 +

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb21f28e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index ef0da4c..6e313c3 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.3
+ * Remove double initialization of newly added tables (CASSANDRA-11027)
  * Filter keys searcher results by target range (CASSANDRA-11104)
  * Fix deserialization of legacy read commands (CASSANDRA-11087)
  * Fix incorrect computation of deletion time in sstable metadata 
(CASSANDRA-11102)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb21f28e/src/java/org/apache/cassandra/config/Schema.java
--
diff --git a/src/java/org/apache/cassandra/config/Schema.java 
b/src/java/org/apache/cassandra/config/Schema.java
index cf3f569..7ffa89e 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -606,8 +606,8 @@ public class Schema
 {
 assert getCFMetaData(cfm.ksName, cfm.cfName) == null;
 
-// Make sure the keyspace is initialized and initialize the table.
-Keyspace.open(cfm.ksName).initCf(cfm, true);
+// Make sure the keyspace is initialized
+Keyspace.open(cfm.ksName);
 // Update the keyspaces map with the updated metadata
 update(cfm.ksName, ks -> ks.withSwapped(ks.tables.with(cfm)));
 // Update the table ID <-> table name map (cfIdMap)



[jira] [Commented] (CASSANDRA-10721) Altering a UDT might break UDA deserialisation

2016-02-03 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-10721:
--

Moved the {{referencesUserType}} function to {{AbstractType}}. This is now 
effectively a refactoring of the (replaced) {{references}} function to 
specifically check the user-type's name. Kicked off the CI tests for 3.0 and 
trunk (nothing special in 3.3 and trunk however - just a merge w/o conflicts).
Can you take a look at the latest changes ([complete 3.0 diff is 
here|https://github.com/apache/cassandra/compare/20813858297b375e1e3f7f4b09dcba2756f9c58f...snazy:10721-udt-alter-3.0])?

> Altering a UDT might break UDA deserialisation
> --
>
> Key: CASSANDRA-10721
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10721
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL, Distributed Metadata
>Reporter: Aleksey Yeschenko
>Assignee: Robert Stupp
> Fix For: 3.0.x
>
>
> CASSANDRA-10650 switched UDA's {{initcond}} serialisation in schema to its 
> CQL literal. This means that if any particular field is renamed in the UDT, 
> or of its type gets changes, we will not be able to parse initcond back.
> We should either:
> 1) Forbid renames and type switches in UDTs that are being used in UDAs, or
> 2) Make sure we alter the UDAs in schema alongside the new UDT at all times



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


[jira] [Updated] (CASSANDRA-6216) Level Compaction should persist last compacted key per level

2016-02-03 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson updated CASSANDRA-6216:
---
Issue Type: Sub-task  (was: Improvement)
Parent: CASSANDRA-11106

> Level Compaction should persist last compacted key per level
> 
>
> Key: CASSANDRA-6216
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6216
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: sankalp kohli
>Assignee: sankalp kohli
>Priority: Minor
>  Labels: compaction
> Attachments: JIRA-6216.diff
>
>
> Level compaction does not persist the last compacted key per level. This is 
> important for higher levels. 
> The sstables with higher token and in higher levels wont get a chance to 
> compact as the last compacted key will get reset after a restart.



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


[jira] [Commented] (CASSANDRA-11106) Experiment with strategies for picking compaction candidates in LCS

2016-02-03 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson commented on CASSANDRA-11106:
-

[~kohlisankalp] true, converted it to a subtask of this since we are touching 
those parts here

> Experiment with strategies for picking compaction candidates in LCS
> ---
>
> Key: CASSANDRA-11106
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11106
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Marcus Eriksson
>  Labels: lcs
>
> Ideas taken here: http://rocksdb.org/blog/2921/compaction_pri/
> Current strategy in LCS is that we keep track of the token that was last 
> compacted and then we start a compaction with the sstable containing the next 
> token (kOldestSmallestSeqFirst in the blog post above)
> The rocksdb blog post above introduces a few ideas how this could be improved:
> * pick the 'coldest' sstable (sstable with the oldest max timestamp) - we 
> want to keep the hot data (recently updated) in the lower levels to avoid 
> write amplification
> * pick the sstable with the highest tombstone ratio, we want to get 
> tombstones to the top level as quickly as possible.



--
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-02-03 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian commented on CASSANDRA-10779:


The test runs look good. I've opened a PR for the 
[dtest|https://github.com/riptano/cassandra-dtest/pull/782] to ignore that 
error; the test itself completed successfully.

> 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: Carl Yeksigian
> Fix For: 3.0.3, 3.3
>
>
> 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)


[3/6] cassandra git commit: Fix Mutation.applyUnsafe to block

2016-02-03 Thread carl
Fix Mutation.applyUnsafe to block

Patch by Carl Yeksigian; reviewed by Jake Luciani for CASSANDRA-10779


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

Branch: refs/heads/trunk
Commit: c4d83f1ba31735963b451beb38a553c92145d5d4
Parents: 2081385
Author: Carl Yeksigian 
Authored: Wed Feb 3 08:33:31 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 08:33:31 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java | 27 -
 1 file changed, 16 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d83f1b/src/java/org/apache/cassandra/db/Mutation.java
--
diff --git a/src/java/org/apache/cassandra/db/Mutation.java 
b/src/java/org/apache/cassandra/db/Mutation.java
index 6b4c8e9..1ba3740 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -198,21 +198,22 @@ public class Mutation implements IMutation
 return new Mutation(ks, key, modifications);
 }
 
-public CompletableFuture applyFuture()
+private CompletableFuture applyFuture(boolean durableWrites)
 {
 Keyspace ks = Keyspace.open(keyspaceName);
-return ks.apply(this, ks.getMetadata().params.durableWrites);
+return ks.apply(this, durableWrites);
 }
 
-/*
- * This is equivalent to calling commit. Applies the changes to
- * to the keyspace that is obtained by calling Keyspace.open().
- */
-public void apply()
+public CompletableFuture applyFuture()
+{
+return 
applyFuture(Keyspace.open(keyspaceName).getMetadata().params.durableWrites);
+}
+
+public void apply(boolean durableWrites)
 {
 try
 {
-Uninterruptibles.getUninterruptibly(applyFuture());
+Uninterruptibles.getUninterruptibly(applyFuture(durableWrites));
 }
 catch (ExecutionException e)
 {
@@ -220,14 +221,18 @@ public class Mutation implements IMutation
 }
 }
 
-public void apply(boolean durableWrites)
+/*
+ * This is equivalent to calling commit. Applies the changes to
+ * to the keyspace that is obtained by calling Keyspace.open().
+ */
+public void apply()
 {
-Keyspace.open(keyspaceName).apply(this, durableWrites);
+apply(Keyspace.open(keyspaceName).getMetadata().params.durableWrites);
 }
 
 public void applyUnsafe()
 {
-Keyspace.open(keyspaceName).apply(this, false);
+apply(false);
 }
 
 public MessageOut createMessage()



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

2016-02-03 Thread carl
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/233e785b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/233e785b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/233e785b

Branch: refs/heads/trunk
Commit: 233e785bdf1a0b75d36e3fec4ed10256f12eca04
Parents: d7bea00 c4d83f1
Author: Carl Yeksigian 
Authored: Wed Feb 3 08:34:14 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 08:34:14 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java | 27 -
 1 file changed, 16 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/233e785b/src/java/org/apache/cassandra/db/Mutation.java
--



[2/6] cassandra git commit: Fix Mutation.applyUnsafe to block

2016-02-03 Thread carl
Fix Mutation.applyUnsafe to block

Patch by Carl Yeksigian; reviewed by Jake Luciani for CASSANDRA-10779


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

Branch: refs/heads/cassandra-3.3
Commit: c4d83f1ba31735963b451beb38a553c92145d5d4
Parents: 2081385
Author: Carl Yeksigian 
Authored: Wed Feb 3 08:33:31 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 08:33:31 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java | 27 -
 1 file changed, 16 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d83f1b/src/java/org/apache/cassandra/db/Mutation.java
--
diff --git a/src/java/org/apache/cassandra/db/Mutation.java 
b/src/java/org/apache/cassandra/db/Mutation.java
index 6b4c8e9..1ba3740 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -198,21 +198,22 @@ public class Mutation implements IMutation
 return new Mutation(ks, key, modifications);
 }
 
-public CompletableFuture applyFuture()
+private CompletableFuture applyFuture(boolean durableWrites)
 {
 Keyspace ks = Keyspace.open(keyspaceName);
-return ks.apply(this, ks.getMetadata().params.durableWrites);
+return ks.apply(this, durableWrites);
 }
 
-/*
- * This is equivalent to calling commit. Applies the changes to
- * to the keyspace that is obtained by calling Keyspace.open().
- */
-public void apply()
+public CompletableFuture applyFuture()
+{
+return 
applyFuture(Keyspace.open(keyspaceName).getMetadata().params.durableWrites);
+}
+
+public void apply(boolean durableWrites)
 {
 try
 {
-Uninterruptibles.getUninterruptibly(applyFuture());
+Uninterruptibles.getUninterruptibly(applyFuture(durableWrites));
 }
 catch (ExecutionException e)
 {
@@ -220,14 +221,18 @@ public class Mutation implements IMutation
 }
 }
 
-public void apply(boolean durableWrites)
+/*
+ * This is equivalent to calling commit. Applies the changes to
+ * to the keyspace that is obtained by calling Keyspace.open().
+ */
+public void apply()
 {
-Keyspace.open(keyspaceName).apply(this, durableWrites);
+apply(Keyspace.open(keyspaceName).getMetadata().params.durableWrites);
 }
 
 public void applyUnsafe()
 {
-Keyspace.open(keyspaceName).apply(this, false);
+apply(false);
 }
 
 public MessageOut createMessage()



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

2016-02-03 Thread carl
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/233e785b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/233e785b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/233e785b

Branch: refs/heads/cassandra-3.3
Commit: 233e785bdf1a0b75d36e3fec4ed10256f12eca04
Parents: d7bea00 c4d83f1
Author: Carl Yeksigian 
Authored: Wed Feb 3 08:34:14 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 08:34:14 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java | 27 -
 1 file changed, 16 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/233e785b/src/java/org/apache/cassandra/db/Mutation.java
--



[1/6] cassandra git commit: Fix Mutation.applyUnsafe to block

2016-02-03 Thread carl
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 208138582 -> c4d83f1ba
  refs/heads/cassandra-3.3 d7bea0091 -> 233e785bd
  refs/heads/trunk 44a5abc35 -> efd54c77e


Fix Mutation.applyUnsafe to block

Patch by Carl Yeksigian; reviewed by Jake Luciani for CASSANDRA-10779


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

Branch: refs/heads/cassandra-3.0
Commit: c4d83f1ba31735963b451beb38a553c92145d5d4
Parents: 2081385
Author: Carl Yeksigian 
Authored: Wed Feb 3 08:33:31 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 08:33:31 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java | 27 -
 1 file changed, 16 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d83f1b/src/java/org/apache/cassandra/db/Mutation.java
--
diff --git a/src/java/org/apache/cassandra/db/Mutation.java 
b/src/java/org/apache/cassandra/db/Mutation.java
index 6b4c8e9..1ba3740 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -198,21 +198,22 @@ public class Mutation implements IMutation
 return new Mutation(ks, key, modifications);
 }
 
-public CompletableFuture applyFuture()
+private CompletableFuture applyFuture(boolean durableWrites)
 {
 Keyspace ks = Keyspace.open(keyspaceName);
-return ks.apply(this, ks.getMetadata().params.durableWrites);
+return ks.apply(this, durableWrites);
 }
 
-/*
- * This is equivalent to calling commit. Applies the changes to
- * to the keyspace that is obtained by calling Keyspace.open().
- */
-public void apply()
+public CompletableFuture applyFuture()
+{
+return 
applyFuture(Keyspace.open(keyspaceName).getMetadata().params.durableWrites);
+}
+
+public void apply(boolean durableWrites)
 {
 try
 {
-Uninterruptibles.getUninterruptibly(applyFuture());
+Uninterruptibles.getUninterruptibly(applyFuture(durableWrites));
 }
 catch (ExecutionException e)
 {
@@ -220,14 +221,18 @@ public class Mutation implements IMutation
 }
 }
 
-public void apply(boolean durableWrites)
+/*
+ * This is equivalent to calling commit. Applies the changes to
+ * to the keyspace that is obtained by calling Keyspace.open().
+ */
+public void apply()
 {
-Keyspace.open(keyspaceName).apply(this, durableWrites);
+apply(Keyspace.open(keyspaceName).getMetadata().params.durableWrites);
 }
 
 public void applyUnsafe()
 {
-Keyspace.open(keyspaceName).apply(this, false);
+apply(false);
 }
 
 public MessageOut createMessage()



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

2016-02-03 Thread carl
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/efd54c77
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/efd54c77
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/efd54c77

Branch: refs/heads/trunk
Commit: efd54c77e0fce3cbc5087942ef3074eb95ad1887
Parents: 44a5abc 233e785
Author: Carl Yeksigian 
Authored: Wed Feb 3 08:34:31 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 08:34:31 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java | 27 -
 1 file changed, 16 insertions(+), 11 deletions(-)
--




[jira] [Created] (CASSANDRA-11115) Thrift removal

2016-02-03 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-5:


 Summary: Thrift removal
 Key: CASSANDRA-5
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sylvain Lebresne
 Fix For: 4.x


Thrift removal [has been announced for 
4.0|http://mail-archives.apache.org/mod_mbox/cassandra-user/201601.mbox/%3ccaldd-zgagnldu3pqbd6wp0jb0x73qjdr9phpxmmo+gq+2e5...@mail.gmail.com%3E].
 This ticket is meant to serve as a general task for that removal, but also to 
track issue related to that, either things that we should do in 3.x to make 
that removal as smooth as possible, or sub-tasks that it makes sense to 
separate.



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-11067:


I'm still uneasy about making = a synonym for LIKE.  Every database I can think 
of treats = as full equality.  I'm pretty sure that will surprise people.

I think we should reject = queries against indexes that aren't going to 
actually give equality semantics, and require using LIKE instead.

(I'm slightly uneasy about overloading LIKE as well, which is why originally I 
proposed something new like MATCHES.  But LIKE already tends to vary from 
product to product so on balance I'm okay with abusing it a little more.)


> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe commented on CASSANDRA-11067:
-

One more thing: the grammar only allows {{LIKE}} (upper case), can you make it 
case insensitive please?

> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-11067:
-

Regarding validation for index options you've mentioned I'm not really sure by 
what means we are going to accomplish that, maybe by requiring users to specify 
what queries do they want to run, but that would require wider 
audience/discussion so let's maybe leave it for a separate ticket...

> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Created] (CASSANDRA-11118) Consider removing support for custom types

2016-02-03 Thread Robert Stupp (JIRA)
Robert Stupp created CASSANDRA-8:


 Summary: Consider removing support for custom types
 Key: CASSANDRA-8
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8
 Project: Cassandra
  Issue Type: Wish
Reporter: Robert Stupp
Priority: Minor


Custom types (and maybe all types that extend AbstractType but have no CQL3 
counterpart) become difficult to be properly supported.

There are a couple of reasons:
* Custom types and even composite types need to be expressed using 'blob 
syntax' as in CASSANDRA-11064 to provide full end-to-end support (C* nodes and 
all drivers).
* Custom-type implementations become more difficult to maintain (by their 
developers) as we add more functionality (e.g. JSON or CQL literal generation) 
and contracts (like the different comparison modes and implementations) to 
AbstractType
* Operational support for custom types (installing and upgrading C* releases) 
is more difficult (provide the correct custom-type implementations for the 
specific C* release; not a new reason, of course)
* We still maintain two type hierarchies for the "same thing" (column types): 
one starting at CQL3Type and one at AbstractType (plus serializers), which are 
closely related and coupled.
* There is "no need" to maintain AbstractType as a client protocol requirement 
starting with 4.x as Thrift will be removed. In reality, the support of drivers 
for composite types or even custom types is fairly rudimentary, if existent.
* I'm also a bit concerned that there might be hidden issues related to this 
_old and rarely used and even least thought-of stuff_. I mean, we (at least I) 
don't always think about these old types. Like CASSANDRA-11064 that has the 
potential to bring down a cluster.

I would not propose to remove custom types in 4.x but officially deprecate the 
functionality in the near future and communicate an "official" date (version 
number) when it will be removed.

In the mean time there might be a configuration option like 
{{enable_custom_types}} or {{allow_non_cql3_types}} which defaults to {{false}} 
and either issues warnings (in the log and via native protocol) when those 
types are used in DDL statements or completely prevents that (returning an 
error, prevent startup, whatever). We can also convert all non-CQL3 types to 
BLOB in the schema tables as the "implementation to remove custom types".

TBH, I have absolutely no idea how many people really use composite types or 
even custom types. But I assume that "only a handful" of applications really 
use non-CQL3 types with C* 4.x (so without Thrift).



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Jon Haddad (JIRA)

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

Jon Haddad commented on CASSANDRA-11067:


Just for reference:

MySQL: match(field) against ('search')
postgres: something about @@ tsvector, I can't even tell it's so absurd
oracle: CONTAINS(field, 'search', 1)
sql server: CONTAINS(candidate_resume,”SQL Server”)

My 2 cents: I'm partial to CONTAINS or MATCH rather than LIKE, since LIKE seems 
to usually be exact string search with a full table scan.

> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-11067:
-

bq. I'm still uneasy about making = a synonym for LIKE. Every database I can 
think of treats = as full equality. I'm pretty sure that will surprise people.

But the LIKE is not a synonym for "=", only if LIKE is used without '%' it 
means essentially an equals, and "=" is always an exact match right now. Also I 
would like to point out that all of the index types in SASI support strict 
equality (current "=") because even CONTAINS mode does preserve the original 
word form, so I'm not even sure what is the problem because each index has 
supportedOperations check and if one of the implementations doesn't support 
strict equality it's going to be rejected because even LIKE '' is 
transformed to EQ, which forces users to do LIKE with '%' which can only be 
PREFIX, CONTAINS or SUFFIX.

> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-11067:
-

I've pushed to CASSANDRA-11067 squashed/rebased/updated version with all of the 
changes from the review - doc/error message are corrected and I've added a lot 
more LIKE_SUFFIX tests to SASIIndexTest. Going to try to make down-case LIKE 
work and let you know, the problem is it classes with rules from create 
statement.

> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Updated] (CASSANDRA-11001) Hadoop integration is incompatible with Cassandra Driver 3.0.0

2016-02-03 Thread Robert Stupp (JIRA)

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

Robert Stupp updated CASSANDRA-11001:
-
Fix Version/s: 3.0.x

> Hadoop integration is incompatible with Cassandra Driver 3.0.0
> --
>
> Key: CASSANDRA-11001
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11001
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jacek Lewandowski
>Assignee: Robert Stupp
> Fix For: 3.0.x
>
>
> When using Hadoop input format with SSL and Cassandra Driver 3.0.0-beta1, we 
> hit the following exception:
> {noformat}
> Exception in thread "main" java.lang.NoSuchFieldError: 
> DEFAULT_SSL_CIPHER_SUITES
>   at 
> org.apache.cassandra.hadoop.cql3.CqlConfigHelper.getSSLOptions(CqlConfigHelper.java:548)
>   at 
> org.apache.cassandra.hadoop.cql3.CqlConfigHelper.getCluster(CqlConfigHelper.java:315)
>   at 
> org.apache.cassandra.hadoop.cql3.CqlConfigHelper.getInputCluster(CqlConfigHelper.java:298)
>   at 
> org.apache.cassandra.hadoop.cql3.CqlInputFormat.getSplits(CqlInputFormat.java:131)
> {noformat}
> Should this be fixed with reflection so that Hadoop input/output formats are 
> compatible with both old and new driver?
> [~jjordan], [~alexliu68] ?



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


[3/3] cassandra git commit: 3.3 version updates

2016-02-03 Thread jake
3.3 version updates


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

Branch: refs/heads/cassandra-3.3
Commit: 78fe8c487b53939c933718bc4e470b78e677df51
Parents: f240c95
Author: T Jake Luciani 
Authored: Wed Feb 3 09:22:29 2016 -0500
Committer: T Jake Luciani 
Committed: Wed Feb 3 09:22:29 2016 -0500

--
 NEWS.txt | 8 
 debian/changelog | 6 ++
 2 files changed, 14 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/78fe8c48/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 9dd4e25..92f3d3e 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+3.3
+===
+
+Upgrading
+-
+- Nothing specific to this release, but please see 3.0 if you are upgrading
+  from a previous version.
+
 3.2
 ===
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/78fe8c48/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index 7e455ac..b975a5e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (3.3) unstable; urgency=medium
+
+  * New release
+
+ -- Jake Luciani   Wed, 03 Feb 2016 09:00:11 -0500
+
 cassandra (3.2) unstable; urgency=medium
 
   * New release



[1/3] cassandra git commit: 3.0.3 release versions

2016-02-03 Thread jake
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.3 233e785bd -> 78fe8c487


3.0.3 release versions


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

Branch: refs/heads/cassandra-3.3
Commit: 21380fc129c91bb17d27aa02378699e9d94a7ab6
Parents: c4d83f1
Author: T Jake Luciani 
Authored: Wed Feb 3 08:56:26 2016 -0500
Committer: T Jake Luciani 
Committed: Wed Feb 3 08:56:26 2016 -0500

--
 build.xml| 2 +-
 debian/changelog | 6 ++
 2 files changed, 7 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/21380fc1/build.xml
--
diff --git a/build.xml b/build.xml
index 9e8c135..f9ff00d 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/21380fc1/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index f1232ab..0f3a46c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (3.0.3) unstable; urgency=medium
+
+  * New release 
+
+ -- Jake Luciani   Wed, 03 Feb 2016 08:54:57 -0500
+
 cassandra (3.0.1) unstable; urgency=medium
 
   * New release



[1/6] cassandra git commit: Use Throwables.propagate on ExecutionException

2016-02-03 Thread carl
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 21380fc12 -> 5f1e4bcad
  refs/heads/cassandra-3.3 78fe8c487 -> de24ee94f
  refs/heads/trunk 617bf46ef -> 940ae5168


Use Throwables.propagate on ExecutionException


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

Branch: refs/heads/cassandra-3.0
Commit: 5f1e4bcad7d36feb97096c6149ad3c43f26f0fd9
Parents: 21380fc
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:26:01 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:26:01 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java|  3 ++-
 .../cassandra/db/commitlog/CommitLogReplayer.java | 14 --
 .../apache/cassandra/service/paxos/PaxosState.java|  3 ++-
 3 files changed, 16 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/db/Mutation.java
--
diff --git a/src/java/org/apache/cassandra/db/Mutation.java 
b/src/java/org/apache/cassandra/db/Mutation.java
index 1ba3740..9a26456 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -24,6 +24,7 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.atomic.AtomicLong;
 
+import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.Uninterruptibles;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.cassandra.config.CFMetaData;
@@ -217,7 +218,7 @@ public class Mutation implements IMutation
 }
 catch (ExecutionException e)
 {
-throw new RuntimeException(e.getCause());
+Throwables.propagate(e.getCause());
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
index b4472ed..33750f8 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
@@ -31,6 +31,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.zip.CRC32;
 
 import com.google.common.base.Predicate;
+import com.google.common.base.Throwables;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Multimap;
@@ -568,7 +569,7 @@ public class CommitLogReplayer
 
 Runnable runnable = new WrappedRunnable()
 {
-public void runMayThrow() throws ExecutionException
+public void runMayThrow()
 {
 if (Schema.instance.getKSMetaData(mutation.getKeyspaceName()) 
== null)
 return;
@@ -603,7 +604,16 @@ public class CommitLogReplayer
 if (newMutation != null)
 {
 assert !newMutation.isEmpty();
-
Uninterruptibles.getUninterruptibly(Keyspace.open(newMutation.getKeyspaceName()).applyFromCommitLog(newMutation));
+
+try
+{
+
Uninterruptibles.getUninterruptibly(Keyspace.open(newMutation.getKeyspaceName()).applyFromCommitLog(newMutation));
+}
+catch (ExecutionException e)
+{
+Throwables.propagate(e.getCause());
+}
+
 keyspacesRecovered.add(keyspace);
 }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/service/paxos/PaxosState.java
--
diff --git a/src/java/org/apache/cassandra/service/paxos/PaxosState.java 
b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
index 3ecac99..d4fed51 100644
--- a/src/java/org/apache/cassandra/service/paxos/PaxosState.java
+++ b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
@@ -23,6 +23,7 @@ package org.apache.cassandra.service.paxos;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.locks.Lock;
 
+import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.Striped;
 import com.google.common.util.concurrent.Uninterruptibles;
 
@@ -145,7 +146,7 @@ public 

[3/6] cassandra git commit: Use Throwables.propagate on ExecutionException

2016-02-03 Thread carl
Use Throwables.propagate on ExecutionException


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

Branch: refs/heads/trunk
Commit: 5f1e4bcad7d36feb97096c6149ad3c43f26f0fd9
Parents: 21380fc
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:26:01 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:26:01 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java|  3 ++-
 .../cassandra/db/commitlog/CommitLogReplayer.java | 14 --
 .../apache/cassandra/service/paxos/PaxosState.java|  3 ++-
 3 files changed, 16 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/db/Mutation.java
--
diff --git a/src/java/org/apache/cassandra/db/Mutation.java 
b/src/java/org/apache/cassandra/db/Mutation.java
index 1ba3740..9a26456 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -24,6 +24,7 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.atomic.AtomicLong;
 
+import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.Uninterruptibles;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.cassandra.config.CFMetaData;
@@ -217,7 +218,7 @@ public class Mutation implements IMutation
 }
 catch (ExecutionException e)
 {
-throw new RuntimeException(e.getCause());
+Throwables.propagate(e.getCause());
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
index b4472ed..33750f8 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
@@ -31,6 +31,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.zip.CRC32;
 
 import com.google.common.base.Predicate;
+import com.google.common.base.Throwables;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Multimap;
@@ -568,7 +569,7 @@ public class CommitLogReplayer
 
 Runnable runnable = new WrappedRunnable()
 {
-public void runMayThrow() throws ExecutionException
+public void runMayThrow()
 {
 if (Schema.instance.getKSMetaData(mutation.getKeyspaceName()) 
== null)
 return;
@@ -603,7 +604,16 @@ public class CommitLogReplayer
 if (newMutation != null)
 {
 assert !newMutation.isEmpty();
-
Uninterruptibles.getUninterruptibly(Keyspace.open(newMutation.getKeyspaceName()).applyFromCommitLog(newMutation));
+
+try
+{
+
Uninterruptibles.getUninterruptibly(Keyspace.open(newMutation.getKeyspaceName()).applyFromCommitLog(newMutation));
+}
+catch (ExecutionException e)
+{
+Throwables.propagate(e.getCause());
+}
+
 keyspacesRecovered.add(keyspace);
 }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/service/paxos/PaxosState.java
--
diff --git a/src/java/org/apache/cassandra/service/paxos/PaxosState.java 
b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
index 3ecac99..d4fed51 100644
--- a/src/java/org/apache/cassandra/service/paxos/PaxosState.java
+++ b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
@@ -23,6 +23,7 @@ package org.apache.cassandra.service.paxos;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.locks.Lock;
 
+import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.Striped;
 import com.google.common.util.concurrent.Uninterruptibles;
 
@@ -145,7 +146,7 @@ public class PaxosState
 }
 catch (ExecutionException e)
 {
-throw new RuntimeException(e.getCause());
+

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

2016-02-03 Thread carl
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/940ae516
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/940ae516
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/940ae516

Branch: refs/heads/trunk
Commit: 940ae51683b6a9eddd396439541710e0492f2d2e
Parents: 617bf46 de24ee9
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:30:27 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:30:27 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java|  3 ++-
 .../cassandra/db/commitlog/CommitLogReplayer.java | 14 --
 .../apache/cassandra/service/paxos/PaxosState.java|  3 ++-
 3 files changed, 16 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/940ae516/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--



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

2016-02-03 Thread carl
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/de24ee94
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/de24ee94
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/de24ee94

Branch: refs/heads/trunk
Commit: de24ee94f355042f24f04c3dec8c1c5e4ec3
Parents: 78fe8c4 5f1e4bc
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:29:20 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:29:20 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java|  3 ++-
 .../cassandra/db/commitlog/CommitLogReplayer.java | 14 --
 .../apache/cassandra/service/paxos/PaxosState.java|  3 ++-
 3 files changed, 16 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/de24ee94/src/java/org/apache/cassandra/db/Mutation.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/de24ee94/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--
diff --cc src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
index 55bdf07,33750f8..985a036
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
@@@ -30,8 -30,8 +30,9 @@@ import java.util.concurrent.Future
  import java.util.concurrent.atomic.AtomicInteger;
  import java.util.zip.CRC32;
  
 +import com.google.common.annotations.VisibleForTesting;
  import com.google.common.base.Predicate;
+ import com.google.common.base.Throwables;
  import com.google.common.collect.HashMultimap;
  import com.google.common.collect.Iterables;
  import com.google.common.collect.Multimap;
@@@ -90,65 -85,6 +91,74 @@@ public class CommitLogReplaye
  private final ReplayFilter replayFilter;
  private final CommitLogArchiver archiver;
  
 +/*
 + * Wrapper around initiating mutations read from the log to make it 
possible
 + * to spy on initiated mutations for test
 + */
 +@VisibleForTesting
 +public static class MutationInitiator
 +{
 +protected Future initiateMutation(final Mutation mutation,
 +   final long segmentId,
 +   final int serializedSize,
 +   final long entryLocation,
 +   final CommitLogReplayer 
clr)
 +{
 +Runnable runnable = new WrappedRunnable()
 +{
- public void runMayThrow() throws ExecutionException
++public void runMayThrow()
 +{
 +if 
(Schema.instance.getKSMetaData(mutation.getKeyspaceName()) == null)
 +return;
 +if (clr.pointInTimeExceeded(mutation))
 +return;
 +
 +final Keyspace keyspace = 
Keyspace.open(mutation.getKeyspaceName());
 +
 +// Rebuild the mutation, omitting column families that
 +//a) the user has requested that we ignore,
 +//b) have already been flushed,
 +// or c) are part of a cf that was dropped.
 +// Keep in mind that the cf.name() is suspect. do every 
thing based on the cfid instead.
 +Mutation newMutation = null;
 +for (PartitionUpdate update : 
clr.replayFilter.filter(mutation))
 +{
 +if (Schema.instance.getCF(update.metadata().cfId) == 
null)
 +continue; // dropped
 +
 +ReplayPosition rp = 
clr.cfPositions.get(update.metadata().cfId);
 +
 +// replay if current segment is newer than last 
flushed one or,
 +// if it is the last known segment, if we are after 
the replay position
 +if (segmentId > rp.segment || (segmentId == 
rp.segment && entryLocation > rp.position))
 +{
 +if (newMutation == null)
 +newMutation = new 
Mutation(mutation.getKeyspaceName(), mutation.key());
 +newMutation.add(update);
 +clr.replayedCount.incrementAndGet();
 +}
 +}
 +if (newMutation != null)
 +{
 +assert !newMutation.isEmpty();
- 

[2/6] cassandra git commit: Use Throwables.propagate on ExecutionException

2016-02-03 Thread carl
Use Throwables.propagate on ExecutionException


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

Branch: refs/heads/cassandra-3.3
Commit: 5f1e4bcad7d36feb97096c6149ad3c43f26f0fd9
Parents: 21380fc
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:26:01 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:26:01 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java|  3 ++-
 .../cassandra/db/commitlog/CommitLogReplayer.java | 14 --
 .../apache/cassandra/service/paxos/PaxosState.java|  3 ++-
 3 files changed, 16 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/db/Mutation.java
--
diff --git a/src/java/org/apache/cassandra/db/Mutation.java 
b/src/java/org/apache/cassandra/db/Mutation.java
index 1ba3740..9a26456 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -24,6 +24,7 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.atomic.AtomicLong;
 
+import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.Uninterruptibles;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.cassandra.config.CFMetaData;
@@ -217,7 +218,7 @@ public class Mutation implements IMutation
 }
 catch (ExecutionException e)
 {
-throw new RuntimeException(e.getCause());
+Throwables.propagate(e.getCause());
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
index b4472ed..33750f8 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
@@ -31,6 +31,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.zip.CRC32;
 
 import com.google.common.base.Predicate;
+import com.google.common.base.Throwables;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Multimap;
@@ -568,7 +569,7 @@ public class CommitLogReplayer
 
 Runnable runnable = new WrappedRunnable()
 {
-public void runMayThrow() throws ExecutionException
+public void runMayThrow()
 {
 if (Schema.instance.getKSMetaData(mutation.getKeyspaceName()) 
== null)
 return;
@@ -603,7 +604,16 @@ public class CommitLogReplayer
 if (newMutation != null)
 {
 assert !newMutation.isEmpty();
-
Uninterruptibles.getUninterruptibly(Keyspace.open(newMutation.getKeyspaceName()).applyFromCommitLog(newMutation));
+
+try
+{
+
Uninterruptibles.getUninterruptibly(Keyspace.open(newMutation.getKeyspaceName()).applyFromCommitLog(newMutation));
+}
+catch (ExecutionException e)
+{
+Throwables.propagate(e.getCause());
+}
+
 keyspacesRecovered.add(keyspace);
 }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f1e4bca/src/java/org/apache/cassandra/service/paxos/PaxosState.java
--
diff --git a/src/java/org/apache/cassandra/service/paxos/PaxosState.java 
b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
index 3ecac99..d4fed51 100644
--- a/src/java/org/apache/cassandra/service/paxos/PaxosState.java
+++ b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
@@ -23,6 +23,7 @@ package org.apache.cassandra.service.paxos;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.locks.Lock;
 
+import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.Striped;
 import com.google.common.util.concurrent.Uninterruptibles;
 
@@ -145,7 +146,7 @@ public class PaxosState
 }
 catch (ExecutionException e)
 {
-throw new RuntimeException(e.getCause());
+

[3/6] cassandra git commit: ninja-fix propagate usage

2016-02-03 Thread carl
ninja-fix propagate usage


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

Branch: refs/heads/trunk
Commit: b9bdd9ec648ad42d88b1377fe0e1e4ff3d162a91
Parents: 5f1e4bc
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:42:18 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:42:18 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java| 2 +-
 src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java | 2 +-
 src/java/org/apache/cassandra/service/paxos/PaxosState.java   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9bdd9ec/src/java/org/apache/cassandra/db/Mutation.java
--
diff --git a/src/java/org/apache/cassandra/db/Mutation.java 
b/src/java/org/apache/cassandra/db/Mutation.java
index 9a26456..c6ad9b8 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -218,7 +218,7 @@ public class Mutation implements IMutation
 }
 catch (ExecutionException e)
 {
-Throwables.propagate(e.getCause());
+throw Throwables.propagate(e.getCause());
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9bdd9ec/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
index 33750f8..7169b2f 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
@@ -611,7 +611,7 @@ public class CommitLogReplayer
 }
 catch (ExecutionException e)
 {
-Throwables.propagate(e.getCause());
+throw Throwables.propagate(e.getCause());
 }
 
 keyspacesRecovered.add(keyspace);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9bdd9ec/src/java/org/apache/cassandra/service/paxos/PaxosState.java
--
diff --git a/src/java/org/apache/cassandra/service/paxos/PaxosState.java 
b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
index d4fed51..0b3af8f 100644
--- a/src/java/org/apache/cassandra/service/paxos/PaxosState.java
+++ b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
@@ -146,7 +146,7 @@ public class PaxosState
 }
 catch (ExecutionException e)
 {
-Throwables.propagate(e.getCause());
+throw Throwables.propagate(e.getCause());
 }
 }
 else



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

2016-02-03 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-10779:
--

bq. Agreed the test is a non-issue +1

I'm not sure I agree. That message is logged due to a timeout, which is not a 
real error as far as C* is concerned, and logging like that could easily flood 
the log with a not too useful message. In fact, it appears the place where the 
exception is throw was explicitly trying to ignore timeouts, but the timeout is 
wrapped by a {{RuntimeException}} so it get through. I think we better fix that.

In general, the MV tests don't do anything terribly nasty, so having them log 
anything at ERROR is definitively a bad smell.

> 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: Carl Yeksigian
> Fix For: 3.0.3, 3.3
>
>
> 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)


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

2016-02-03 Thread jake
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/f240c95f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f240c95f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f240c95f

Branch: refs/heads/cassandra-3.3
Commit: f240c95f5de32585b00c530fe248965d05fdf84d
Parents: 233e785 21380fc
Author: T Jake Luciani 
Authored: Wed Feb 3 08:57:50 2016 -0500
Committer: T Jake Luciani 
Committed: Wed Feb 3 08:57:50 2016 -0500

--

--




[jira] [Commented] (CASSANDRA-8385) Clean up generics in uses of AbstractType

2016-02-03 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-8385:
-

[~blambov] I don't know if you have the courage to go through that again now, 
but if it's still bothering you, I think we'd be good to go with this now.

> Clean up generics in uses of AbstractType
> -
>
> Key: CASSANDRA-8385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8385
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Branimir Lambov
>Assignee: Branimir Lambov
>Priority: Trivial
> Attachments: 8385.patch
>
>
> Almost all uses of AbstractType are from code that doesn't know or care what 
> the specific type is and would be better served by a non-generic version of 
> the concept.



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


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

2016-02-03 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne reopened CASSANDRA-10779:
--

> 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: Carl Yeksigian
> Fix For: 3.0.3, 3.3
>
>
> 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-10099) Improve concurrency in CompactionStrategyManager

2016-02-03 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson commented on CASSANDRA-10099:
-

[~yukim] agreed, but I think we should do both

After CASSANDRA-6696 and especially CASSANDRA-10540 we can have very many 
compaction strategy instances (one per owned vnode range, typically 768 with 
rf=3 and 256 tokens), so even if we don't loop, this can take a long time. But 
since each instance is totally independent from the other instances we don't 
need the global synchronization - we just need to make sure that noone switches 
out the compaction strategy under our feet.

I'll push an updated branch with both approaches unless you disagree?

> Improve concurrency in CompactionStrategyManager
> 
>
> Key: CASSANDRA-10099
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10099
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Yuki Morishita
>Assignee: Marcus Eriksson
> Fix For: 2.1.x, 2.2.x, 3.x
>
>
> Continue discussion from CASSANDRA-9882.
> CompactionStrategyManager(WrappingCompactionStrategy for <3.0) tracks SSTable 
> changes mainly for separating repaired / unrepaired SSTables (+ LCS manages 
> level).
> This is blocking operation, and can lead to block of flush etc. when 
> determining next background task takes longer.
> Explore the way to mitigate this concurrency issue.



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


[jira] [Updated] (CASSANDRA-9115) Improve vnode allocation hash bit distribution

2016-02-03 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-9115:

Assignee: (was: Branimir Lambov)

> Improve vnode allocation hash bit distribution
> --
>
> Key: CASSANDRA-9115
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9115
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Configuration
>Reporter: Benedict
>
> Following on from CASSANDRA-7032, we should explore if it is possible to 
> further improve the vnode allocation strategy to consider hash bit 
> distribution for the selected vnodes, so that our hash based data structures 
> can ensure good behaviour



--
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-02-03 Thread carl
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/de24ee94
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/de24ee94
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/de24ee94

Branch: refs/heads/cassandra-3.3
Commit: de24ee94f355042f24f04c3dec8c1c5e4ec3
Parents: 78fe8c4 5f1e4bc
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:29:20 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:29:20 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java|  3 ++-
 .../cassandra/db/commitlog/CommitLogReplayer.java | 14 --
 .../apache/cassandra/service/paxos/PaxosState.java|  3 ++-
 3 files changed, 16 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/de24ee94/src/java/org/apache/cassandra/db/Mutation.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/de24ee94/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--
diff --cc src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
index 55bdf07,33750f8..985a036
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
@@@ -30,8 -30,8 +30,9 @@@ import java.util.concurrent.Future
  import java.util.concurrent.atomic.AtomicInteger;
  import java.util.zip.CRC32;
  
 +import com.google.common.annotations.VisibleForTesting;
  import com.google.common.base.Predicate;
+ import com.google.common.base.Throwables;
  import com.google.common.collect.HashMultimap;
  import com.google.common.collect.Iterables;
  import com.google.common.collect.Multimap;
@@@ -90,65 -85,6 +91,74 @@@ public class CommitLogReplaye
  private final ReplayFilter replayFilter;
  private final CommitLogArchiver archiver;
  
 +/*
 + * Wrapper around initiating mutations read from the log to make it 
possible
 + * to spy on initiated mutations for test
 + */
 +@VisibleForTesting
 +public static class MutationInitiator
 +{
 +protected Future initiateMutation(final Mutation mutation,
 +   final long segmentId,
 +   final int serializedSize,
 +   final long entryLocation,
 +   final CommitLogReplayer 
clr)
 +{
 +Runnable runnable = new WrappedRunnable()
 +{
- public void runMayThrow() throws ExecutionException
++public void runMayThrow()
 +{
 +if 
(Schema.instance.getKSMetaData(mutation.getKeyspaceName()) == null)
 +return;
 +if (clr.pointInTimeExceeded(mutation))
 +return;
 +
 +final Keyspace keyspace = 
Keyspace.open(mutation.getKeyspaceName());
 +
 +// Rebuild the mutation, omitting column families that
 +//a) the user has requested that we ignore,
 +//b) have already been flushed,
 +// or c) are part of a cf that was dropped.
 +// Keep in mind that the cf.name() is suspect. do every 
thing based on the cfid instead.
 +Mutation newMutation = null;
 +for (PartitionUpdate update : 
clr.replayFilter.filter(mutation))
 +{
 +if (Schema.instance.getCF(update.metadata().cfId) == 
null)
 +continue; // dropped
 +
 +ReplayPosition rp = 
clr.cfPositions.get(update.metadata().cfId);
 +
 +// replay if current segment is newer than last 
flushed one or,
 +// if it is the last known segment, if we are after 
the replay position
 +if (segmentId > rp.segment || (segmentId == 
rp.segment && entryLocation > rp.position))
 +{
 +if (newMutation == null)
 +newMutation = new 
Mutation(mutation.getKeyspaceName(), mutation.key());
 +newMutation.add(update);
 +clr.replayedCount.incrementAndGet();
 +}
 +}
 +if (newMutation != null)
 +{
 +assert !newMutation.isEmpty();
- 

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

2016-02-03 Thread carl
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/c164e51e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c164e51e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c164e51e

Branch: refs/heads/trunk
Commit: c164e51e77b6a2ad72dac30eef39ad4e819391c9
Parents: 940ae51 5669c69
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:44:17 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:44:17 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java| 2 +-
 src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java | 2 +-
 src/java/org/apache/cassandra/service/paxos/PaxosState.java   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c164e51e/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--



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

2016-02-03 Thread carl
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/5669c696
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5669c696
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5669c696

Branch: refs/heads/trunk
Commit: 5669c6967bbdd540f27aeebf5a2c258bc4defbe3
Parents: de24ee9 b9bdd9e
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:44:01 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:44:01 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java| 2 +-
 src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java | 2 +-
 src/java/org/apache/cassandra/service/paxos/PaxosState.java   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5669c696/src/java/org/apache/cassandra/db/Mutation.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5669c696/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--
diff --cc src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
index 985a036,7169b2f..e0518a9
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
@@@ -91,74 -85,6 +91,74 @@@ public class CommitLogReplaye
  private final ReplayFilter replayFilter;
  private final CommitLogArchiver archiver;
  
 +/*
 + * Wrapper around initiating mutations read from the log to make it 
possible
 + * to spy on initiated mutations for test
 + */
 +@VisibleForTesting
 +public static class MutationInitiator
 +{
 +protected Future initiateMutation(final Mutation mutation,
 +   final long segmentId,
 +   final int serializedSize,
 +   final long entryLocation,
 +   final CommitLogReplayer 
clr)
 +{
 +Runnable runnable = new WrappedRunnable()
 +{
 +public void runMayThrow()
 +{
 +if 
(Schema.instance.getKSMetaData(mutation.getKeyspaceName()) == null)
 +return;
 +if (clr.pointInTimeExceeded(mutation))
 +return;
 +
 +final Keyspace keyspace = 
Keyspace.open(mutation.getKeyspaceName());
 +
 +// Rebuild the mutation, omitting column families that
 +//a) the user has requested that we ignore,
 +//b) have already been flushed,
 +// or c) are part of a cf that was dropped.
 +// Keep in mind that the cf.name() is suspect. do every 
thing based on the cfid instead.
 +Mutation newMutation = null;
 +for (PartitionUpdate update : 
clr.replayFilter.filter(mutation))
 +{
 +if (Schema.instance.getCF(update.metadata().cfId) == 
null)
 +continue; // dropped
 +
 +ReplayPosition rp = 
clr.cfPositions.get(update.metadata().cfId);
 +
 +// replay if current segment is newer than last 
flushed one or,
 +// if it is the last known segment, if we are after 
the replay position
 +if (segmentId > rp.segment || (segmentId == 
rp.segment && entryLocation > rp.position))
 +{
 +if (newMutation == null)
 +newMutation = new 
Mutation(mutation.getKeyspaceName(), mutation.key());
 +newMutation.add(update);
 +clr.replayedCount.incrementAndGet();
 +}
 +}
 +if (newMutation != null)
 +{
 +assert !newMutation.isEmpty();
 +
 +try
 +{
 +
Uninterruptibles.getUninterruptibly(Keyspace.open(newMutation.getKeyspaceName()).applyFromCommitLog(newMutation));
 +}
 +catch (ExecutionException e)
 +{
- Throwables.propagate(e.getCause());
++throw Throwables.propagate(e.getCause());
 +}
 +
 +

[1/6] cassandra git commit: ninja-fix propagate usage

2016-02-03 Thread carl
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 5f1e4bcad -> b9bdd9ec6
  refs/heads/cassandra-3.3 de24ee94f -> 5669c6967
  refs/heads/trunk 940ae5168 -> c164e51e7


ninja-fix propagate usage


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

Branch: refs/heads/cassandra-3.0
Commit: b9bdd9ec648ad42d88b1377fe0e1e4ff3d162a91
Parents: 5f1e4bc
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:42:18 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:42:18 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java| 2 +-
 src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java | 2 +-
 src/java/org/apache/cassandra/service/paxos/PaxosState.java   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9bdd9ec/src/java/org/apache/cassandra/db/Mutation.java
--
diff --git a/src/java/org/apache/cassandra/db/Mutation.java 
b/src/java/org/apache/cassandra/db/Mutation.java
index 9a26456..c6ad9b8 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -218,7 +218,7 @@ public class Mutation implements IMutation
 }
 catch (ExecutionException e)
 {
-Throwables.propagate(e.getCause());
+throw Throwables.propagate(e.getCause());
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9bdd9ec/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
index 33750f8..7169b2f 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
@@ -611,7 +611,7 @@ public class CommitLogReplayer
 }
 catch (ExecutionException e)
 {
-Throwables.propagate(e.getCause());
+throw Throwables.propagate(e.getCause());
 }
 
 keyspacesRecovered.add(keyspace);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9bdd9ec/src/java/org/apache/cassandra/service/paxos/PaxosState.java
--
diff --git a/src/java/org/apache/cassandra/service/paxos/PaxosState.java 
b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
index d4fed51..0b3af8f 100644
--- a/src/java/org/apache/cassandra/service/paxos/PaxosState.java
+++ b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
@@ -146,7 +146,7 @@ public class PaxosState
 }
 catch (ExecutionException e)
 {
-Throwables.propagate(e.getCause());
+throw Throwables.propagate(e.getCause());
 }
 }
 else



[2/6] cassandra git commit: ninja-fix propagate usage

2016-02-03 Thread carl
ninja-fix propagate usage


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

Branch: refs/heads/cassandra-3.3
Commit: b9bdd9ec648ad42d88b1377fe0e1e4ff3d162a91
Parents: 5f1e4bc
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:42:18 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:42:18 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java| 2 +-
 src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java | 2 +-
 src/java/org/apache/cassandra/service/paxos/PaxosState.java   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9bdd9ec/src/java/org/apache/cassandra/db/Mutation.java
--
diff --git a/src/java/org/apache/cassandra/db/Mutation.java 
b/src/java/org/apache/cassandra/db/Mutation.java
index 9a26456..c6ad9b8 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -218,7 +218,7 @@ public class Mutation implements IMutation
 }
 catch (ExecutionException e)
 {
-Throwables.propagate(e.getCause());
+throw Throwables.propagate(e.getCause());
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9bdd9ec/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
index 33750f8..7169b2f 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
@@ -611,7 +611,7 @@ public class CommitLogReplayer
 }
 catch (ExecutionException e)
 {
-Throwables.propagate(e.getCause());
+throw Throwables.propagate(e.getCause());
 }
 
 keyspacesRecovered.add(keyspace);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9bdd9ec/src/java/org/apache/cassandra/service/paxos/PaxosState.java
--
diff --git a/src/java/org/apache/cassandra/service/paxos/PaxosState.java 
b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
index d4fed51..0b3af8f 100644
--- a/src/java/org/apache/cassandra/service/paxos/PaxosState.java
+++ b/src/java/org/apache/cassandra/service/paxos/PaxosState.java
@@ -146,7 +146,7 @@ public class PaxosState
 }
 catch (ExecutionException e)
 {
-Throwables.propagate(e.getCause());
+throw Throwables.propagate(e.getCause());
 }
 }
 else



[jira] [Commented] (CASSANDRA-10099) Improve concurrency in CompactionStrategyManager

2016-02-03 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-10099:


[~krummas] I don't think granularly controlling lock in 
CompactionStrategyManager helps much, and we will have little concurrency issue 
as you mentioned.
I noticed that all 3 compaction strategies loop in {{getNextBackgroundTask}} to 
eagerly create compaction task while holding lock(synchronized), but I think we 
can just give up if we cannot create one is fine. We can try in next round, and 
this will release the lock early so we do not block flushing memtable.

WDYT?

> Improve concurrency in CompactionStrategyManager
> 
>
> Key: CASSANDRA-10099
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10099
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Yuki Morishita
>Assignee: Marcus Eriksson
> Fix For: 2.1.x, 2.2.x, 3.x
>
>
> Continue discussion from CASSANDRA-9882.
> CompactionStrategyManager(WrappingCompactionStrategy for <3.0) tracks SSTable 
> changes mainly for separating repaired / unrepaired SSTables (+ LCS manages 
> level).
> This is blocking operation, and can lead to block of flush etc. when 
> determining next background task takes longer.
> Explore the way to mitigate this concurrency issue.



--
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-02-03 Thread carl
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/5669c696
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5669c696
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5669c696

Branch: refs/heads/cassandra-3.3
Commit: 5669c6967bbdd540f27aeebf5a2c258bc4defbe3
Parents: de24ee9 b9bdd9e
Author: Carl Yeksigian 
Authored: Wed Feb 3 09:44:01 2016 -0500
Committer: Carl Yeksigian 
Committed: Wed Feb 3 09:44:01 2016 -0500

--
 src/java/org/apache/cassandra/db/Mutation.java| 2 +-
 src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java | 2 +-
 src/java/org/apache/cassandra/service/paxos/PaxosState.java   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5669c696/src/java/org/apache/cassandra/db/Mutation.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5669c696/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
--
diff --cc src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
index 985a036,7169b2f..e0518a9
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java
@@@ -91,74 -85,6 +91,74 @@@ public class CommitLogReplaye
  private final ReplayFilter replayFilter;
  private final CommitLogArchiver archiver;
  
 +/*
 + * Wrapper around initiating mutations read from the log to make it 
possible
 + * to spy on initiated mutations for test
 + */
 +@VisibleForTesting
 +public static class MutationInitiator
 +{
 +protected Future initiateMutation(final Mutation mutation,
 +   final long segmentId,
 +   final int serializedSize,
 +   final long entryLocation,
 +   final CommitLogReplayer 
clr)
 +{
 +Runnable runnable = new WrappedRunnable()
 +{
 +public void runMayThrow()
 +{
 +if 
(Schema.instance.getKSMetaData(mutation.getKeyspaceName()) == null)
 +return;
 +if (clr.pointInTimeExceeded(mutation))
 +return;
 +
 +final Keyspace keyspace = 
Keyspace.open(mutation.getKeyspaceName());
 +
 +// Rebuild the mutation, omitting column families that
 +//a) the user has requested that we ignore,
 +//b) have already been flushed,
 +// or c) are part of a cf that was dropped.
 +// Keep in mind that the cf.name() is suspect. do every 
thing based on the cfid instead.
 +Mutation newMutation = null;
 +for (PartitionUpdate update : 
clr.replayFilter.filter(mutation))
 +{
 +if (Schema.instance.getCF(update.metadata().cfId) == 
null)
 +continue; // dropped
 +
 +ReplayPosition rp = 
clr.cfPositions.get(update.metadata().cfId);
 +
 +// replay if current segment is newer than last 
flushed one or,
 +// if it is the last known segment, if we are after 
the replay position
 +if (segmentId > rp.segment || (segmentId == 
rp.segment && entryLocation > rp.position))
 +{
 +if (newMutation == null)
 +newMutation = new 
Mutation(mutation.getKeyspaceName(), mutation.key());
 +newMutation.add(update);
 +clr.replayedCount.incrementAndGet();
 +}
 +}
 +if (newMutation != null)
 +{
 +assert !newMutation.isEmpty();
 +
 +try
 +{
 +
Uninterruptibles.getUninterruptibly(Keyspace.open(newMutation.getKeyspaceName()).applyFromCommitLog(newMutation));
 +}
 +catch (ExecutionException e)
 +{
- Throwables.propagate(e.getCause());
++throw Throwables.propagate(e.getCause());
 +}
 +
 +

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

2016-02-03 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian commented on CASSANDRA-10779:


I mistakenly wrapped the ExecutionException's cause in a RuntimeException, when 
we should have been propogating it. Changed to use Throwables.propagate instead 
so that we get back the WriteTimeoutException instead of a RE.

> 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: Carl Yeksigian
> Fix For: 3.0.3, 3.3
>
>
> 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-11053) COPY FROM on large datasets: fix progress report and debug performance

2016-02-03 Thread Brian Hess (JIRA)

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

 Brian Hess commented on CASSANDRA-11053:
-

[~Stefania] - I believe that is the correct invocation.  However, that 
performance is about half of what I saw when I ran against the same setup 
(r3.2xlarge client writing to a cluster of 8 i2.2xlarge machines).  The rate I 
had was 98K writes/sec (total time was 209 seconds).

> COPY FROM on large datasets: fix progress report and debug performance
> --
>
> Key: CASSANDRA-11053
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11053
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
> Attachments: copy_from_large_benchmark.txt, 
> copy_from_large_benchmark_2.txt, parent_profile.txt, parent_profile_2.txt, 
> worker_profiles.txt, worker_profiles_2.txt
>
>
> Running COPY from on a large dataset (20G divided in 20M records) revealed 
> two issues:
> * The progress report is incorrect, it is very slow until almost the end of 
> the test at which point it catches up extremely quickly.
> * The performance in rows per second is similar to running smaller tests with 
> a smaller cluster locally (approx 35,000 rows per second). As a comparison, 
> cassandra-stress manages 50,000 rows per second under the same set-up, 
> therefore resulting 1.5 times faster. 
> See attached file _copy_from_large_benchmark.txt_ for the benchmark details.



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


[jira] [Updated] (CASSANDRA-7980) cassandra-stress should support partial clustering column generation

2016-02-03 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-7980:

Assignee: (was: Branimir Lambov)

> cassandra-stress should support partial clustering column generation
> 
>
> Key: CASSANDRA-7980
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7980
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Testing
>Reporter: Benedict
>Priority: Minor
>
> cassandra-stress generates its data randomly, in tiers, so that we can scroll 
> through the partitions it generates without having to generate their 
> entirety. The problem is that to support very large partitions (important for 
> benchmarking certain cases, and acceptance testing) we have to have a large 
> number of clustering columns - generally more than we would otherwise have, 
> which changes the performance characteristics. We should effectively split 
> each clustering column into a number of byte-ranges that become tiers for 
> visitation. The only real complexity here is in obeying the size/count 
> distribution range specified, which would be difficult for exponential 
> distributions, however we could require the user specify the ranges, and 
> distributions for each range, upfront. We could even treat them exactly like 
> other column specifications, but as sub-specs within a given column in the 
> yaml. Or, we could simply accept that we imperfectly follow the distribution 
> in these situations.



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


[1/4] cassandra git commit: 3.0.3 release versions

2016-02-03 Thread jake
Repository: cassandra
Updated Branches:
  refs/heads/trunk efd54c77e -> 617bf46ef


3.0.3 release versions


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

Branch: refs/heads/trunk
Commit: 21380fc129c91bb17d27aa02378699e9d94a7ab6
Parents: c4d83f1
Author: T Jake Luciani 
Authored: Wed Feb 3 08:56:26 2016 -0500
Committer: T Jake Luciani 
Committed: Wed Feb 3 08:56:26 2016 -0500

--
 build.xml| 2 +-
 debian/changelog | 6 ++
 2 files changed, 7 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/21380fc1/build.xml
--
diff --git a/build.xml b/build.xml
index 9e8c135..f9ff00d 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/21380fc1/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index f1232ab..0f3a46c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (3.0.3) unstable; urgency=medium
+
+  * New release 
+
+ -- Jake Luciani   Wed, 03 Feb 2016 08:54:57 -0500
+
 cassandra (3.0.1) unstable; urgency=medium
 
   * New release



[3/4] cassandra git commit: 3.3 version updates

2016-02-03 Thread jake
3.3 version updates


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

Branch: refs/heads/trunk
Commit: 78fe8c487b53939c933718bc4e470b78e677df51
Parents: f240c95
Author: T Jake Luciani 
Authored: Wed Feb 3 09:22:29 2016 -0500
Committer: T Jake Luciani 
Committed: Wed Feb 3 09:22:29 2016 -0500

--
 NEWS.txt | 8 
 debian/changelog | 6 ++
 2 files changed, 14 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/78fe8c48/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 9dd4e25..92f3d3e 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+3.3
+===
+
+Upgrading
+-
+- Nothing specific to this release, but please see 3.0 if you are upgrading
+  from a previous version.
+
 3.2
 ===
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/78fe8c48/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index 7e455ac..b975a5e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (3.3) unstable; urgency=medium
+
+  * New release
+
+ -- Jake Luciani   Wed, 03 Feb 2016 09:00:11 -0500
+
 cassandra (3.2) unstable; urgency=medium
 
   * New release



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

2016-02-03 Thread jake
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/617bf46e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/617bf46e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/617bf46e

Branch: refs/heads/trunk
Commit: 617bf46ef87df7a3875d567f255ef182fa25fee2
Parents: efd54c7 78fe8c4
Author: T Jake Luciani 
Authored: Wed Feb 3 09:24:17 2016 -0500
Committer: T Jake Luciani 
Committed: Wed Feb 3 09:24:17 2016 -0500

--

--




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

2016-02-03 Thread jake
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/f240c95f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f240c95f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f240c95f

Branch: refs/heads/trunk
Commit: f240c95f5de32585b00c530fe248965d05fdf84d
Parents: 233e785 21380fc
Author: T Jake Luciani 
Authored: Wed Feb 3 08:57:50 2016 -0500
Committer: T Jake Luciani 
Committed: Wed Feb 3 08:57:50 2016 -0500

--

--




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

2016-02-03 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian resolved CASSANDRA-10779.

Resolution: Fixed

Third time is the charm. Committed in 
[5f1e4bc|https://git1-us-west.apache.org/repos/asf?p=cassandra.git;a=commit;h=5f1e4bcad7d36feb97096c6149ad3c43f26f0fd9].

> 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: Carl Yeksigian
> Fix For: 3.0.3, 3.3
>
>
> 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-11053) COPY FROM on large datasets: fix progress report and debug performance

2016-02-03 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-11053:
--

Could you check the ctool invocations in _copy_from_large_benchmark_2.txt_ 
attached to see if there are any differences? I'm running cassandra 2.1 from 
source but that should not make such a big difference. 

The data generation commands are also in the same file and repeated here:

{code}
make dirs
make gen
make data100B 
make data1KB
{code}

It's not indicated in the file but I also truncate the table in use before 
running a test.

> COPY FROM on large datasets: fix progress report and debug performance
> --
>
> Key: CASSANDRA-11053
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11053
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
> Attachments: copy_from_large_benchmark.txt, 
> copy_from_large_benchmark_2.txt, parent_profile.txt, parent_profile_2.txt, 
> worker_profiles.txt, worker_profiles_2.txt
>
>
> Running COPY from on a large dataset (20G divided in 20M records) revealed 
> two issues:
> * The progress report is incorrect, it is very slow until almost the end of 
> the test at which point it catches up extremely quickly.
> * The performance in rows per second is similar to running smaller tests with 
> a smaller cluster locally (approx 35,000 rows per second). As a comparison, 
> cassandra-stress manages 50,000 rows per second under the same set-up, 
> therefore resulting 1.5 times faster. 
> See attached file _copy_from_large_benchmark.txt_ for the benchmark details.



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


[jira] [Comment Edited] (CASSANDRA-10819) Generic Java UDF types

2016-02-03 Thread DOAN DuyHai (JIRA)

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

DOAN DuyHai edited comment on CASSANDRA-10819 at 2/3/16 11:27 PM:
--

Some remark after code review:

{code:java}
 private static String javaSourceName(TypeToken type)
{ 
   String n = type.toString();
   return n.startsWith("java.lang.") ? 
n.substring("java.lang.".length()) : n; 
 }  
{code}

 rather {code}n.replaceAll("java\\.lang\\.",""){code} ? Because now with the 
generics kept, we can have *java.lang.Map*

Otherwise LGTM


was (Author: doanduyhai):
Some remark after code review:

{code:java}
 private static String javaSourceName(TypeToken type)
{ 
   String n = type.toString();
   return n.startsWith("java.lang.") ? 
n.substring("java.lang.".length()) : n; 
 }  
{code}

 rather {code}n.replaceAll("java\\.lang\\.",""){code} ?

> Generic Java UDF types
> --
>
> Key: CASSANDRA-10819
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10819
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL
>Reporter: Robert Stupp
>Assignee: Robert Stupp
>Priority: Minor
>  Labels: UDF, doc-impacting
> Fix For: 3.x
>
>
> At the moment we only generate raw type signatures for Java UDF methods. E.g. 
> a CQL argument type {{map}} is just mapped to {{java.util.Map}} 
> but could be mapped to {{java.util.Map}}.
> It's a probably simple but nice improvement and feels to be a LHF.
> Depending on the complexity it might be doable for 3.0.x, too.
> Thanks for the heads-up, [~doanduyhai]!



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-11067:
-

[~beobal] I've fixed LIKE to be case-insensitive and pushed amended commit to 
the issue branch, going to trigger CI build.

> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-11067:


bq. only if LIKE is used without '%' it means essentially an equals, and "=" is 
always an exact match right now.

But you're talking about exact match for search terms, right?  I'm talking 
about exact match for the entire column.

So,

{code}
SELECT * FROM sasi WHERE bio = 'distributing'
{code}

should return zero rows, but

{code}
SELECT * FROM sasi WHERE bio = 'Software Engineer, works on the freight 
distribution at nights and likes arguing'
{code}

should return one row.

If that's how it already works, I apologize for the noise!

> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Commented] (CASSANDRA-11119) Add bytes-to-compact estimate

2016-02-03 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-9:
--

FWIW, I have seen people confused about pending tasks, and ultimately I just 
end up explaining that it sucks and don't worry about it, so +1.

> Add bytes-to-compact estimate
> -
>
> Key: CASSANDRA-9
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9
> Project: Cassandra
>  Issue Type: Bug
>  Components: Compaction
>Reporter: Jonathan Ellis
> Fix For: 3.x
>
>
> Pending tasks is essentially useless at letting operators know how far behind 
> compaction is.  For STCS, because compaction tasks can vary in size by 
> several orders of magnitude, so "4 more tasks" is a very wide range.  For 
> LCS, I think the problem is that we only look at first-order work (how much 
> larger is level X than it "should" be?) and not cascading effects, 
> particularly in L0 (if we push this into L1, how much does that push into L2 
> etc?).
> I propose adding an estimate of bytes-to-compact (and deprecating estimated 
> tasks).  



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


[jira] [Commented] (CASSANDRA-11035) Use cardinality estimation to pick better compaction candidates for STCS (SizeTieredCompactionStrategy)

2016-02-03 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-11035:


I actually think we may want this disabled for STCS-in-L0, since what you have 
there is a whole bunch of recently flushed data that probably doesn't overwrite 
itself much.  So the overhead of a quadratic cardinality comparison is not 
going to pay off much in terms of better compaction.

> Use cardinality estimation to pick better compaction candidates for STCS 
> (SizeTieredCompactionStrategy)
> ---
>
> Key: CASSANDRA-11035
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11035
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Compaction
>Reporter: Wei Deng
>
> This was initially mentioned in this blog post 
> http://www.datastax.com/dev/blog/improving-compaction-in-cassandra-with-cardinality-estimation
>  but I couldn't find any existing JIRA for it. As stated by [~jbellis], 
> "Potentially even more useful would be using cardinality estimation to pick 
> better compaction candidates. Instead of blindly merging sstables of a 
> similar size a la SizeTieredCompactionStrategy." The L0 STCS in LCS should 
> benefit as well.



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-11067:
-

The problem which that approach is some of the tokenization doesn't cause 
changes to internal structure of the text so requiring always to use "=" is not 
aways adequate. I would say we need to let indexing implementations decide what 
ops to support and how to support them, because "=" for tokenized/stemmed 
results is a norm.

> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-11067:
-

Sure, here is one of the scenarios:

- I create an index on the column - first_name and I just set up 'mode' = 
'PREFIX'
- all the queries I do need to be on the strict equality e.g. `SELECT * FROM 
users WHERE first_name = 'Pavel' LIMIT 10;`
- But then I realize that what I really want is results to be case insensitive 
still do a strict equality on the word itself, so I add 
  option to the index - set analyzer class to NonTokenizingAnalyzer and set 
"case_sensitive" to "false"
- `SELECT * FROM users WHERE first_name = 'Pavel' LIMIT 10;` would still 
produce results (probably more since it can match PaVel, pavel etc.) because 
analyzer would process input text and down-case and match it internally with 
already down-cased index although the original data is not touched at all.

But if we do query enforce LIKE it would mean that my `first_name =` is going 
to start failing with something like following "InvalidRequest("Use LIKE 
instead of EQ for column 'first_name'") instead, which doesn't really make much 
sense to me as a user because I still want to do my strict equality queries.
  

> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Commented] (CASSANDRA-11119) Add bytes-to-compact estimate

2016-02-03 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-9:


We can actually get pretty accurate with STCS thanks to HyperLogLog.

For LCS we're probably still looking at some pretty rough estimates.

> Add bytes-to-compact estimate
> -
>
> Key: CASSANDRA-9
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9
> Project: Cassandra
>  Issue Type: Bug
>  Components: Compaction
>Reporter: Jonathan Ellis
> Fix For: 3.x
>
>
> Pending tasks is essentially useless at letting operators know how far behind 
> compaction is.  For STCS, because compaction tasks can vary in size by 
> several orders of magnitude, so "4 more tasks" is a very wide range.  For 
> LCS, I think the problem is that we only look at first-order work (how much 
> larger is level X than it "should" be?) and not cascading effects, 
> particularly in L0 (if we push this into L1, how much does that push into L2 
> etc?).
> I propose adding an estimate of bytes-to-compact (and deprecating estimated 
> tasks).  



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-11067:
-

If you don't add an analyzer to the column which does stemming and tokenization 
it would work exactly how you describe - "distributing" would return 0 results 
and whole string would be 1, it's tokenization feature which makes it work the 
way it does in the example because after tokenization every term in the of that 
string is a separate entity and even more in case of "distributing" only it's 
stem is going to be saved which is "distribut" that's why matching 
"distributing" vs. "distribution" which is an original value is going to 
produce results, but to make it work there are multiple additional SASI options 
needed, by default it's not going to do any of that. 

> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Commented] (CASSANDRA-11067) Improve SASI syntax

2016-02-03 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-11067:
-

[~beobal] FYI, all CI tests are complete, dtest has 0 errors and testall has 
unrelated failure which happens in the trunk as well.

> Improve SASI syntax
> ---
>
> Key: CASSANDRA-11067
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11067
> Project: Cassandra
>  Issue Type: Task
>  Components: CQL
>Reporter: Jonathan Ellis
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I think everyone agrees that a LIKE operator would be ideal, but that's 
> probably not in scope for an initial 3.4 release.
> Still, I'm uncomfortable with the initial approach of overloading = to mean 
> "satisfies index expression."  The problem is that it will be very difficult 
> to back out of this behavior once people are using it.
> I propose adding a new operator in the interim instead.  Call it MATCHES, 
> maybe.  With the exact same behavior that SASI currently exposes, just with a 
> separate operator rather than being rolled into =.



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


[jira] [Created] (CASSANDRA-11119) Add bytes-to-compact estimate

2016-02-03 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-9:
--

 Summary: Add bytes-to-compact estimate
 Key: CASSANDRA-9
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9
 Project: Cassandra
  Issue Type: Bug
  Components: Compaction
Reporter: Jonathan Ellis
 Fix For: 3.x


Pending tasks is essentially useless at letting operators know how far behind 
compaction is.  For STCS, because compaction tasks can vary in size by several 
orders of magnitude, so "4 more tasks" is a very wide range.  For LCS, I think 
the problem is that we only look at first-order work (how much larger is level 
X than it "should" be?) and not cascading effects, particularly in L0 (if we 
push this into L1, how much does that push into L2 etc?).

I propose adding an estimate of bytes-to-compact (and deprecating estimated 
tasks).  



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


  1   2   >