[jira] [Comment Edited] (CASSANDRA-13408) Cqlsh COPY FROM fails to parse varints

2017-04-04 Thread Stefania (JIRA)

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

Stefania edited comment on CASSANDRA-13408 at 4/5/17 2:00 AM:
--

I could only reproduce this with version 3.8 of the python driver, which 
happened to be installed on my laptop. The bundled version of the python 
driver, 3.7.0.post0-2481531, as well as the latest version, 3.8.1, are fine.

For the records, this is the 
[commit|https://github.com/datastax/python-driver/commit/d96674#diff-afdba094819b7342624f13e92759f1e3R76]
 of the driver that introduced this problem, and this is the 
[commit|https://github.com/datastax/python-driver/commit/3c25965#diff-afdba094819b7342624f13e92759f1e3R83]
 that fixed it.


was (Author: stefania):
I could only reproduce this with the version 3.8 of the python driver, which 
happened to be installed on my laptop. The bundled version of the python 
driver, 3.7.0.post0-2481531, as well as the latest version, 3.8.1, are fine.

For the records, this is the 
[commit|https://github.com/datastax/python-driver/commit/d96674#diff-afdba094819b7342624f13e92759f1e3R76]
 of the driver that introduced this problem, and this is the 
[commit|https://github.com/datastax/python-driver/commit/3c25965#diff-afdba094819b7342624f13e92759f1e3R83]
 that fixed it.

> Cqlsh COPY FROM fails to parse varints
> --
>
> Key: CASSANDRA-13408
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13408
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
>
> CQLSH COPY FROM is failing to import varints. At least for 3.11:
> {code}
> cat test.csv 
> id,varint
> -2147483648,-9223372036854775808
> 2147483647,9223372036854775807
> CREATE KEYSPACE ks WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> CREATE TABLE test ( id int PRIMARY KEY , varint varint );
> COPY test FROM 'test.csv' WITH HEADER = TRUE;
> Failed to make batch statement: Received an argument of invalid type for 
> column "varint". Expected: , Got: 
> ; (descriptor 'bit_length' requires a 'int' object but received a 
> 'long')
> {code}
> Importing without prepared statements, {{WITH HEADER = TRUE AND 
> PREPAREDSTATEMENTS = False}} works without problems.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (CASSANDRA-13408) Cqlsh COPY FROM fails to parse varints

2017-04-04 Thread Stefania (JIRA)

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

Stefania resolved CASSANDRA-13408.
--
Resolution: Not A Problem

> Cqlsh COPY FROM fails to parse varints
> --
>
> Key: CASSANDRA-13408
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13408
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
>
> CQLSH COPY FROM is failing to import varints. At least for 3.11:
> {code}
> cat test.csv 
> id,varint
> -2147483648,-9223372036854775808
> 2147483647,9223372036854775807
> CREATE KEYSPACE ks WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> CREATE TABLE test ( id int PRIMARY KEY , varint varint );
> COPY test FROM 'test.csv' WITH HEADER = TRUE;
> Failed to make batch statement: Received an argument of invalid type for 
> column "varint". Expected: , Got: 
> ; (descriptor 'bit_length' requires a 'int' object but received a 
> 'long')
> {code}
> Importing without prepared statements, {{WITH HEADER = TRUE AND 
> PREPAREDSTATEMENTS = False}} works without problems.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13408) Cqlsh COPY FROM fails to parse varints

2017-04-04 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-13408:
--

I could only reproduce this with the version 3.8 of the python driver, which 
happened to be installed on my laptop. The bundled version of the python 
driver, 3.7.0.post0-2481531, as well as the latest version, 3.8.1, are fine.

For the records, this is the 
[commit|https://github.com/datastax/python-driver/commit/d96674#diff-afdba094819b7342624f13e92759f1e3R76]
 of the driver that introduced this problem, and this is the 
[commit|https://github.com/datastax/python-driver/commit/3c25965#diff-afdba094819b7342624f13e92759f1e3R83]
 that fixed it.

> Cqlsh COPY FROM fails to parse varints
> --
>
> Key: CASSANDRA-13408
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13408
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
>
> CQLSH COPY FROM is failing to import varints. At least for 3.11:
> {code}
> cat test.csv 
> id,varint
> -2147483648,-9223372036854775808
> 2147483647,9223372036854775807
> CREATE KEYSPACE ks WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> CREATE TABLE test ( id int PRIMARY KEY , varint varint );
> COPY test FROM 'test.csv' WITH HEADER = TRUE;
> Failed to make batch statement: Received an argument of invalid type for 
> column "varint". Expected: , Got: 
> ; (descriptor 'bit_length' requires a 'int' object but received a 
> 'long')
> {code}
> Importing without prepared statements, {{WITH HEADER = TRUE AND 
> PREPAREDSTATEMENTS = False}} works without problems.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13408) Cqlsh COPY FROM fails to parse varints

2017-04-04 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-13408:
-
Description: 
CQLSH COPY FROM is failing to import varints. At least for 3.11:

{code}
cat test.csv 
id,varint
-2147483648,-9223372036854775808
2147483647,9223372036854775807

CREATE KEYSPACE ks WITH replication = {'class': 'SimpleStrategy', 
'replication_factor': 1};

CREATE TABLE test ( id int PRIMARY KEY , varint varint );

COPY test FROM 'test.csv' WITH HEADER = TRUE;

Failed to make batch statement: Received an argument of invalid type for column 
"varint". Expected: , Got: ; (descriptor 'bit_length' requires a 'int' object but received a 'long')
{code}

Importing without prepared statements, {{WITH HEADER = TRUE AND 
PREPAREDSTATEMENTS = False}} works without problems.

  was:
CQLSH COPY FROM is failing to import varints. At least for 3.11:

{code}
cat test.csv 
id,varint
-2147483648,-9223372036854775808
2147483647,9223372036854775807

CREATE KEYSPACE ks WITH replication = {'class': 'SimpleStrategy', 
'replication_factor': 1};

CREATE TABLE test ( id int PRIMARY KEY , varint varint );

COPY test FROM 'test.csv' WITH HEADER = TRUE;

Failed to make batch statement: Received an argument of invalid type for column 
"varint". Expected: , Got: ; 
(descriptor 'bit_length' requires a 'int' o
bject but received a 'long')
{code}

Importing without prepared statements, {{WITH HEADER = TRUE AND 
PREPAREDSTATEMENTS = False}} works without problems.


> Cqlsh COPY FROM fails to parse varints
> --
>
> Key: CASSANDRA-13408
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13408
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
>
> CQLSH COPY FROM is failing to import varints. At least for 3.11:
> {code}
> cat test.csv 
> id,varint
> -2147483648,-9223372036854775808
> 2147483647,9223372036854775807
> CREATE KEYSPACE ks WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> CREATE TABLE test ( id int PRIMARY KEY , varint varint );
> COPY test FROM 'test.csv' WITH HEADER = TRUE;
> Failed to make batch statement: Received an argument of invalid type for 
> column "varint". Expected: , Got: 
> ; (descriptor 'bit_length' requires a 'int' object but received a 
> 'long')
> {code}
> Importing without prepared statements, {{WITH HEADER = TRUE AND 
> PREPAREDSTATEMENTS = False}} works without problems.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


cassandra git commit: Add documentation for ideal consistency level metrics.

2017-04-04 Thread aweisberg
Repository: cassandra
Updated Branches:
  refs/heads/trunk bce0aa180 -> 2ba06310d


Add documentation for ideal consistency level metrics.

Patch by Ariel Weisberg; Reviewed by Jason Brown for CASSANDRA-13289


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

Branch: refs/heads/trunk
Commit: 2ba06310daee2e4a84b1f9d78f8445f2951055b7
Parents: bce0aa1
Author: Ariel Weisberg 
Authored: Mon Apr 3 18:48:34 2017 -0400
Committer: Ariel Weisberg 
Committed: Tue Apr 4 19:34:27 2017 -0400

--
 doc/source/operating/metrics.rst | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2ba06310/doc/source/operating/metrics.rst
--
diff --git a/doc/source/operating/metrics.rst b/doc/source/operating/metrics.rst
index 6e1b212..dcf82bc 100644
--- a/doc/source/operating/metrics.rst
+++ b/doc/source/operating/metrics.rst
@@ -138,7 +138,7 @@ Keyspace Metrics
 
 Each keyspace in Cassandra has metrics responsible for tracking its state and 
performance.
 
-These metrics are the same as the ``Table Metrics`` above, only they are 
aggregated at the Keyspace level.
+Most of these metrics are the same as the ``Table Metrics`` above, only they 
are aggregated at the Keyspace level. The keyspace specific metrics are 
specified in the table below.
 
 Reported name format:
 
@@ -148,6 +148,14 @@ Reported name format:
 **JMX MBean**
 ``org.apache.cassandra.metrics:type=Keyspace scope= 
name=``
 
+
+=== == ===
+NameType   Description
+=== == ===
+WriteFailedIdeaCL   CounterNumber of writes that 
failed to achieve the configured ideal consistency level or 0 if none is 
configured
+IdealCLWriteLatency LatencyCoordinator latency of 
writes at the configured ideal consistency level. No values are recorded if 
ideal consistency level is not configured
+=== == ===
+
 ThreadPool Metrics
 ^^
 



[jira] [Commented] (CASSANDRA-13224) testall failure in org.apache.cassandra.db.compaction.CompactionStrategyManagerPendingRepairTest.cleanupCompactionFinalized

2017-04-04 Thread Paulo Motta (JIRA)

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

Paulo Motta commented on CASSANDRA-13224:
-

It seems that the flaky tests 
[PendingRepairManagerTest|http://cassci.datastax.com/view/trunk/job/trunk_testall/lastCompletedBuild/testReport/org.apache.cassandra.db.compaction/PendingRepairManagerTest/history/]
 (CASSANDRA-13207, CASSANDRA-13248) and 
[CompactionStrategyManagerPendingRepairTest|http://cassci.datastax.com/view/trunk/job/trunk_testall/lastCompletedBuild/testReport/org.apache.cassandra.db.compaction/CompactionStrategyManagerPendingRepairTest/history/]
 (this and CASSANDRA-13206) have all a common root cause:
{noformat}
DEBUG [CompactionExecutor:4] 2017-02-20 15:10:45,045 Removing compaction 
strategy for pending repair c0921d40-f77e-11e6-9d70-e9c36734696d on  
ks_1487603444905.tbl
{noformat}

Which seems to be caused by a race with auto-compactions triggered by flush, so 
the simple fix is to just disable autocompaction during these tests. I managed 
to reproduce this with [this multiplexer 
run|https://cassci.datastax.com/job/pauloricardomg-testall-multiplex/4/] and 
fixed by disabling autocompaction during tests: [fixed multiplexer 
run|https://cassci.datastax.com/job/pauloricardomg-testall-multiplex/5/]

Besides this, I also aborted transactions created by 
{{PendingRepairManager.getNextBackgroundTask}} after the assertions since they 
are causing {{LEAK DETECTED}} errors.

I am assuming (and hoping) you haven't started working on this yet so if you 
haven't done so would you mind reviewing this [~bdeggleston]? Otherwise I'm 
happy to review your patch if you already have one in place. Thanks!

||trunk||
|[branch|https://github.com/apache/cassandra/compare/trunk...pauloricardomg:trunk-13224]|
|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-13224-testall/lastCompletedBuild/testReport/]|

> testall failure in 
> org.apache.cassandra.db.compaction.CompactionStrategyManagerPendingRepairTest.cleanupCompactionFinalized
> ---
>
> Key: CASSANDRA-13224
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13224
> Project: Cassandra
>  Issue Type: Bug
>  Components: Testing
>Reporter: Sean McCarthy
>Assignee: Blake Eggleston
>  Labels: test-failure, testall
> Attachments: 
> TEST-org.apache.cassandra.db.compaction.CompactionStrategyManagerPendingRepairTest.log
>
>
> example failure:
> http://cassci.datastax.com/job/trunk_testall/1407/testReport/org.apache.cassandra.db.compaction/CompactionStrategyManagerPendingRepairTest/cleanupCompactionFinalized
> {code}
> Stacktrace
> junit.framework.AssertionFailedError: 
>   at 
> org.apache.cassandra.db.compaction.CompactionStrategyManagerPendingRepairTest.cleanupCompactionFinalized(CompactionStrategyManagerPendingRepairTest.java:235)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13224) testall failure in org.apache.cassandra.db.compaction.CompactionStrategyManagerPendingRepairTest.cleanupCompactionFinalized

2017-04-04 Thread Paulo Motta (JIRA)

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

Paulo Motta updated CASSANDRA-13224:

Status: Patch Available  (was: Open)

> testall failure in 
> org.apache.cassandra.db.compaction.CompactionStrategyManagerPendingRepairTest.cleanupCompactionFinalized
> ---
>
> Key: CASSANDRA-13224
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13224
> Project: Cassandra
>  Issue Type: Bug
>  Components: Testing
>Reporter: Sean McCarthy
>Assignee: Blake Eggleston
>  Labels: test-failure, testall
> Attachments: 
> TEST-org.apache.cassandra.db.compaction.CompactionStrategyManagerPendingRepairTest.log
>
>
> example failure:
> http://cassci.datastax.com/job/trunk_testall/1407/testReport/org.apache.cassandra.db.compaction/CompactionStrategyManagerPendingRepairTest/cleanupCompactionFinalized
> {code}
> Stacktrace
> junit.framework.AssertionFailedError: 
>   at 
> org.apache.cassandra.db.compaction.CompactionStrategyManagerPendingRepairTest.cleanupCompactionFinalized(CompactionStrategyManagerPendingRepairTest.java:235)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13388) Add hosted CI config files (such as Circle and TravisCI) for easier developer testing

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa updated CASSANDRA-13388:
---
   Resolution: Fixed
Fix Version/s: (was: 3.11.x)
   (was: 4.x)
   (was: 3.0.x)
   (was: 2.2.x)
   4.0
   3.11.0
   3.0.13
   2.2.10
   2.1.18
   Status: Resolved  (was: Ready to Commit)

Committed circle.yml as {{d718d421f9e5850c24517da56a8a603755517d02}}

Contributors wishing to use it for testall just need to link their github 
accounts to circleci.





> Add hosted CI config files (such as Circle and TravisCI) for easier developer 
> testing
> -
>
> Key: CASSANDRA-13388
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13388
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Testing
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
> Fix For: 2.1.18, 2.2.10, 3.0.13, 3.11.0, 4.0
>
> Attachments: circle.yml, travis.yml
>
>
> We currently require unit tests and dtests to accept a patch, but it's not 
> easy for most contributors to actually execute these tests in a way that's 
> visible for the reviewer / other JIRA users.
> We should push some standard config files into the various branches to 
> facilitate easier testing. 
> I propose we start with TravisCI and CircleCI, because:
> - Travis has limited free support for developers working on OSS projects, and 
> is already an accepted vendor at the ASF (apparently the ASF pays for 30 
> concurrent tests already), and
> - CircleCI is also free for developers working on OSS projects, and has 
> slightly more flexibility than Travis in terms of the number of free workers 
> and durations.
> Both are enabled by pushing a single YAML file into each branch to configure 
> jobs, and require each individual developer who WANTS to run tests to link 
> their github account to the vendor. Developers who don't want to use this 
> functionality can simply ignore it - they're effectively no-ops for anyone 
> who's not already using those services.
> Are there any others we should consider including? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


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

2017-04-04 Thread jjirsa
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/0efb392b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0efb392b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0efb392b

Branch: refs/heads/cassandra-3.0
Commit: 0efb392bc07f7a2df96a73048e0cbf2ffa73cf1f
Parents: 2f1ab4a fbb061b
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:30:13 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:30:17 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--




[03/15] cassandra git commit: Add circle.yml for easier developer build testing

2017-04-04 Thread jjirsa
Add circle.yml for easier developer build testing

Patch by Jeff Jirsa; Reviewed by Jason Brown for CASSANDRA-13388


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

Branch: refs/heads/trunk
Commit: d718d421f9e5850c24517da56a8a603755517d02
Parents: 301f7c5
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:29:17 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:29:17 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d718d421/circle.yml
--
diff --git a/circle.yml b/circle.yml
new file mode 100644
index 000..f0df312
--- /dev/null
+++ b/circle.yml
@@ -0,0 +1,17 @@
+machine:
+  java:
+version: 'oraclejdk8'
+
+test:
+  pre:
+- sudo ifconfig lo:1 127.0.0.2 up
+- sudo ifconfig lo:2 127.0.0.3 up
+- sudo ifconfig lo:3 127.0.0.4 up
+- sudo ifconfig lo:4 127.0.0.5 up
+- ant build
+
+  override:
+- ant test
+  post:
+- mkdir -p $CIRCLE_TEST_REPORTS/junit/
+- cp ./build/test/output/*.xml $CIRCLE_TEST_REPORTS/junit/



[07/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2017-04-04 Thread jjirsa
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: fbb061be6c6e832c13da448bdb7e86e2e1fdba75
Parents: a79cc98 d718d42
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:29:45 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:30:01 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--




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

2017-04-04 Thread jjirsa
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/0efb392b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0efb392b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0efb392b

Branch: refs/heads/trunk
Commit: 0efb392bc07f7a2df96a73048e0cbf2ffa73cf1f
Parents: 2f1ab4a fbb061b
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:30:13 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:30:17 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--




[04/15] cassandra git commit: Add circle.yml for easier developer build testing

2017-04-04 Thread jjirsa
Add circle.yml for easier developer build testing

Patch by Jeff Jirsa; Reviewed by Jason Brown for CASSANDRA-13388


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

Branch: refs/heads/cassandra-3.0
Commit: d718d421f9e5850c24517da56a8a603755517d02
Parents: 301f7c5
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:29:17 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:29:17 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d718d421/circle.yml
--
diff --git a/circle.yml b/circle.yml
new file mode 100644
index 000..f0df312
--- /dev/null
+++ b/circle.yml
@@ -0,0 +1,17 @@
+machine:
+  java:
+version: 'oraclejdk8'
+
+test:
+  pre:
+- sudo ifconfig lo:1 127.0.0.2 up
+- sudo ifconfig lo:2 127.0.0.3 up
+- sudo ifconfig lo:3 127.0.0.4 up
+- sudo ifconfig lo:4 127.0.0.5 up
+- ant build
+
+  override:
+- ant test
+  post:
+- mkdir -p $CIRCLE_TEST_REPORTS/junit/
+- cp ./build/test/output/*.xml $CIRCLE_TEST_REPORTS/junit/



[05/15] cassandra git commit: Add circle.yml for easier developer build testing

2017-04-04 Thread jjirsa
Add circle.yml for easier developer build testing

Patch by Jeff Jirsa; Reviewed by Jason Brown for CASSANDRA-13388


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

Branch: refs/heads/cassandra-3.11
Commit: d718d421f9e5850c24517da56a8a603755517d02
Parents: 301f7c5
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:29:17 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:29:17 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d718d421/circle.yml
--
diff --git a/circle.yml b/circle.yml
new file mode 100644
index 000..f0df312
--- /dev/null
+++ b/circle.yml
@@ -0,0 +1,17 @@
+machine:
+  java:
+version: 'oraclejdk8'
+
+test:
+  pre:
+- sudo ifconfig lo:1 127.0.0.2 up
+- sudo ifconfig lo:2 127.0.0.3 up
+- sudo ifconfig lo:3 127.0.0.4 up
+- sudo ifconfig lo:4 127.0.0.5 up
+- ant build
+
+  override:
+- ant test
+  post:
+- mkdir -p $CIRCLE_TEST_REPORTS/junit/
+- cp ./build/test/output/*.xml $CIRCLE_TEST_REPORTS/junit/



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

2017-04-04 Thread jjirsa
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/trunk
Commit: 1a3466e439618fe8004734fcd3a2b3aef42725c9
Parents: be96c28 0efb392
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:30:29 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:30:32 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--




[06/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2017-04-04 Thread jjirsa
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/trunk
Commit: fbb061be6c6e832c13da448bdb7e86e2e1fdba75
Parents: a79cc98 d718d42
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:29:45 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:30:01 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--




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

2017-04-04 Thread jjirsa
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/0efb392b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0efb392b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0efb392b

Branch: refs/heads/cassandra-3.11
Commit: 0efb392bc07f7a2df96a73048e0cbf2ffa73cf1f
Parents: 2f1ab4a fbb061b
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:30:13 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:30:17 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--




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

2017-04-04 Thread jjirsa
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/cassandra-3.11
Commit: 1a3466e439618fe8004734fcd3a2b3aef42725c9
Parents: be96c28 0efb392
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:30:29 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:30:32 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--




[02/15] cassandra git commit: Add circle.yml for easier developer build testing

2017-04-04 Thread jjirsa
Add circle.yml for easier developer build testing

Patch by Jeff Jirsa; Reviewed by Jason Brown for CASSANDRA-13388


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

Branch: refs/heads/cassandra-2.2
Commit: d718d421f9e5850c24517da56a8a603755517d02
Parents: 301f7c5
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:29:17 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:29:17 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d718d421/circle.yml
--
diff --git a/circle.yml b/circle.yml
new file mode 100644
index 000..f0df312
--- /dev/null
+++ b/circle.yml
@@ -0,0 +1,17 @@
+machine:
+  java:
+version: 'oraclejdk8'
+
+test:
+  pre:
+- sudo ifconfig lo:1 127.0.0.2 up
+- sudo ifconfig lo:2 127.0.0.3 up
+- sudo ifconfig lo:3 127.0.0.4 up
+- sudo ifconfig lo:4 127.0.0.5 up
+- ant build
+
+  override:
+- ant test
+  post:
+- mkdir -p $CIRCLE_TEST_REPORTS/junit/
+- cp ./build/test/output/*.xml $CIRCLE_TEST_REPORTS/junit/



[09/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2017-04-04 Thread jjirsa
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-3.11
Commit: fbb061be6c6e832c13da448bdb7e86e2e1fdba75
Parents: a79cc98 d718d42
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:29:45 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:30:01 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--




[08/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2017-04-04 Thread jjirsa
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-3.0
Commit: fbb061be6c6e832c13da448bdb7e86e2e1fdba75
Parents: a79cc98 d718d42
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:29:45 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:30:01 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--




[01/15] cassandra git commit: Add circle.yml for easier developer build testing

2017-04-04 Thread jjirsa
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 301f7c5b7 -> d718d421f
  refs/heads/cassandra-2.2 a79cc9840 -> fbb061be6
  refs/heads/cassandra-3.0 2f1ab4a42 -> 0efb392bc
  refs/heads/cassandra-3.11 be96c2840 -> 1a3466e43
  refs/heads/trunk 5d8b5cce4 -> bce0aa180


Add circle.yml for easier developer build testing

Patch by Jeff Jirsa; Reviewed by Jason Brown for CASSANDRA-13388


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

Branch: refs/heads/cassandra-2.1
Commit: d718d421f9e5850c24517da56a8a603755517d02
Parents: 301f7c5
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:29:17 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:29:17 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d718d421/circle.yml
--
diff --git a/circle.yml b/circle.yml
new file mode 100644
index 000..f0df312
--- /dev/null
+++ b/circle.yml
@@ -0,0 +1,17 @@
+machine:
+  java:
+version: 'oraclejdk8'
+
+test:
+  pre:
+- sudo ifconfig lo:1 127.0.0.2 up
+- sudo ifconfig lo:2 127.0.0.3 up
+- sudo ifconfig lo:3 127.0.0.4 up
+- sudo ifconfig lo:4 127.0.0.5 up
+- ant build
+
+  override:
+- ant test
+  post:
+- mkdir -p $CIRCLE_TEST_REPORTS/junit/
+- cp ./build/test/output/*.xml $CIRCLE_TEST_REPORTS/junit/



[15/15] cassandra git commit: Merge branch 'cassandra-3.11' into trunk

2017-04-04 Thread jjirsa
Merge branch 'cassandra-3.11' into trunk


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

Branch: refs/heads/trunk
Commit: bce0aa180f3ce2d5d30105a2975115f16ad89cc2
Parents: 5d8b5cc 1a3466e
Author: Jeff Jirsa 
Authored: Tue Apr 4 14:30:43 2017 -0700
Committer: Jeff Jirsa 
Committed: Tue Apr 4 14:30:46 2017 -0700

--
 circle.yml | 17 +
 1 file changed, 17 insertions(+)
--




[jira] [Commented] (CASSANDRA-13151) Unicode unittest fail

2017-04-04 Thread Jay Zhuang (JIRA)

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

Jay Zhuang commented on CASSANDRA-13151:


Thanks Alex for the fix. Verified the change locally and it works fine. +1

A few minor comments, or further improvement questions:
1. How about change {{Charset.forName("UTF-8")}} to {{StandardCharsets.UTF_8}}? 
at least to consistency with 
[StopWordFactory.java|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/index/sasi/analyzer/filter/StopWordFactory.java#L79].
2. There're other {{InputStreamReader}} without set the coding, will they also 
be problems?
3. Maybe add an unittest to set the Locale and test this?
4. Nit: remove unused import {{java.util.Locale}}

> Unicode unittest fail
> -
>
> Key: CASSANDRA-13151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13151
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jay Zhuang
>Assignee: Alex Petrov
>
> Following unittests are failed in 3.11 and trunk(4.0) branch
> {noformat}
> SASIIndexTest.testUnicodeSupport
> StandardAnalyzerTest.testTokenizationJaJp1
> StandardAnalyzerTest.testTokenizationJaJp2
> StandardAnalyzerTest.testTokenizationRuRu1
> StandardAnalyzerTest.testTokenizationZnTw1
> {noformat}
> It works fine on my local mac, but not linux server. I guess it's related to 
> Unicode setting. Does anyone have any idea on that? (could it be related to 
> CASSANDRA-11077, CASSANDRA-11431?)
> Here are the failure details
> {noformat}
> $ ant testsome -Dtest.name=org.apache.cassandra.index.sasi.SASIIndexTest 
> -Dtest.methods=testUnicodeSupport
> ...
> [junit] Testcase: 
> testUnicodeSupport(org.apache.cassandra.index.sasi.SASIIndexTest):
> FAILED
> [junit] []
> [junit] junit.framework.AssertionFailedError: []
> [junit] at 
> org.apache.cassandra.index.sasi.SASIIndexTest.testUnicodeSupport(SASIIndexTest.java:1159)
> [junit] at 
> org.apache.cassandra.index.sasi.SASIIndexTest.testUnicodeSupport(SASIIndexTest.java:1122)
> {noformat}
> {noformat}
> $ ant test -Dtest.name=StandardAnalyzerTest
> ...
> [junit] Testcase: 
> testTokenizationJaJp1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<210> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<210> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationJaJp1(StandardAnalyzerTest.java:85)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationJaJp2(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<57> but was:<9>
> [junit] junit.framework.AssertionFailedError: expected:<57> but was:<9>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationJaJp2(StandardAnalyzerTest.java:104)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationRuRu1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<456> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<456> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationRuRu1(StandardAnalyzerTest.java:120)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationZnTw1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<963> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<963> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationZnTw1(StandardAnalyzerTest.java:136)
> [junit]
> [junit]
> [junit] Test 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest FAILED
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13388) Add hosted CI config files (such as Circle and TravisCI) for easier developer testing

2017-04-04 Thread Jason Brown (JIRA)

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

Jason Brown updated CASSANDRA-13388:

Status: Ready to Commit  (was: Awaiting Feedback)

> Add hosted CI config files (such as Circle and TravisCI) for easier developer 
> testing
> -
>
> Key: CASSANDRA-13388
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13388
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Testing
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.x
>
> Attachments: circle.yml, travis.yml
>
>
> We currently require unit tests and dtests to accept a patch, but it's not 
> easy for most contributors to actually execute these tests in a way that's 
> visible for the reviewer / other JIRA users.
> We should push some standard config files into the various branches to 
> facilitate easier testing. 
> I propose we start with TravisCI and CircleCI, because:
> - Travis has limited free support for developers working on OSS projects, and 
> is already an accepted vendor at the ASF (apparently the ASF pays for 30 
> concurrent tests already), and
> - CircleCI is also free for developers working on OSS projects, and has 
> slightly more flexibility than Travis in terms of the number of free workers 
> and durations.
> Both are enabled by pushing a single YAML file into each branch to configure 
> jobs, and require each individual developer who WANTS to run tests to link 
> their github account to the vendor. Developers who don't want to use this 
> functionality can simply ignore it - they're effectively no-ops for anyone 
> who's not already using those services.
> Are there any others we should consider including? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (CASSANDRA-12728) Handling partially written hint files

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa edited comment on CASSANDRA-12728 at 4/4/17 8:34 PM:


Given the delay on reviewing the patch (uploaded in October), I've gone ahead 
and made the tweaks suggested by Aleksey (at least the code changes, I'll add 
the NEWS entry on final commit) and kicked off CI. I'll keep the assignee and 
author on the commit as {{Garvit Juniwal}} to recognize his work/contribution.

|| Branch || Testall || Dtest||
| [3.0|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.0-12728] | 
[testall on 
circle|https://circleci.com/gh/jeffjirsa/cassandra/tree/cassandra-3.0-12728] | |
| [3.11|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.11-12728] 
|[testall on 
circle|https://circleci.com/gh/jeffjirsa/cassandra/tree/cassandra-3.11-12728] | 
|
| [trunk|https://github.com/jeffjirsa/cassandra/commits/cassandra-12728] | 
[testall on 
circle|https://circleci.com/gh/jeffjirsa/cassandra/tree/cassandra-12728] | |

(CI links coming soon)



was (Author: jjirsa):
Given the delay on reviewing the patch (uploaded in October), I've gone ahead 
and made the tweaks suggested by Aleksey (at least the code changes, I'll add 
the NEWS entry on final commit) and kicked off CI. I'll keep the assignee and 
author on the commit as {{Garvit Juniwal}} to recognize his work/contribution.

|| Branch || Testall || Dtest||
| [3.0|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.0-12728] | | |
| [3.11|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.11-12728] | 
| |
| [trunk|https://github.com/jeffjirsa/cassandra/commits/cassandra-12728] | | |

(CI links coming soon)


> Handling partially written hint files
> -
>
> Key: CASSANDRA-12728
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12728
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sharvanath Pathak
>Assignee: Garvit Juniwal
>  Labels: lhf
> Attachments: CASSANDRA-12728.patch
>
>
> {noformat}
> ERROR [HintsDispatcher:1] 2016-09-28 17:44:43,397 
> HintsDispatchExecutor.java:225 - Failed to dispatch hints file 
> d5d7257c-9f81-49b2-8633-6f9bda6e3dea-1474892654160-1.hints: file is corrupted 
> ({})
> org.apache.cassandra.io.FSReadError: java.io.EOFException
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:282)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:252)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.sendHints(HintsDispatcher.java:156)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.sendHintsAndAwait(HintsDispatcher.java:137)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:119) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:91) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.deliver(HintsDispatchExecutor.java:259)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:242)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:220)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.run(HintsDispatchExecutor.java:199)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_77]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_77]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_77]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_77]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]
> Caused by: java.io.EOFException: null
> at 
> org.apache.cassandra.io.util.RebufferingInputStream.readFully(RebufferingInputStream.java:68)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.io.util.RebufferingInputStream.readFully(RebufferingInputStream.java:60)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hint

[jira] [Comment Edited] (CASSANDRA-13388) Add hosted CI config files (such as Circle and TravisCI) for easier developer testing

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa edited comment on CASSANDRA-13388 at 4/4/17 8:18 PM:


I've been using the {{circle.yml}} recently - for example CASSANDRA-13410 

- A successful CI run looks like this: 
https://circleci.com/gh/jeffjirsa/cassandra/76 (all green)

{quote}
Your build ran 2359 tests in junit with 0 failures
Slowest test: org.apache.cassandra.utils.IntegerIntervalsTest 
testSetAddMultiThread (took 51.57 seconds).
{quote}

- A failed CI run looks like https://circleci.com/gh/jeffjirsa/cassandra/75 

{quote}
Your build ran 2980 tests with 1 failure
testDroppedMessages - org.apache.cassandra.net.MessagingServiceTest
{quote}

This is completely free, and works on github push without.

Any objections to getting {{circle.yml}} into the repo? 



was (Author: jjirsa):
I've been using the {{circle.yml}} recently - for example CASSANDRA-13410 

- A successful CI run looks like this: 
https://circleci.com/gh/jeffjirsa/cassandra/76 (all green)

- A failed CI run looks like https://circleci.com/gh/jeffjirsa/cassandra/75 

{quote}
Your build ran 2980 tests with 1 failure
testDroppedMessages - org.apache.cassandra.net.MessagingServiceTest
{quote}

This is completely free, and works on github push without.

Any objections to getting {{circle.yml}} into the repo? 


> Add hosted CI config files (such as Circle and TravisCI) for easier developer 
> testing
> -
>
> Key: CASSANDRA-13388
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13388
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Testing
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.x
>
> Attachments: circle.yml, travis.yml
>
>
> We currently require unit tests and dtests to accept a patch, but it's not 
> easy for most contributors to actually execute these tests in a way that's 
> visible for the reviewer / other JIRA users.
> We should push some standard config files into the various branches to 
> facilitate easier testing. 
> I propose we start with TravisCI and CircleCI, because:
> - Travis has limited free support for developers working on OSS projects, and 
> is already an accepted vendor at the ASF (apparently the ASF pays for 30 
> concurrent tests already), and
> - CircleCI is also free for developers working on OSS projects, and has 
> slightly more flexibility than Travis in terms of the number of free workers 
> and durations.
> Both are enabled by pushing a single YAML file into each branch to configure 
> jobs, and require each individual developer who WANTS to run tests to link 
> their github account to the vendor. Developers who don't want to use this 
> functionality can simply ignore it - they're effectively no-ops for anyone 
> who's not already using those services.
> Are there any others we should consider including? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (CASSANDRA-13388) Add hosted CI config files (such as Circle and TravisCI) for easier developer testing

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa edited comment on CASSANDRA-13388 at 4/4/17 8:18 PM:


I've been using the {{circle.yml}} recently - for example CASSANDRA-13410 

- A successful CI run looks like this: 
https://circleci.com/gh/jeffjirsa/cassandra/76 (all green)

- A failed CI run looks like https://circleci.com/gh/jeffjirsa/cassandra/75 

{quote}
Your build ran 2980 tests with 1 failure
testDroppedMessages - org.apache.cassandra.net.MessagingServiceTest
{quote}

This is completely free, and works on github push without.

Any objections to getting {{circle.yml}} into the repo? 



was (Author: jjirsa):
I've been using the {{circle.yml}} recently - for example CASSANDRA-13410 

- A successful CI run looks like this: 
https://circleci.com/gh/jeffjirsa/cassandra/77 (all green)

- A failed CI run looks like https://circleci.com/gh/jeffjirsa/cassandra/75 

{quote}
Your build ran 2980 tests with 1 failure
testDroppedMessages - org.apache.cassandra.net.MessagingServiceTest
{quote}

This is completely free, and works on github push without.

Any objections to getting {{circle.yml}} into the repo? 


> Add hosted CI config files (such as Circle and TravisCI) for easier developer 
> testing
> -
>
> Key: CASSANDRA-13388
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13388
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Testing
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.x
>
> Attachments: circle.yml, travis.yml
>
>
> We currently require unit tests and dtests to accept a patch, but it's not 
> easy for most contributors to actually execute these tests in a way that's 
> visible for the reviewer / other JIRA users.
> We should push some standard config files into the various branches to 
> facilitate easier testing. 
> I propose we start with TravisCI and CircleCI, because:
> - Travis has limited free support for developers working on OSS projects, and 
> is already an accepted vendor at the ASF (apparently the ASF pays for 30 
> concurrent tests already), and
> - CircleCI is also free for developers working on OSS projects, and has 
> slightly more flexibility than Travis in terms of the number of free workers 
> and durations.
> Both are enabled by pushing a single YAML file into each branch to configure 
> jobs, and require each individual developer who WANTS to run tests to link 
> their github account to the vendor. Developers who don't want to use this 
> functionality can simply ignore it - they're effectively no-ops for anyone 
> who's not already using those services.
> Are there any others we should consider including? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13388) Add hosted CI config files (such as Circle and TravisCI) for easier developer testing

2017-04-04 Thread Nate McCall (JIRA)

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

Nate McCall commented on CASSANDRA-13388:
-

Super cool! Thanks, [~jjirsa]! Glad to have another free option.

> Add hosted CI config files (such as Circle and TravisCI) for easier developer 
> testing
> -
>
> Key: CASSANDRA-13388
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13388
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Testing
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.x
>
> Attachments: circle.yml, travis.yml
>
>
> We currently require unit tests and dtests to accept a patch, but it's not 
> easy for most contributors to actually execute these tests in a way that's 
> visible for the reviewer / other JIRA users.
> We should push some standard config files into the various branches to 
> facilitate easier testing. 
> I propose we start with TravisCI and CircleCI, because:
> - Travis has limited free support for developers working on OSS projects, and 
> is already an accepted vendor at the ASF (apparently the ASF pays for 30 
> concurrent tests already), and
> - CircleCI is also free for developers working on OSS projects, and has 
> slightly more flexibility than Travis in terms of the number of free workers 
> and durations.
> Both are enabled by pushing a single YAML file into each branch to configure 
> jobs, and require each individual developer who WANTS to run tests to link 
> their github account to the vendor. Developers who don't want to use this 
> functionality can simply ignore it - they're effectively no-ops for anyone 
> who's not already using those services.
> Are there any others we should consider including? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13388) Add hosted CI config files (such as Circle and TravisCI) for easier developer testing

2017-04-04 Thread Jason Brown (JIRA)

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

Jason Brown updated CASSANDRA-13388:

Reviewer: Jason Brown

> Add hosted CI config files (such as Circle and TravisCI) for easier developer 
> testing
> -
>
> Key: CASSANDRA-13388
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13388
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Testing
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.x
>
> Attachments: circle.yml, travis.yml
>
>
> We currently require unit tests and dtests to accept a patch, but it's not 
> easy for most contributors to actually execute these tests in a way that's 
> visible for the reviewer / other JIRA users.
> We should push some standard config files into the various branches to 
> facilitate easier testing. 
> I propose we start with TravisCI and CircleCI, because:
> - Travis has limited free support for developers working on OSS projects, and 
> is already an accepted vendor at the ASF (apparently the ASF pays for 30 
> concurrent tests already), and
> - CircleCI is also free for developers working on OSS projects, and has 
> slightly more flexibility than Travis in terms of the number of free workers 
> and durations.
> Both are enabled by pushing a single YAML file into each branch to configure 
> jobs, and require each individual developer who WANTS to run tests to link 
> their github account to the vendor. Developers who don't want to use this 
> functionality can simply ignore it - they're effectively no-ops for anyone 
> who's not already using those services.
> Are there any others we should consider including? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13388) Add hosted CI config files (such as Circle and TravisCI) for easier developer testing

2017-04-04 Thread Jason Brown (JIRA)

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

Jason Brown commented on CASSANDRA-13388:
-

I'm +1 on committing the circle build file, and I'll leave it to your 
discretion on the travis file.  

> Add hosted CI config files (such as Circle and TravisCI) for easier developer 
> testing
> -
>
> Key: CASSANDRA-13388
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13388
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Testing
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.x
>
> Attachments: circle.yml, travis.yml
>
>
> We currently require unit tests and dtests to accept a patch, but it's not 
> easy for most contributors to actually execute these tests in a way that's 
> visible for the reviewer / other JIRA users.
> We should push some standard config files into the various branches to 
> facilitate easier testing. 
> I propose we start with TravisCI and CircleCI, because:
> - Travis has limited free support for developers working on OSS projects, and 
> is already an accepted vendor at the ASF (apparently the ASF pays for 30 
> concurrent tests already), and
> - CircleCI is also free for developers working on OSS projects, and has 
> slightly more flexibility than Travis in terms of the number of free workers 
> and durations.
> Both are enabled by pushing a single YAML file into each branch to configure 
> jobs, and require each individual developer who WANTS to run tests to link 
> their github account to the vendor. Developers who don't want to use this 
> functionality can simply ignore it - they're effectively no-ops for anyone 
> who's not already using those services.
> Are there any others we should consider including? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (CASSANDRA-13388) Add hosted CI config files (such as Circle and TravisCI) for easier developer testing

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa edited comment on CASSANDRA-13388 at 4/4/17 7:56 PM:


I've been using the {{circle.yml}} recently - for example CASSANDRA-13410 

- A successful CI run looks like this: 
https://circleci.com/gh/jeffjirsa/cassandra/77 (all green)

- A failed CI run looks like https://circleci.com/gh/jeffjirsa/cassandra/75 

{quote}
Your build ran 2980 tests with 1 failure
testDroppedMessages - org.apache.cassandra.net.MessagingServiceTest
{quote}

This is completely free, and works on github push without.

Any objections to getting {{circle.yml}} into the repo? 



was (Author: jjirsa):
I've been using the {{circle.yml}} recently - for example CASSANDRA-13410 

- A successful CI run looks like this: 
https://circleci.com/gh/jeffjirsa/cassandra/77 (all green)

- A failed CI run looks like https://circleci.com/gh/jeffjirsa/cassandra/75 

{quote}
Your build ran 2980 tests with 1 failure
testDroppedMessages - org.apache.cassandra.net.MessagingServiceTest
{quote}



> Add hosted CI config files (such as Circle and TravisCI) for easier developer 
> testing
> -
>
> Key: CASSANDRA-13388
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13388
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Testing
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.x
>
> Attachments: circle.yml, travis.yml
>
>
> We currently require unit tests and dtests to accept a patch, but it's not 
> easy for most contributors to actually execute these tests in a way that's 
> visible for the reviewer / other JIRA users.
> We should push some standard config files into the various branches to 
> facilitate easier testing. 
> I propose we start with TravisCI and CircleCI, because:
> - Travis has limited free support for developers working on OSS projects, and 
> is already an accepted vendor at the ASF (apparently the ASF pays for 30 
> concurrent tests already), and
> - CircleCI is also free for developers working on OSS projects, and has 
> slightly more flexibility than Travis in terms of the number of free workers 
> and durations.
> Both are enabled by pushing a single YAML file into each branch to configure 
> jobs, and require each individual developer who WANTS to run tests to link 
> their github account to the vendor. Developers who don't want to use this 
> functionality can simply ignore it - they're effectively no-ops for anyone 
> who's not already using those services.
> Are there any others we should consider including? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13404) Hostname verification for client-to-node encryption

2017-04-04 Thread Jason Brown (JIRA)

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

Jason Brown commented on CASSANDRA-13404:
-

To back up and add a bit more context (for myself, if anything), where do you 
want to add the additional hostname verification? Can you explain the specific 
behavior you're looking to add? The attached patch adds hostname verification 
on the server-side, where we listen for client connections. Adding hostname 
verification to the server-side of a TLS connection doesn't make much sense 
without requiring client auth, correct? Further, this would require the 
database server to know *all* of the possible peers that would want to connect 
to it, before the process starts.

Please let me know if I'm misunderstanding something here.

Also, I've spoken with the netty developers, and they said netty currently does 
not support  (in either netty 4.0 or 4.1) the ability to perform hostname 
verification on the server side (either openssl or jdk ssl). Thus, I'm not sure 
how you verified your patch behaves correctly.



> Hostname verification for client-to-node encryption
> ---
>
> Key: CASSANDRA-13404
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13404
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Jan Karlsson
>Assignee: Jan Karlsson
> Fix For: 4.x
>
> Attachments: 13404-trunk.txt
>
>
> Similarily to CASSANDRA-9220, Cassandra should support hostname verification 
> for client-node connections.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13388) Add hosted CI config files (such as Circle and TravisCI) for easier developer testing

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa commented on CASSANDRA-13388:


I've been using the {{circle.yml}} recently - for example CASSANDRA-13410 

- A successful CI run looks like this: 
https://circleci.com/gh/jeffjirsa/cassandra/77 (all green)

- A failed CI run looks like https://circleci.com/gh/jeffjirsa/cassandra/75:

{quote}
Your build ran 2980 tests with 1 failure
testDroppedMessages - org.apache.cassandra.net.MessagingServiceTest
{quote}



> Add hosted CI config files (such as Circle and TravisCI) for easier developer 
> testing
> -
>
> Key: CASSANDRA-13388
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13388
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Testing
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.x
>
> Attachments: circle.yml, travis.yml
>
>
> We currently require unit tests and dtests to accept a patch, but it's not 
> easy for most contributors to actually execute these tests in a way that's 
> visible for the reviewer / other JIRA users.
> We should push some standard config files into the various branches to 
> facilitate easier testing. 
> I propose we start with TravisCI and CircleCI, because:
> - Travis has limited free support for developers working on OSS projects, and 
> is already an accepted vendor at the ASF (apparently the ASF pays for 30 
> concurrent tests already), and
> - CircleCI is also free for developers working on OSS projects, and has 
> slightly more flexibility than Travis in terms of the number of free workers 
> and durations.
> Both are enabled by pushing a single YAML file into each branch to configure 
> jobs, and require each individual developer who WANTS to run tests to link 
> their github account to the vendor. Developers who don't want to use this 
> functionality can simply ignore it - they're effectively no-ops for anyone 
> who's not already using those services.
> Are there any others we should consider including? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (CASSANDRA-13388) Add hosted CI config files (such as Circle and TravisCI) for easier developer testing

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa edited comment on CASSANDRA-13388 at 4/4/17 7:55 PM:


I've been using the {{circle.yml}} recently - for example CASSANDRA-13410 

- A successful CI run looks like this: 
https://circleci.com/gh/jeffjirsa/cassandra/77 (all green)

- A failed CI run looks like https://circleci.com/gh/jeffjirsa/cassandra/75 

{quote}
Your build ran 2980 tests with 1 failure
testDroppedMessages - org.apache.cassandra.net.MessagingServiceTest
{quote}




was (Author: jjirsa):
I've been using the {{circle.yml}} recently - for example CASSANDRA-13410 

- A successful CI run looks like this: 
https://circleci.com/gh/jeffjirsa/cassandra/77 (all green)

- A failed CI run looks like https://circleci.com/gh/jeffjirsa/cassandra/75:

{quote}
Your build ran 2980 tests with 1 failure
testDroppedMessages - org.apache.cassandra.net.MessagingServiceTest
{quote}



> Add hosted CI config files (such as Circle and TravisCI) for easier developer 
> testing
> -
>
> Key: CASSANDRA-13388
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13388
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Testing
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.x
>
> Attachments: circle.yml, travis.yml
>
>
> We currently require unit tests and dtests to accept a patch, but it's not 
> easy for most contributors to actually execute these tests in a way that's 
> visible for the reviewer / other JIRA users.
> We should push some standard config files into the various branches to 
> facilitate easier testing. 
> I propose we start with TravisCI and CircleCI, because:
> - Travis has limited free support for developers working on OSS projects, and 
> is already an accepted vendor at the ASF (apparently the ASF pays for 30 
> concurrent tests already), and
> - CircleCI is also free for developers working on OSS projects, and has 
> slightly more flexibility than Travis in terms of the number of free workers 
> and durations.
> Both are enabled by pushing a single YAML file into each branch to configure 
> jobs, and require each individual developer who WANTS to run tests to link 
> their github account to the vendor. Developers who don't want to use this 
> functionality can simply ignore it - they're effectively no-ops for anyone 
> who's not already using those services.
> Are there any others we should consider including? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13410) nodetool upgradesstables/scrub/compact ignores system tables

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa commented on CASSANDRA-13410:


Reviewer: ignore the circle.yml commit, it's only there to enable me to run 
unit tests. The single line patch applies to all 3 versions cleanly.


> nodetool upgradesstables/scrub/compact ignores system tables
> 
>
> Key: CASSANDRA-13410
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13410
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
>Priority: Minor
> Fix For: 3.0.x, 3.11.x, 4.x
>
>
> CASSANDRA-11627 changed the behavior of nodetool commands that work across 
> all keyspaces. Sometimes it's OK (not compacting system.peers when you call 
> compact probably isn't going to anger anyone), but sometimes it's not 
> (disableautocompaction, flush, upgradesstables, etc).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13410) nodetool upgradesstables/scrub/compact ignores system tables

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa updated CASSANDRA-13410:
---
Status: Patch Available  (was: Open)

> nodetool upgradesstables/scrub/compact ignores system tables
> 
>
> Key: CASSANDRA-13410
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13410
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
>Priority: Minor
> Fix For: 3.0.x, 3.11.x, 4.x
>
>
> CASSANDRA-11627 changed the behavior of nodetool commands that work across 
> all keyspaces. Sometimes it's OK (not compacting system.peers when you call 
> compact probably isn't going to anger anyone), but sometimes it's not 
> (disableautocompaction, flush, upgradesstables, etc).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13410) nodetool upgradesstables/scrub/compact ignores system tables

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa commented on CASSANDRA-13410:


|| branch || utests || dtests ||
| [3.0|https://github.com/jeffjirsa/cassandra/tree/cassandra-3.0-13410] | 
[testall|https://circleci.com/gh/jeffjirsa/cassandra/tree/cassandra-3.0-13410] 
| [dtest|http://cassci.datastax.com/job/jeffjirsa-cassandra-3.0-13410-dtest/] |
| [3.11|https://github.com/jeffjirsa/cassandra/tree/cassandra-3.11-13410] | 
[testall|https://circleci.com/gh/jeffjirsa/cassandra/tree/cassandra-3.11-13410] 
| [dtest|http://cassci.datastax.com/job/jeffjirsa-cassandra-3.11-13410-dtest/] |
| [trunk|https://github.com/jeffjirsa/cassandra/tree/cassandra-13410] | 
[testall|https://circleci.com/gh/jeffjirsa/cassandra/tree/cassandra-13410] | 
[dtest|http://cassci.datastax.com/job/jeffjirsa-cassandra-13410-dtest/] |



> nodetool upgradesstables/scrub/compact ignores system tables
> 
>
> Key: CASSANDRA-13410
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13410
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
>Priority: Minor
> Fix For: 3.0.x, 3.11.x, 4.x
>
>
> CASSANDRA-11627 changed the behavior of nodetool commands that work across 
> all keyspaces. Sometimes it's OK (not compacting system.peers when you call 
> compact probably isn't going to anger anyone), but sometimes it's not 
> (disableautocompaction, flush, upgradesstables, etc).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (CASSANDRA-13289) Make it possible to monitor an ideal consistency level separate from actual consistency level

2017-04-04 Thread Jason Brown (JIRA)

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

Jason Brown edited comment on CASSANDRA-13289 at 4/4/17 7:28 PM:
-

[~aweisberg] +1 to the updated docs


was (Author: jasobrown):
[~aweisberg] +1

> Make it possible to monitor an ideal consistency level separate from actual 
> consistency level
> -
>
> Key: CASSANDRA-13289
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13289
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Ariel Weisberg
>Assignee: Ariel Weisberg
> Fix For: 4.0
>
>
> As an operator there are several issues related to multi-datacenter 
> replication and consistency you may want to have more information on from 
> your production database.
> For instance. If your application writes at LOCAL_QUORUM how often are those 
> writes failing to achieve EACH_QUORUM at other data centers. If you failed 
> your application over to one of those data centers roughly how inconsistent 
> might it be given the number of writes that didn't propagate since the last 
> incremental repair?
> You might also want to know roughly what the latency of writes would be if 
> you switched to a different consistency level. For instance you are writing 
> at LOCAL_QUORUM and want to know what would happen if you switched to 
> EACH_QUORUM.
> The proposed change is to allow an ideal_consistency_level to be specified in 
> cassandra.yaml as well as get/set via JMX. If no ideal consistency level is 
> specified no additional tracking is done.
> if an ideal consistency level is specified then the 
> {{AbstractWriteResponesHandler}} will contain a delegate WriteResponseHandler 
> that tracks whether the ideal consistency level is met before a write times 
> out. It also tracks the latency for achieving the ideal CL  of successful 
> writes.
> These two metrics would be reported on a per keyspace basis.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13289) Make it possible to monitor an ideal consistency level separate from actual consistency level

2017-04-04 Thread Jason Brown (JIRA)

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

Jason Brown commented on CASSANDRA-13289:
-

[~aweisberg] +1

> Make it possible to monitor an ideal consistency level separate from actual 
> consistency level
> -
>
> Key: CASSANDRA-13289
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13289
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Ariel Weisberg
>Assignee: Ariel Weisberg
> Fix For: 4.0
>
>
> As an operator there are several issues related to multi-datacenter 
> replication and consistency you may want to have more information on from 
> your production database.
> For instance. If your application writes at LOCAL_QUORUM how often are those 
> writes failing to achieve EACH_QUORUM at other data centers. If you failed 
> your application over to one of those data centers roughly how inconsistent 
> might it be given the number of writes that didn't propagate since the last 
> incremental repair?
> You might also want to know roughly what the latency of writes would be if 
> you switched to a different consistency level. For instance you are writing 
> at LOCAL_QUORUM and want to know what would happen if you switched to 
> EACH_QUORUM.
> The proposed change is to allow an ideal_consistency_level to be specified in 
> cassandra.yaml as well as get/set via JMX. If no ideal consistency level is 
> specified no additional tracking is done.
> if an ideal consistency level is specified then the 
> {{AbstractWriteResponesHandler}} will contain a delegate WriteResponseHandler 
> that tracks whether the ideal consistency level is met before a write times 
> out. It also tracks the latency for achieving the ideal CL  of successful 
> writes.
> These two metrics would be reported on a per keyspace basis.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-12728) Handling partially written hint files

2017-04-04 Thread Garvit Juniwal (JIRA)

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

Garvit Juniwal commented on CASSANDRA-12728:


[~jjirsa] Thanks a lot. Just yesterday I was looking into getting my cassandra 
repo back and make/test the suggested changes but inertia kept me back. I am 
also not familiar with the commit process. Your help is really appreciated.

> Handling partially written hint files
> -
>
> Key: CASSANDRA-12728
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12728
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sharvanath Pathak
>Assignee: Garvit Juniwal
>  Labels: lhf
> Attachments: CASSANDRA-12728.patch
>
>
> {noformat}
> ERROR [HintsDispatcher:1] 2016-09-28 17:44:43,397 
> HintsDispatchExecutor.java:225 - Failed to dispatch hints file 
> d5d7257c-9f81-49b2-8633-6f9bda6e3dea-1474892654160-1.hints: file is corrupted 
> ({})
> org.apache.cassandra.io.FSReadError: java.io.EOFException
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:282)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:252)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.sendHints(HintsDispatcher.java:156)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.sendHintsAndAwait(HintsDispatcher.java:137)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:119) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:91) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.deliver(HintsDispatchExecutor.java:259)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:242)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:220)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.run(HintsDispatchExecutor.java:199)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_77]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_77]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_77]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_77]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]
> Caused by: java.io.EOFException: null
> at 
> org.apache.cassandra.io.util.RebufferingInputStream.readFully(RebufferingInputStream.java:68)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.io.util.RebufferingInputStream.readFully(RebufferingInputStream.java:60)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.ChecksummedDataInput.readFully(ChecksummedDataInput.java:126)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:402) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.readBuffer(HintsReader.java:310)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNextInternal(HintsReader.java:301)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:278)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> ... 15 common frames omitted
> {noformat}
> We've found out that the hint file was truncated because there was a hard 
> reboot around the time of last write to the file. I think we basically need 
> to handle partially written hint files. Also, the CRC file does not exist in 
> this case (probably because it crashed while writing the hints file). May be 
> ignoring and cleaning up such partially written hint files can be a way to 
> fix this?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (CASSANDRA-12728) Handling partially written hint files

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa edited comment on CASSANDRA-12728 at 4/4/17 6:39 PM:


Given the delay on reviewing the patch (uploaded in October), I've gone ahead 
and made the tweaks suggested by Aleksey (at least the code changes, I'll add 
the NEWS entry on final commit) and kicked off CI. I'll keep the assignee and 
author on the commit as {{Garvit Juniwal}} to recognize his work/contribution.

|| Branch || Testall || Dtest||
| [3.0|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.0-12728] | | |
| [3.11|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.11-12728] | 
| |
| [trunk|https://github.com/jeffjirsa/cassandra/commits/cassandra-12728] | | |




was (Author: jjirsa):
Given the delay on reviewing the patch (uploaded in October), I've gone ahead 
and made the tweaks suggested by Aleksey (at least the code changes, I'll add 
the NEWS entry on final commit) and kicked off CI. I'll keep the assignee and 
author on the commit as {{Garvit Juniwal}} to recognize his work/contribution.

Will provide CI links upon completion.




> Handling partially written hint files
> -
>
> Key: CASSANDRA-12728
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12728
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sharvanath Pathak
>Assignee: Garvit Juniwal
>  Labels: lhf
> Attachments: CASSANDRA-12728.patch
>
>
> {noformat}
> ERROR [HintsDispatcher:1] 2016-09-28 17:44:43,397 
> HintsDispatchExecutor.java:225 - Failed to dispatch hints file 
> d5d7257c-9f81-49b2-8633-6f9bda6e3dea-1474892654160-1.hints: file is corrupted 
> ({})
> org.apache.cassandra.io.FSReadError: java.io.EOFException
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:282)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:252)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.sendHints(HintsDispatcher.java:156)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.sendHintsAndAwait(HintsDispatcher.java:137)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:119) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:91) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.deliver(HintsDispatchExecutor.java:259)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:242)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:220)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.run(HintsDispatchExecutor.java:199)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_77]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_77]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_77]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_77]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]
> Caused by: java.io.EOFException: null
> at 
> org.apache.cassandra.io.util.RebufferingInputStream.readFully(RebufferingInputStream.java:68)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.io.util.RebufferingInputStream.readFully(RebufferingInputStream.java:60)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.ChecksummedDataInput.readFully(ChecksummedDataInput.java:126)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:402) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.readBuffer(HintsReader.java:310)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNextInternal(HintsReader.java:301)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache

[jira] [Comment Edited] (CASSANDRA-12728) Handling partially written hint files

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa edited comment on CASSANDRA-12728 at 4/4/17 6:40 PM:


Given the delay on reviewing the patch (uploaded in October), I've gone ahead 
and made the tweaks suggested by Aleksey (at least the code changes, I'll add 
the NEWS entry on final commit) and kicked off CI. I'll keep the assignee and 
author on the commit as {{Garvit Juniwal}} to recognize his work/contribution.

|| Branch || Testall || Dtest||
| [3.0|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.0-12728] | | |
| [3.11|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.11-12728] | 
| |
| [trunk|https://github.com/jeffjirsa/cassandra/commits/cassandra-12728] | | |

(CI links coming soon)



was (Author: jjirsa):
Given the delay on reviewing the patch (uploaded in October), I've gone ahead 
and made the tweaks suggested by Aleksey (at least the code changes, I'll add 
the NEWS entry on final commit) and kicked off CI. I'll keep the assignee and 
author on the commit as {{Garvit Juniwal}} to recognize his work/contribution.

|| Branch || Testall || Dtest||
| [3.0|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.0-12728] | | |
| [3.11|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.11-12728] | 
| |
| [trunk|https://github.com/jeffjirsa/cassandra/commits/cassandra-12728] | | |



> Handling partially written hint files
> -
>
> Key: CASSANDRA-12728
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12728
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sharvanath Pathak
>Assignee: Garvit Juniwal
>  Labels: lhf
> Attachments: CASSANDRA-12728.patch
>
>
> {noformat}
> ERROR [HintsDispatcher:1] 2016-09-28 17:44:43,397 
> HintsDispatchExecutor.java:225 - Failed to dispatch hints file 
> d5d7257c-9f81-49b2-8633-6f9bda6e3dea-1474892654160-1.hints: file is corrupted 
> ({})
> org.apache.cassandra.io.FSReadError: java.io.EOFException
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:282)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:252)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.sendHints(HintsDispatcher.java:156)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.sendHintsAndAwait(HintsDispatcher.java:137)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:119) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:91) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.deliver(HintsDispatchExecutor.java:259)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:242)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:220)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.run(HintsDispatchExecutor.java:199)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_77]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_77]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_77]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_77]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]
> Caused by: java.io.EOFException: null
> at 
> org.apache.cassandra.io.util.RebufferingInputStream.readFully(RebufferingInputStream.java:68)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.io.util.RebufferingInputStream.readFully(RebufferingInputStream.java:60)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.ChecksummedDataInput.readFully(ChecksummedDataInput.java:126)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:402) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$Buffers

[jira] [Commented] (CASSANDRA-12728) Handling partially written hint files

2017-04-04 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa commented on CASSANDRA-12728:


Given the delay on reviewing the patch (uploaded in October), I've gone ahead 
and made the tweaks suggested by Aleksey (at least the code changes, I'll add 
the NEWS entry on final commit) and kicked off CI. I'll keep the assignee and 
author on the commit as {{Garvit Juniwal}} to recognize his work/contribution.

Will provide CI links upon completion.




> Handling partially written hint files
> -
>
> Key: CASSANDRA-12728
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12728
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sharvanath Pathak
>Assignee: Garvit Juniwal
>  Labels: lhf
> Attachments: CASSANDRA-12728.patch
>
>
> {noformat}
> ERROR [HintsDispatcher:1] 2016-09-28 17:44:43,397 
> HintsDispatchExecutor.java:225 - Failed to dispatch hints file 
> d5d7257c-9f81-49b2-8633-6f9bda6e3dea-1474892654160-1.hints: file is corrupted 
> ({})
> org.apache.cassandra.io.FSReadError: java.io.EOFException
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:282)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:252)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.sendHints(HintsDispatcher.java:156)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.sendHintsAndAwait(HintsDispatcher.java:137)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:119) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:91) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.deliver(HintsDispatchExecutor.java:259)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:242)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:220)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.run(HintsDispatchExecutor.java:199)
>  [apache-cassandra-3.0.6.jar:3.0.6]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_77]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_77]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_77]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_77]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]
> Caused by: java.io.EOFException: null
> at 
> org.apache.cassandra.io.util.RebufferingInputStream.readFully(RebufferingInputStream.java:68)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.io.util.RebufferingInputStream.readFully(RebufferingInputStream.java:60)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.ChecksummedDataInput.readFully(ChecksummedDataInput.java:126)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:402) 
> ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.readBuffer(HintsReader.java:310)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNextInternal(HintsReader.java:301)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> at 
> org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext(HintsReader.java:278)
>  ~[apache-cassandra-3.0.6.jar:3.0.6]
> ... 15 common frames omitted
> {noformat}
> We've found out that the hint file was truncated because there was a hard 
> reboot around the time of last write to the file. I think we basically need 
> to handle partially written hint files. Also, the CRC file does not exist in 
> this case (probably because it crashed while writing the hints file). May be 
> ignoring and cleaning up such partially written hint files can be a way to 
> fix this?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13398) Skip mutating repairedAt of already repaired sstables

2017-04-04 Thread Paulo Motta (JIRA)

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

Paulo Motta commented on CASSANDRA-13398:
-

Given this is already somewhat addressed on trunk by skipping anticompaction 
altogether on full repair and there aren't real implications of this lack of 
consistency between {{repairedAt}} among replicas when full repair is run on 
versions before that, I will close this for now. Thanks all for the feedback!

> Skip mutating repairedAt of already repaired sstables
> -
>
> Key: CASSANDRA-13398
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13398
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Paulo Motta
>Assignee: Paulo Motta
>Priority: Minor
>
> CASSANDRA-13153 skips anticompaction on sstables already repaired, but we are 
> not skipping mutating repairedAt when the sstable is fully contained in the 
> repaired range.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13398) Skip mutating repairedAt of already repaired sstables

2017-04-04 Thread Paulo Motta (JIRA)

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

Paulo Motta updated CASSANDRA-13398:

Resolution: Won't Fix
Status: Resolved  (was: Patch Available)

> Skip mutating repairedAt of already repaired sstables
> -
>
> Key: CASSANDRA-13398
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13398
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Paulo Motta
>Assignee: Paulo Motta
>Priority: Minor
>
> CASSANDRA-13153 skips anticompaction on sstables already repaired, but we are 
> not skipping mutating repairedAt when the sstable is fully contained in the 
> repaired range.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (CASSANDRA-13410) nodetool upgradesstables/scrub/compact ignores system tables

2017-04-04 Thread Jeff Jirsa (JIRA)
Jeff Jirsa created CASSANDRA-13410:
--

 Summary: nodetool upgradesstables/scrub/compact ignores system 
tables
 Key: CASSANDRA-13410
 URL: https://issues.apache.org/jira/browse/CASSANDRA-13410
 Project: Cassandra
  Issue Type: Bug
Reporter: Jeff Jirsa
Assignee: Jeff Jirsa
Priority: Minor
 Fix For: 3.0.x, 3.11.x, 4.x


CASSANDRA-11627 changed the behavior of nodetool commands that work across all 
keyspaces. Sometimes it's OK (not compacting system.peers when you call compact 
probably isn't going to anger anyone), but sometimes it's not 
(disableautocompaction, flush, upgradesstables, etc).





--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


cassandra git commit: Fix bad merge

2017-04-04 Thread jake
Repository: cassandra
Updated Branches:
  refs/heads/trunk 522ddba27 -> 5d8b5cce4


Fix bad merge


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

Branch: refs/heads/trunk
Commit: 5d8b5cce497fc602f4bb55086aa5096fd51fe38b
Parents: 522ddba
Author: T Jake Luciani 
Authored: Tue Apr 4 12:56:57 2017 -0400
Committer: T Jake Luciani 
Committed: Tue Apr 4 12:56:57 2017 -0400

--
 src/java/org/apache/cassandra/db/view/ViewBuilder.java | 9 -
 1 file changed, 4 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5d8b5cce/src/java/org/apache/cassandra/db/view/ViewBuilder.java
--
diff --git a/src/java/org/apache/cassandra/db/view/ViewBuilder.java 
b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
index af86392..fcb1e98 100644
--- a/src/java/org/apache/cassandra/db/view/ViewBuilder.java
+++ b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
@@ -101,14 +101,13 @@ public class ViewBuilder extends CompactionInfo.Holder
 
 public void run()
 {
-logger.debug("Starting view builder for {}.{}", 
baseCfs.metadata.ksName, view.name);
-logger.trace("Running view builder for {}.{}", 
baseCfs.metadata.keyspace, view.name);
+logger.debug("Starting view builder for {}.{}", 
baseCfs.metadata.keyspace, view.name);
 UUID localHostId = SystemKeyspace.getLocalHostId();
 String ksname = baseCfs.metadata.keyspace, viewName = view.name;
 
 if (SystemKeyspace.isViewBuilt(ksname, viewName))
 {
-logger.debug("View already marked built for {}.{}", 
baseCfs.metadata.ksName, view.name);
+logger.debug("View already marked built for {}.{}", 
baseCfs.metadata.keyspace, view.name);
 if (!SystemKeyspace.isViewStatusReplicated(ksname, viewName))
 updateDistributed(ksname, viewName, localHostId);
 return;
@@ -120,7 +119,7 @@ public class ViewBuilder extends CompactionInfo.Holder
 Function> function;
 if (buildStatus == null)
 {
-logger.debug("Starting new view build. flushing base table {}.{}", 
baseCfs.metadata.ksName, baseCfs.name);
+logger.debug("Starting new view build. flushing base table {}.{}", 
baseCfs.metadata.keyspace, baseCfs.name);
 lastToken = null;
 
 //We don't track the generation number anymore since if a rebuild 
is stopped and
@@ -132,7 +131,7 @@ public class ViewBuilder extends CompactionInfo.Holder
 else
 {
 lastToken = buildStatus.right;
-logger.debug("Resuming view build from token {}. flushing base 
table {}.{}", lastToken, baseCfs.metadata.ksName, baseCfs.name);
+logger.debug("Resuming view build from token {}. flushing base 
table {}.{}", lastToken, baseCfs.metadata.keyspace, baseCfs.name);
 }
 
 baseCfs.forceBlockingFlush();



[jira] [Updated] (CASSANDRA-13405) ViewBuilder can miss data due to sstable generation filter

2017-04-04 Thread T Jake Luciani (JIRA)

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

T Jake Luciani updated CASSANDRA-13405:
---
   Resolution: Fixed
Fix Version/s: 3.11.0
   Status: Resolved  (was: Patch Available)

Committed {{2f1ab4a4248ac24c890e195cd5714ca54510c19a}}

> ViewBuilder can miss data due to sstable generation filter
> --
>
> Key: CASSANDRA-13405
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13405
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: T Jake Luciani
>Assignee: T Jake Luciani
>  Labels: materializedviews
> Fix For: 3.0.13, 3.11.0
>
>
> The view builder for one MV is restarted when other MVs are added on the same 
> keyspace.  There is an issue if compactions are running between these 
> restarts that can cause the view builder to skip data, since the builder 
> tracks the max sstable generation to filter by when it starts back up.
> I don't see a need for this generation tracking across restarts, it only 
> needs to be tracked during a builders life (to avoid adding in newly 
> compacted data).  



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[4/8] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-04-04 Thread jake
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/cassandra-3.11
Commit: 449400be30a591a69499f2f81dedefdbe0e14785
Parents: e8053dd 2f1ab4a
Author: T Jake Luciani 
Authored: Tue Apr 4 12:46:12 2017 -0400
Committer: T Jake Luciani 
Committed: Tue Apr 4 12:46:12 2017 -0400

--

--




[1/8] cassandra git commit: Avoid filtering sstables based on generation when ViewBuilder restarts

2017-04-04 Thread jake
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 828ca7cc9 -> 2f1ab4a42
  refs/heads/cassandra-3.11 e8053dd8b -> be96c2840
  refs/heads/trunk 633babf0f -> 522ddba27


Avoid filtering sstables based on generation when ViewBuilder restarts

Patch by tjake; reviewed by Paulo Motta for CASSANDRA-13405


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

Branch: refs/heads/cassandra-3.0
Commit: 2f1ab4a4248ac24c890e195cd5714ca54510c19a
Parents: 828ca7c
Author: T Jake Luciani 
Authored: Mon Apr 3 13:56:04 2017 -0400
Committer: T Jake Luciani 
Committed: Tue Apr 4 12:45:52 2017 -0400

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/db/view/View.java |  5 ++
 .../apache/cassandra/db/view/ViewBuilder.java   | 57 ++-
 .../org/apache/cassandra/cql3/ViewTest.java | 59 
 4 files changed, 97 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f1ab4a4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c258203..d9a97ad 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix view builder bug that can filter out data on restart (CASSANDRA-13405)
  * Fix 2i page size calculation when there are no regular columns 
(CASSANDRA-13400)
  * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
  * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f1ab4a4/src/java/org/apache/cassandra/db/view/View.java
--
diff --git a/src/java/org/apache/cassandra/db/view/View.java 
b/src/java/org/apache/cassandra/db/view/View.java
index 845a6ab..e471349 100644
--- a/src/java/org/apache/cassandra/db/view/View.java
+++ b/src/java/org/apache/cassandra/db/view/View.java
@@ -208,7 +208,11 @@ public class View
 public ReadQuery getReadQuery()
 {
 if (query == null)
+{
 query = 
getSelectStatement().getQuery(QueryOptions.forInternalCalls(Collections.emptyList()),
 FBUtilities.nowInSeconds());
+logger.trace("View query: {}", rawSelect);
+}
+
 return query;
 }
 
@@ -216,6 +220,7 @@ public class View
 {
 if (this.builder != null)
 {
+logger.debug("Stopping current view builder due to schema change");
 this.builder.stop();
 this.builder = null;
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f1ab4a4/src/java/org/apache/cassandra/db/view/ViewBuilder.java
--
diff --git a/src/java/org/apache/cassandra/db/view/ViewBuilder.java 
b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
index 37c0e7b..94314fd 100644
--- a/src/java/org/apache/cassandra/db/view/ViewBuilder.java
+++ b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
@@ -23,6 +23,7 @@ import java.util.Collections;
 import java.util.Iterator;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import javax.annotation.Nullable;
 
@@ -74,8 +75,12 @@ public class ViewBuilder extends CompactionInfo.Holder
 {
 AtomicLong noBase = new AtomicLong(Long.MAX_VALUE);
 ReadQuery selectQuery = view.getReadQuery();
+
 if (!selectQuery.selectsKey(key))
+{
+logger.trace("Skipping {}, view query filters", key);
 return;
+}
 
 int nowInSec = FBUtilities.nowInSeconds();
 SinglePartitionReadCommand command = 
view.getSelectStatement().internalReadForView(key, nowInSec);
@@ -97,49 +102,41 @@ public class ViewBuilder extends CompactionInfo.Holder
 
 public void run()
 {
+logger.debug("Starting view builder for {}.{}", 
baseCfs.metadata.ksName, view.name);
 String ksname = baseCfs.metadata.ksName, viewName = view.name;
 
 if (SystemKeyspace.isViewBuilt(ksname, viewName))
+{
+logger.debug("View already marked built for {}.{}", 
baseCfs.metadata.ksName, view.name);
 return;
-
+}
 Iterable> ranges = 
StorageService.instance.getLocalRanges(baseCfs.metadata.ksName);
+
 final Pair buildStatus = 
SystemKeyspace.getViewBuildStatus(ksname, viewName);
 Token lastToken;
 Function> function;
 if (buildStatus == null)
 {
-baseCfs

[2/8] cassandra git commit: Avoid filtering sstables based on generation when ViewBuilder restarts

2017-04-04 Thread jake
Avoid filtering sstables based on generation when ViewBuilder restarts

Patch by tjake; reviewed by Paulo Motta for CASSANDRA-13405


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

Branch: refs/heads/cassandra-3.11
Commit: 2f1ab4a4248ac24c890e195cd5714ca54510c19a
Parents: 828ca7c
Author: T Jake Luciani 
Authored: Mon Apr 3 13:56:04 2017 -0400
Committer: T Jake Luciani 
Committed: Tue Apr 4 12:45:52 2017 -0400

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/db/view/View.java |  5 ++
 .../apache/cassandra/db/view/ViewBuilder.java   | 57 ++-
 .../org/apache/cassandra/cql3/ViewTest.java | 59 
 4 files changed, 97 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f1ab4a4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c258203..d9a97ad 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix view builder bug that can filter out data on restart (CASSANDRA-13405)
  * Fix 2i page size calculation when there are no regular columns 
(CASSANDRA-13400)
  * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
  * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f1ab4a4/src/java/org/apache/cassandra/db/view/View.java
--
diff --git a/src/java/org/apache/cassandra/db/view/View.java 
b/src/java/org/apache/cassandra/db/view/View.java
index 845a6ab..e471349 100644
--- a/src/java/org/apache/cassandra/db/view/View.java
+++ b/src/java/org/apache/cassandra/db/view/View.java
@@ -208,7 +208,11 @@ public class View
 public ReadQuery getReadQuery()
 {
 if (query == null)
+{
 query = 
getSelectStatement().getQuery(QueryOptions.forInternalCalls(Collections.emptyList()),
 FBUtilities.nowInSeconds());
+logger.trace("View query: {}", rawSelect);
+}
+
 return query;
 }
 
@@ -216,6 +220,7 @@ public class View
 {
 if (this.builder != null)
 {
+logger.debug("Stopping current view builder due to schema change");
 this.builder.stop();
 this.builder = null;
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f1ab4a4/src/java/org/apache/cassandra/db/view/ViewBuilder.java
--
diff --git a/src/java/org/apache/cassandra/db/view/ViewBuilder.java 
b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
index 37c0e7b..94314fd 100644
--- a/src/java/org/apache/cassandra/db/view/ViewBuilder.java
+++ b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
@@ -23,6 +23,7 @@ import java.util.Collections;
 import java.util.Iterator;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import javax.annotation.Nullable;
 
@@ -74,8 +75,12 @@ public class ViewBuilder extends CompactionInfo.Holder
 {
 AtomicLong noBase = new AtomicLong(Long.MAX_VALUE);
 ReadQuery selectQuery = view.getReadQuery();
+
 if (!selectQuery.selectsKey(key))
+{
+logger.trace("Skipping {}, view query filters", key);
 return;
+}
 
 int nowInSec = FBUtilities.nowInSeconds();
 SinglePartitionReadCommand command = 
view.getSelectStatement().internalReadForView(key, nowInSec);
@@ -97,49 +102,41 @@ public class ViewBuilder extends CompactionInfo.Holder
 
 public void run()
 {
+logger.debug("Starting view builder for {}.{}", 
baseCfs.metadata.ksName, view.name);
 String ksname = baseCfs.metadata.ksName, viewName = view.name;
 
 if (SystemKeyspace.isViewBuilt(ksname, viewName))
+{
+logger.debug("View already marked built for {}.{}", 
baseCfs.metadata.ksName, view.name);
 return;
-
+}
 Iterable> ranges = 
StorageService.instance.getLocalRanges(baseCfs.metadata.ksName);
+
 final Pair buildStatus = 
SystemKeyspace.getViewBuildStatus(ksname, viewName);
 Token lastToken;
 Function> function;
 if (buildStatus == null)
 {
-baseCfs.forceBlockingFlush();
-function = 
org.apache.cassandra.db.lifecycle.View.selectFunction(SSTableSet.CANONICAL);
-int generation = Integer.MIN_VALUE;
-
-   

[8/8] cassandra git commit: Merge branch 'cassandra-3.11' into trunk

2017-04-04 Thread jake
Merge branch 'cassandra-3.11' into trunk


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

Branch: refs/heads/trunk
Commit: 522ddba275926761bf2870b67664cf318401f158
Parents: 633babf be96c28
Author: T Jake Luciani 
Authored: Tue Apr 4 12:48:01 2017 -0400
Committer: T Jake Luciani 
Committed: Tue Apr 4 12:48:01 2017 -0400

--
 CHANGES.txt |  5 +-
 src/java/org/apache/cassandra/db/view/View.java |  5 ++
 .../apache/cassandra/db/view/ViewBuilder.java   | 51 +
 .../org/apache/cassandra/cql3/ViewTest.java | 59 
 4 files changed, 95 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/522ddba2/CHANGES.txt
--
diff --cc CHANGES.txt
index 3147eb9,1ca8733..ffe958d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -70,7 -19,11 +70,10 @@@
   * NoReplicationTokenAllocator should work with zero replication factor 
(CASSANDRA-12983)
   * Address message coalescing regression (CASSANDRA-12676)
  Merged from 3.0:
+  * Fix view builder bug that can filter out data on restart (CASSANDRA-13405)
+  * Fix 2i page size calculation when there are no regular columns 
(CASSANDRA-13400)
+  * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
   * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)
 - * Fix possible NPE on upgrade to 3.0/3.X in case of IO errors 
(CASSANDRA-13389)
   * Legacy deserializer can create empty range tombstones (CASSANDRA-13341)
   * Legacy caching options can prevent 3.0 upgrade (CASSANDRA-13384)
   * Use the Kernel32 library to retrieve the PID on Windows and fix startup 
checks (CASSANDRA-1)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/522ddba2/src/java/org/apache/cassandra/db/view/View.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/522ddba2/src/java/org/apache/cassandra/db/view/ViewBuilder.java
--
diff --cc src/java/org/apache/cassandra/db/view/ViewBuilder.java
index 6250ae7,8e647ea..af86392
--- a/src/java/org/apache/cassandra/db/view/ViewBuilder.java
+++ b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
@@@ -96,9 -101,10 +101,10 @@@ public class ViewBuilder extends Compac
  
  public void run()
  {
+ logger.debug("Starting view builder for {}.{}", 
baseCfs.metadata.ksName, view.name);
 -logger.trace("Running view builder for {}.{}", 
baseCfs.metadata.ksName, view.name);
 +logger.trace("Running view builder for {}.{}", 
baseCfs.metadata.keyspace, view.name);
  UUID localHostId = SystemKeyspace.getLocalHostId();
 -String ksname = baseCfs.metadata.ksName, viewName = view.name;
 +String ksname = baseCfs.metadata.keyspace, viewName = view.name;
  
  if (SystemKeyspace.isViewBuilt(ksname, viewName))
  {
@@@ -222,7 -225,8 +224,8 @@@
  if (lastToken == null || range.contains(lastToken))
  rangesLeft = 0;
  }
+ 
 -return new CompactionInfo(baseCfs.metadata, OperationType.VIEW_BUILD, 
rangesLeft, rangesTotal, "ranges", compactionId);
 +return new CompactionInfo(baseCfs.metadata(), 
OperationType.VIEW_BUILD, rangesLeft, rangesTotal, "ranges", compactionId);
  }
  
  public void stop()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/522ddba2/test/unit/org/apache/cassandra/cql3/ViewTest.java
--



[3/8] cassandra git commit: Avoid filtering sstables based on generation when ViewBuilder restarts

2017-04-04 Thread jake
Avoid filtering sstables based on generation when ViewBuilder restarts

Patch by tjake; reviewed by Paulo Motta for CASSANDRA-13405


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

Branch: refs/heads/trunk
Commit: 2f1ab4a4248ac24c890e195cd5714ca54510c19a
Parents: 828ca7c
Author: T Jake Luciani 
Authored: Mon Apr 3 13:56:04 2017 -0400
Committer: T Jake Luciani 
Committed: Tue Apr 4 12:45:52 2017 -0400

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/db/view/View.java |  5 ++
 .../apache/cassandra/db/view/ViewBuilder.java   | 57 ++-
 .../org/apache/cassandra/cql3/ViewTest.java | 59 
 4 files changed, 97 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f1ab4a4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c258203..d9a97ad 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix view builder bug that can filter out data on restart (CASSANDRA-13405)
  * Fix 2i page size calculation when there are no regular columns 
(CASSANDRA-13400)
  * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
  * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f1ab4a4/src/java/org/apache/cassandra/db/view/View.java
--
diff --git a/src/java/org/apache/cassandra/db/view/View.java 
b/src/java/org/apache/cassandra/db/view/View.java
index 845a6ab..e471349 100644
--- a/src/java/org/apache/cassandra/db/view/View.java
+++ b/src/java/org/apache/cassandra/db/view/View.java
@@ -208,7 +208,11 @@ public class View
 public ReadQuery getReadQuery()
 {
 if (query == null)
+{
 query = 
getSelectStatement().getQuery(QueryOptions.forInternalCalls(Collections.emptyList()),
 FBUtilities.nowInSeconds());
+logger.trace("View query: {}", rawSelect);
+}
+
 return query;
 }
 
@@ -216,6 +220,7 @@ public class View
 {
 if (this.builder != null)
 {
+logger.debug("Stopping current view builder due to schema change");
 this.builder.stop();
 this.builder = null;
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2f1ab4a4/src/java/org/apache/cassandra/db/view/ViewBuilder.java
--
diff --git a/src/java/org/apache/cassandra/db/view/ViewBuilder.java 
b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
index 37c0e7b..94314fd 100644
--- a/src/java/org/apache/cassandra/db/view/ViewBuilder.java
+++ b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
@@ -23,6 +23,7 @@ import java.util.Collections;
 import java.util.Iterator;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import javax.annotation.Nullable;
 
@@ -74,8 +75,12 @@ public class ViewBuilder extends CompactionInfo.Holder
 {
 AtomicLong noBase = new AtomicLong(Long.MAX_VALUE);
 ReadQuery selectQuery = view.getReadQuery();
+
 if (!selectQuery.selectsKey(key))
+{
+logger.trace("Skipping {}, view query filters", key);
 return;
+}
 
 int nowInSec = FBUtilities.nowInSeconds();
 SinglePartitionReadCommand command = 
view.getSelectStatement().internalReadForView(key, nowInSec);
@@ -97,49 +102,41 @@ public class ViewBuilder extends CompactionInfo.Holder
 
 public void run()
 {
+logger.debug("Starting view builder for {}.{}", 
baseCfs.metadata.ksName, view.name);
 String ksname = baseCfs.metadata.ksName, viewName = view.name;
 
 if (SystemKeyspace.isViewBuilt(ksname, viewName))
+{
+logger.debug("View already marked built for {}.{}", 
baseCfs.metadata.ksName, view.name);
 return;
-
+}
 Iterable> ranges = 
StorageService.instance.getLocalRanges(baseCfs.metadata.ksName);
+
 final Pair buildStatus = 
SystemKeyspace.getViewBuildStatus(ksname, viewName);
 Token lastToken;
 Function> function;
 if (buildStatus == null)
 {
-baseCfs.forceBlockingFlush();
-function = 
org.apache.cassandra.db.lifecycle.View.selectFunction(SSTableSet.CANONICAL);
-int generation = Integer.MIN_VALUE;
-
-try 

[7/8] cassandra git commit: Avoid filtering sstables based on generation when ViewBuilder restarts

2017-04-04 Thread jake
Avoid filtering sstables based on generation when ViewBuilder restarts

Patch by tjake; reviewed by Paulo Motta for CASSANDRA-13405


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

Branch: refs/heads/cassandra-3.11
Commit: be96c2840b0a6b269e22bde246b84e8ef4aeef69
Parents: 449400b
Author: T Jake Luciani 
Authored: Mon Apr 3 13:56:04 2017 -0400
Committer: T Jake Luciani 
Committed: Tue Apr 4 12:46:42 2017 -0400

--
 CHANGES.txt |  4 +-
 src/java/org/apache/cassandra/db/view/View.java |  5 ++
 .../apache/cassandra/db/view/ViewBuilder.java   | 52 +
 .../org/apache/cassandra/cql3/ViewTest.java | 59 
 4 files changed, 95 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/be96c284/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e63e266..1ca8733 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,7 +1,7 @@
 3.11.0
  * Fix testLimitSSTables flake caused by concurrent flush (CASSANDRA-12820)
  * cdc column addition strikes again (CASSANDRA-13382)
- * Fix static column indexes (CASSANDRA-13277) 
+ * Fix static column indexes (CASSANDRA-13277)
  * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
  * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
  * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns 
(CASSANDRA-13247)
@@ -19,6 +19,8 @@
  * NoReplicationTokenAllocator should work with zero replication factor 
(CASSANDRA-12983)
  * Address message coalescing regression (CASSANDRA-12676)
 Merged from 3.0:
+ * Fix view builder bug that can filter out data on restart (CASSANDRA-13405)
+ * Fix 2i page size calculation when there are no regular columns 
(CASSANDRA-13400)
  * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
  * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)
  * Fix possible NPE on upgrade to 3.0/3.X in case of IO errors 
(CASSANDRA-13389)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/be96c284/src/java/org/apache/cassandra/db/view/View.java
--
diff --git a/src/java/org/apache/cassandra/db/view/View.java 
b/src/java/org/apache/cassandra/db/view/View.java
index 0b8de9e..e4c6e02 100644
--- a/src/java/org/apache/cassandra/db/view/View.java
+++ b/src/java/org/apache/cassandra/db/view/View.java
@@ -197,7 +197,11 @@ public class View
 public ReadQuery getReadQuery()
 {
 if (query == null)
+{
 query = 
getSelectStatement().getQuery(QueryOptions.forInternalCalls(Collections.emptyList()),
 FBUtilities.nowInSeconds());
+logger.trace("View query: {}", rawSelect);
+}
+
 return query;
 }
 
@@ -205,6 +209,7 @@ public class View
 {
 if (this.builder != null)
 {
+logger.debug("Stopping current view builder due to schema change");
 this.builder.stop();
 this.builder = null;
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/be96c284/src/java/org/apache/cassandra/db/view/ViewBuilder.java
--
diff --git a/src/java/org/apache/cassandra/db/view/ViewBuilder.java 
b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
index 9550e1e..8e647ea 100644
--- a/src/java/org/apache/cassandra/db/view/ViewBuilder.java
+++ b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
@@ -23,6 +23,7 @@ import java.util.Collections;
 import java.util.Iterator;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import javax.annotation.Nullable;
 
@@ -72,8 +73,12 @@ public class ViewBuilder extends CompactionInfo.Holder
 private void buildKey(DecoratedKey key)
 {
 ReadQuery selectQuery = view.getReadQuery();
+
 if (!selectQuery.selectsKey(key))
+{
+logger.trace("Skipping {}, view query filters", key);
 return;
+}
 
 int nowInSec = FBUtilities.nowInSeconds();
 SinglePartitionReadCommand command = 
view.getSelectStatement().internalReadForView(key, nowInSec);
@@ -96,55 +101,46 @@ public class ViewBuilder extends CompactionInfo.Holder
 
 public void run()
 {
+logger.debug("Starting view builder for {}.{}", 
baseCfs.metadata.ksName, view.name);
 logger.trace("Running view builder for {}.{}", 
baseCfs.me

[6/8] cassandra git commit: Avoid filtering sstables based on generation when ViewBuilder restarts

2017-04-04 Thread jake
Avoid filtering sstables based on generation when ViewBuilder restarts

Patch by tjake; reviewed by Paulo Motta for CASSANDRA-13405


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

Branch: refs/heads/trunk
Commit: be96c2840b0a6b269e22bde246b84e8ef4aeef69
Parents: 449400b
Author: T Jake Luciani 
Authored: Mon Apr 3 13:56:04 2017 -0400
Committer: T Jake Luciani 
Committed: Tue Apr 4 12:46:42 2017 -0400

--
 CHANGES.txt |  4 +-
 src/java/org/apache/cassandra/db/view/View.java |  5 ++
 .../apache/cassandra/db/view/ViewBuilder.java   | 52 +
 .../org/apache/cassandra/cql3/ViewTest.java | 59 
 4 files changed, 95 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/be96c284/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e63e266..1ca8733 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,7 +1,7 @@
 3.11.0
  * Fix testLimitSSTables flake caused by concurrent flush (CASSANDRA-12820)
  * cdc column addition strikes again (CASSANDRA-13382)
- * Fix static column indexes (CASSANDRA-13277) 
+ * Fix static column indexes (CASSANDRA-13277)
  * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
  * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
  * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns 
(CASSANDRA-13247)
@@ -19,6 +19,8 @@
  * NoReplicationTokenAllocator should work with zero replication factor 
(CASSANDRA-12983)
  * Address message coalescing regression (CASSANDRA-12676)
 Merged from 3.0:
+ * Fix view builder bug that can filter out data on restart (CASSANDRA-13405)
+ * Fix 2i page size calculation when there are no regular columns 
(CASSANDRA-13400)
  * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
  * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)
  * Fix possible NPE on upgrade to 3.0/3.X in case of IO errors 
(CASSANDRA-13389)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/be96c284/src/java/org/apache/cassandra/db/view/View.java
--
diff --git a/src/java/org/apache/cassandra/db/view/View.java 
b/src/java/org/apache/cassandra/db/view/View.java
index 0b8de9e..e4c6e02 100644
--- a/src/java/org/apache/cassandra/db/view/View.java
+++ b/src/java/org/apache/cassandra/db/view/View.java
@@ -197,7 +197,11 @@ public class View
 public ReadQuery getReadQuery()
 {
 if (query == null)
+{
 query = 
getSelectStatement().getQuery(QueryOptions.forInternalCalls(Collections.emptyList()),
 FBUtilities.nowInSeconds());
+logger.trace("View query: {}", rawSelect);
+}
+
 return query;
 }
 
@@ -205,6 +209,7 @@ public class View
 {
 if (this.builder != null)
 {
+logger.debug("Stopping current view builder due to schema change");
 this.builder.stop();
 this.builder = null;
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/be96c284/src/java/org/apache/cassandra/db/view/ViewBuilder.java
--
diff --git a/src/java/org/apache/cassandra/db/view/ViewBuilder.java 
b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
index 9550e1e..8e647ea 100644
--- a/src/java/org/apache/cassandra/db/view/ViewBuilder.java
+++ b/src/java/org/apache/cassandra/db/view/ViewBuilder.java
@@ -23,6 +23,7 @@ import java.util.Collections;
 import java.util.Iterator;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import javax.annotation.Nullable;
 
@@ -72,8 +73,12 @@ public class ViewBuilder extends CompactionInfo.Holder
 private void buildKey(DecoratedKey key)
 {
 ReadQuery selectQuery = view.getReadQuery();
+
 if (!selectQuery.selectsKey(key))
+{
+logger.trace("Skipping {}, view query filters", key);
 return;
+}
 
 int nowInSec = FBUtilities.nowInSeconds();
 SinglePartitionReadCommand command = 
view.getSelectStatement().internalReadForView(key, nowInSec);
@@ -96,55 +101,46 @@ public class ViewBuilder extends CompactionInfo.Holder
 
 public void run()
 {
+logger.debug("Starting view builder for {}.{}", 
baseCfs.metadata.ksName, view.name);
 logger.trace("Running view builder for {}.{}", 
baseCfs.metadata.ks

[5/8] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-04-04 Thread jake
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/trunk
Commit: 449400be30a591a69499f2f81dedefdbe0e14785
Parents: e8053dd 2f1ab4a
Author: T Jake Luciani 
Authored: Tue Apr 4 12:46:12 2017 -0400
Committer: T Jake Luciani 
Committed: Tue Apr 4 12:46:12 2017 -0400

--

--




[jira] [Commented] (CASSANDRA-13398) Skip mutating repairedAt of already repaired sstables

2017-04-04 Thread Blake Eggleston (JIRA)

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

Blake Eggleston commented on CASSANDRA-13398:
-

I haven't thought through the implications of modifying the repairedAt value of 
sstables, but you're pretty much guaranteed to never get a repaired sstable in 
anticompaction in trunk. For that reason, I'd say this shouldn't be applied to 
trunk. In fact, there's a bunch of vestigial stuff from the 'old' 
anticompaction context that isn't really used anymore and should probably be 
removed. I'll factor it out and open a jira when I have some time.

> Skip mutating repairedAt of already repaired sstables
> -
>
> Key: CASSANDRA-13398
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13398
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Paulo Motta
>Assignee: Paulo Motta
>Priority: Minor
>
> CASSANDRA-13153 skips anticompaction on sstables already repaired, but we are 
> not skipping mutating repairedAt when the sstable is fully contained in the 
> repaired range.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13409) Materialized Views: View cells are resurrected

2017-04-04 Thread Duarte Nunes (JIRA)

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

Duarte Nunes updated CASSANDRA-13409:
-
Summary: Materialized Views: View cells are resurrected  (was: Materialized 
Views: View cells is resurrected)

> Materialized Views: View cells are resurrected
> --
>
> Key: CASSANDRA-13409
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13409
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Duarte Nunes
>
> Consider the following commands, ran against trunk@0f054fee5c:
> {code:xml}
> echo "create keyspace ks WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};" | bin/cqlsh
> echo "create table ks.base (p int primary key, v1 int, v2 int) with 
> gc_grace_seconds = 1;" | bin/cqlsh
> echo "create materialized view ks.my_view as select * from ks.base where p is 
> not null and v1 is not null primary key (v1, p);" | bin/cqlsh
> echo "insert into ks.base (p, v1, v2) values (3, 1, 3) using timestamp 1;" | 
> bin/cqlsh
> bin/nodetool flush ks my_view base
> echo "delete from ks.base using timestamp 2 where p = 3;" | bin/cqlsh
> bin/nodetool flush ks my_view base
> echo "insert into ks.base (p, v1) values (3, 1) using timestamp 3;" | 
> bin/cqlsh
> bin/nodetool flush ks my_view base
> echo "select * from ks.my_view;" | bin/cqlsh
>  v1 | p | v2
> +---+
>   1 | 3 |  3
> (1 rows)
> echo "select * from ks.base;" | bin/cqlsh
>  p | v1 | v2
> ---++--
>  3 |  1 | null
> (1 rows)
> {code}
> As you can see, this incorrectly brings back cell v2=3. 
> There is one definitive problem and a potential one:
> * Merging rows must be commutative. If a shadowable tombstone is applied 
> after a row tombstone, it will replace that tombstone; if a row marker 
> shadows the shadowable tombstone before the row containing the original data 
> is applied, then any dead cells in said data will be resurrected;
> * Shadowable tombstones shouldn't compact away previous row tombstones or 
> even deleted cells; if the relevant tombstones have been GCed from the base 
> table, then a base table update won't carry them anymore (alongside a newer 
> row marker).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (CASSANDRA-13409) Materialized Views: View cells is resurrected

2017-04-04 Thread Duarte Nunes (JIRA)
Duarte Nunes created CASSANDRA-13409:


 Summary: Materialized Views: View cells is resurrected
 Key: CASSANDRA-13409
 URL: https://issues.apache.org/jira/browse/CASSANDRA-13409
 Project: Cassandra
  Issue Type: Bug
Reporter: Duarte Nunes


Consider the following commands, ran against trunk@0f054fee5c:

{code:xml}
echo "create keyspace ks WITH replication = {'class': 'SimpleStrategy', 
'replication_factor': 1};" | bin/cqlsh
echo "create table ks.base (p int primary key, v1 int, v2 int) with 
gc_grace_seconds = 1;" | bin/cqlsh
echo "create materialized view ks.my_view as select * from ks.base where p is 
not null and v1 is not null primary key (v1, p);" | bin/cqlsh
echo "insert into ks.base (p, v1, v2) values (3, 1, 3) using timestamp 1;" | 
bin/cqlsh
bin/nodetool flush ks my_view base
echo "delete from ks.base using timestamp 2 where p = 3;" | bin/cqlsh
bin/nodetool flush ks my_view base
echo "insert into ks.base (p, v1) values (3, 1) using timestamp 3;" | bin/cqlsh
bin/nodetool flush ks my_view base
echo "select * from ks.my_view;" | bin/cqlsh

 v1 | p | v2
+---+
  1 | 3 |  3

(1 rows)

echo "select * from ks.base;" | bin/cqlsh

 p | v1 | v2
---++--
 3 |  1 | null

(1 rows)
{code}

As you can see, this incorrectly brings back cell v2=3. 

There is one definitive problem and a potential one:

* Merging rows must be commutative. If a shadowable tombstone is applied after 
a row tombstone, it will replace that tombstone; if a row marker shadows the 
shadowable tombstone before the row containing the original data is applied, 
then any dead cells in said data will be resurrected;
* Shadowable tombstones shouldn't compact away previous row tombstones or even 
deleted cells; if the relevant tombstones have been GCed from the base table, 
then a base table update won't carry them anymore (alongside a newer row 
marker).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13403) nodetool repair breaks SASI index

2017-04-04 Thread Igor Novgorodov (JIRA)

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

Igor Novgorodov commented on CASSANDRA-13403:
-

Bingo!

I've been able to reproduce this in the 5-node cluster. In 3-node test 
environment i wasn't able to do it in any way i tried.
After i've added 2 more nodes to fully reflect production cluster environment - 
the index immediately broke after repair.

Now i'll try to start with a closest-to-default config as possible to determine 
what's the cause...

> nodetool repair breaks SASI index
> -
>
> Key: CASSANDRA-13403
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13403
> Project: Cassandra
>  Issue Type: Bug
>  Components: sasi
> Environment: 3.10
>Reporter: Igor Novgorodov
>
> I've got table:
> {code}
> CREATE TABLE cservice.bulks_recipients (
> recipient text,
> bulk_id uuid,
> datetime_final timestamp,
> datetime_sent timestamp,
> request_id uuid,
> status int,
> PRIMARY KEY (recipient, bulk_id)
> ) WITH CLUSTERING ORDER BY (bulk_id ASC)
> AND bloom_filter_fp_chance = 0.01
> AND caching = {'keys': 'ALL', 'rows_per_partition': 'ALL'}
> AND comment = ''
> AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '4'}
> AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}
> AND crc_check_chance = 1.0
> AND dclocal_read_repair_chance = 0.1
> AND default_time_to_live = 0
> AND gc_grace_seconds = 864000
> AND max_index_interval = 2048
> AND memtable_flush_period_in_ms = 0
> AND min_index_interval = 128
> AND read_repair_chance = 0.0
> AND speculative_retry = '99PERCENTILE';
> CREATE CUSTOM INDEX bulk_recipients_bulk_id ON cservice.bulks_recipients 
> (bulk_id) USING 'org.apache.cassandra.index.sasi.SASIIndex';
> {code}
> There are 11 rows in it:
> {code}
> > select * from bulks_recipients;
> ...
> (11 rows)
> {code}
> Let's query by index (all rows have the same *bulk_id*):
> {code}
> > select * from bulks_recipients where bulk_id = 
> > baa94815-e276-4ca4-adda-5b9734e6c4a5;   
> >   
> ...
> (11 rows)
> {code}
> Ok, everything is fine.
> Now i'm doing *nodetool repair --partitioner-range --job-threads 4 --full* on 
> each node in cluster sequentially.
> After it finished:
> {code}
> > select * from bulks_recipients where bulk_id = 
> > baa94815-e276-4ca4-adda-5b9734e6c4a5;
> ...
> (2 rows)
> {code}
> Only two rows.
> While the rows are actually there:
> {code}
> > select * from bulks_recipients;
> ...
> (11 rows)
> {code}
> If i issue an incremental repair on a random node, i can get like 7 rows 
> after index query.
> Dropping index and recreating it fixes the issue. Is it a bug or am i doing 
> the repair the wrong way?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13339) java.nio.BufferOverflowException: null

2017-04-04 Thread JIRA

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

Jonas Borgström commented on CASSANDRA-13339:
-

I'm seeing this as well but I have no solid way to reproduce this except that 
it seems to happen a lot more frequent while "nodetool repair --full" is 
running.

We're running a couple of selects and inserts per seconds using large-ish 
batches. But no counters or materialized views.

> java.nio.BufferOverflowException: null
> --
>
> Key: CASSANDRA-13339
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13339
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Chris Richards
>
> I'm seeing the following exception running Cassandra 3.9 (with Netty updated 
> to 4.1.8.Final) running on a 2 node cluster.  It would have been processing 
> around 50 queries/second at the time (mixture of 
> inserts/updates/selects/deletes) : there's a collection of tables (some with 
> counters some without) and a single materialized view.
> ERROR [MutationStage-4] 2017-03-15 22:50:33,052 StorageProxy.java:1353 - 
> Failed to apply mutation locally : {}
> java.nio.BufferOverflowException: null
>   at 
> org.apache.cassandra.io.util.DataOutputBufferFixed.doFlush(DataOutputBufferFixed.java:52)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.io.util.BufferedDataOutputStreamPlus.write(BufferedDataOutputStreamPlus.java:132)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.io.util.BufferedDataOutputStreamPlus.writeUnsignedVInt(BufferedDataOutputStreamPlus.java:262)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.db.rows.EncodingStats$Serializer.serialize(EncodingStats.java:233)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.db.SerializationHeader$Serializer.serializeForMessaging(SerializationHeader.java:380)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:122)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:89)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.db.partitions.PartitionUpdate$PartitionUpdateSerializer.serialize(PartitionUpdate.java:790)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.db.Mutation$MutationSerializer.serialize(Mutation.java:393)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at org.apache.cassandra.db.commitlog.CommitLog.add(CommitLog.java:279) 
> ~[apache-cassandra-3.9.jar:3.9]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:493) 
> ~[apache-cassandra-3.9.jar:3.9]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:396) 
> ~[apache-cassandra-3.9.jar:3.9]
>   at org.apache.cassandra.db.Mutation.applyFuture(Mutation.java:215) 
> ~[apache-cassandra-3.9.jar:3.9]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:227) 
> ~[apache-cassandra-3.9.jar:3.9]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:241) 
> ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.service.StorageProxy$8.runMayThrow(StorageProxy.java:1347)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2539)
>  [apache-cassandra-3.9.jar:3.9]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_121]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
>  [apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
>  [apache-cassandra-3.9.jar:3.9]
>   at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109) 
> [apache-cassandra-3.9.jar:3.9]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
> and then again shortly afterwards
> ERROR [MutationStage-3] 2017-03-15 23:27:36,198 StorageProxy.java:1353 - 
> Failed to apply mutation locally : {}
> java.nio.BufferOverflowException: null
>   at 
> org.apache.cassandra.io.util.DataOutputBufferFixed.doFlush(DataOutputBufferFixed.java:52)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.io.util.BufferedDataOutputStreamPlus.write(BufferedDataOutputStreamPlus.java:132)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.io.util.BufferedDataOutputStreamPlus.writeUnsignedVInt(BufferedDataOutputStreamPlus.java:262)
>  ~[apache-cassandra-3.9.jar:3.9]
>   at 
> org.apache.cassandra.db.rows.Encodi

[jira] [Commented] (CASSANDRA-12929) Fix version check to enable streaming keep-alive

2017-04-04 Thread Joel Knighton (JIRA)

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

Joel Knighton commented on CASSANDRA-12929:
---

Thanks! It happens.

> Fix version check to enable streaming keep-alive
> 
>
> Key: CASSANDRA-12929
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12929
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Michael Shuler
>Assignee: Paulo Motta
>  Labels: dtest, test-failure
> Fix For: 4.0
>
>
> example failure:
> http://cassci.datastax.com/job/trunk_novnode_dtest/494/testReport/bootstrap_test/TestBootstrap/simple_bootstrap_test_small_keepalive_period
> {noformat}
> Error Message
> Expected [['COMPLETED']] from SELECT bootstrapped FROM system.local WHERE 
> key='local', but got [[u'IN_PROGRESS']]
>  >> begin captured logging << 
> dtest: DEBUG: cluster ccm directory: /tmp/dtest-YmnyEI
> dtest: DEBUG: Done setting configuration options:
> {   'num_tokens': None, 'phi_convict_threshold': 5, 'start_rpc': 'true'}
> cassandra.cluster: INFO: New Cassandra host  
> discovered
> - >> end captured logging << -
> Stacktrace
>   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
> testMethod()
>   File "/home/automaton/cassandra-dtest/tools/decorators.py", line 46, in 
> wrapped
> f(obj)
>   File "/home/automaton/cassandra-dtest/bootstrap_test.py", line 163, in 
> simple_bootstrap_test_small_keepalive_period
> assert_bootstrap_state(self, node2, 'COMPLETED')
>   File "/home/automaton/cassandra-dtest/tools/assertions.py", line 297, in 
> assert_bootstrap_state
> assert_one(session, "SELECT bootstrapped FROM system.local WHERE 
> key='local'", [expected_bootstrap_state])
>   File "/home/automaton/cassandra-dtest/tools/assertions.py", line 130, in 
> assert_one
> assert list_res == [expected], "Expected {} from {}, but got 
> {}".format([expected], query, list_res)
> "Expected [['COMPLETED']] from SELECT bootstrapped FROM system.local WHERE 
> key='local', but got [[u'IN_PROGRESS']]\n >> begin 
> captured logging << \ndtest: DEBUG: cluster ccm 
> directory: /tmp/dtest-YmnyEI\ndtest: DEBUG: Done setting configuration 
> options:\n{   'num_tokens': None, 'phi_convict_threshold': 5, 'start_rpc': 
> 'true'}\ncassandra.cluster: INFO: New Cassandra host  datacenter1> discovered\n- >> end captured logging << 
> -"
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (CASSANDRA-13151) Unicode unittest fail

2017-04-04 Thread Alex Petrov (JIRA)

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

Alex Petrov edited comment on CASSANDRA-13151 at 4/4/17 2:23 PM:
-

Input reader charset wasn't being set correctly. 

Steps to reproduce: 

{code}
LC_ALL=ru_RU ant test -Dtest.name=StandardAnalyzerTest
{code}

And a trivial patch:

|[trunk|https://github.com/apache/cassandra/compare/trunk...ifesdjeen:13151-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-13151-trunk-testall/]|[dtest|http://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-13151-trunk-dtest/]|


was (Author: ifesdjeen):
Steps to reproduce: 

{code}
LC_ALL=ru_RU ant test -Dtest.name=StandardAnalyzerTest
{code}

And a trivial patch:

|[trunk|https://github.com/apache/cassandra/compare/trunk...ifesdjeen:13151-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-13151-trunk-testall/]|[dtest|http://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-13151-trunk-dtest/]|

> Unicode unittest fail
> -
>
> Key: CASSANDRA-13151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13151
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jay Zhuang
>Assignee: Alex Petrov
>
> Following unittests are failed in 3.11 and trunk(4.0) branch
> {noformat}
> SASIIndexTest.testUnicodeSupport
> StandardAnalyzerTest.testTokenizationJaJp1
> StandardAnalyzerTest.testTokenizationJaJp2
> StandardAnalyzerTest.testTokenizationRuRu1
> StandardAnalyzerTest.testTokenizationZnTw1
> {noformat}
> It works fine on my local mac, but not linux server. I guess it's related to 
> Unicode setting. Does anyone have any idea on that? (could it be related to 
> CASSANDRA-11077, CASSANDRA-11431?)
> Here are the failure details
> {noformat}
> $ ant testsome -Dtest.name=org.apache.cassandra.index.sasi.SASIIndexTest 
> -Dtest.methods=testUnicodeSupport
> ...
> [junit] Testcase: 
> testUnicodeSupport(org.apache.cassandra.index.sasi.SASIIndexTest):
> FAILED
> [junit] []
> [junit] junit.framework.AssertionFailedError: []
> [junit] at 
> org.apache.cassandra.index.sasi.SASIIndexTest.testUnicodeSupport(SASIIndexTest.java:1159)
> [junit] at 
> org.apache.cassandra.index.sasi.SASIIndexTest.testUnicodeSupport(SASIIndexTest.java:1122)
> {noformat}
> {noformat}
> $ ant test -Dtest.name=StandardAnalyzerTest
> ...
> [junit] Testcase: 
> testTokenizationJaJp1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<210> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<210> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationJaJp1(StandardAnalyzerTest.java:85)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationJaJp2(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<57> but was:<9>
> [junit] junit.framework.AssertionFailedError: expected:<57> but was:<9>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationJaJp2(StandardAnalyzerTest.java:104)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationRuRu1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<456> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<456> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationRuRu1(StandardAnalyzerTest.java:120)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationZnTw1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<963> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<963> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationZnTw1(StandardAnalyzerTest.java:136)
> [junit]
> [junit]
> [junit] Test 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest FAILED
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13151) Unicode unittest fail

2017-04-04 Thread Alex Petrov (JIRA)

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

Alex Petrov updated CASSANDRA-13151:

Status: Patch Available  (was: Open)

> Unicode unittest fail
> -
>
> Key: CASSANDRA-13151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13151
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jay Zhuang
>Assignee: Alex Petrov
>
> Following unittests are failed in 3.11 and trunk(4.0) branch
> {noformat}
> SASIIndexTest.testUnicodeSupport
> StandardAnalyzerTest.testTokenizationJaJp1
> StandardAnalyzerTest.testTokenizationJaJp2
> StandardAnalyzerTest.testTokenizationRuRu1
> StandardAnalyzerTest.testTokenizationZnTw1
> {noformat}
> It works fine on my local mac, but not linux server. I guess it's related to 
> Unicode setting. Does anyone have any idea on that? (could it be related to 
> CASSANDRA-11077, CASSANDRA-11431?)
> Here are the failure details
> {noformat}
> $ ant testsome -Dtest.name=org.apache.cassandra.index.sasi.SASIIndexTest 
> -Dtest.methods=testUnicodeSupport
> ...
> [junit] Testcase: 
> testUnicodeSupport(org.apache.cassandra.index.sasi.SASIIndexTest):
> FAILED
> [junit] []
> [junit] junit.framework.AssertionFailedError: []
> [junit] at 
> org.apache.cassandra.index.sasi.SASIIndexTest.testUnicodeSupport(SASIIndexTest.java:1159)
> [junit] at 
> org.apache.cassandra.index.sasi.SASIIndexTest.testUnicodeSupport(SASIIndexTest.java:1122)
> {noformat}
> {noformat}
> $ ant test -Dtest.name=StandardAnalyzerTest
> ...
> [junit] Testcase: 
> testTokenizationJaJp1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<210> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<210> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationJaJp1(StandardAnalyzerTest.java:85)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationJaJp2(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<57> but was:<9>
> [junit] junit.framework.AssertionFailedError: expected:<57> but was:<9>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationJaJp2(StandardAnalyzerTest.java:104)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationRuRu1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<456> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<456> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationRuRu1(StandardAnalyzerTest.java:120)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationZnTw1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<963> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<963> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationZnTw1(StandardAnalyzerTest.java:136)
> [junit]
> [junit]
> [junit] Test 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest FAILED
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13151) Unicode unittest fail

2017-04-04 Thread Alex Petrov (JIRA)

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

Alex Petrov commented on CASSANDRA-13151:
-

Steps to reproduce: 

{code}
LC_ALL=ru_RU ant test -Dtest.name=StandardAnalyzerTest
{code}

And a trivial patch:

|[trunk|https://github.com/apache/cassandra/compare/trunk...ifesdjeen:13151-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-13151-trunk-testall/]|[dtest|http://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-13151-trunk-dtest/]|

> Unicode unittest fail
> -
>
> Key: CASSANDRA-13151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13151
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jay Zhuang
>Assignee: Alex Petrov
>
> Following unittests are failed in 3.11 and trunk(4.0) branch
> {noformat}
> SASIIndexTest.testUnicodeSupport
> StandardAnalyzerTest.testTokenizationJaJp1
> StandardAnalyzerTest.testTokenizationJaJp2
> StandardAnalyzerTest.testTokenizationRuRu1
> StandardAnalyzerTest.testTokenizationZnTw1
> {noformat}
> It works fine on my local mac, but not linux server. I guess it's related to 
> Unicode setting. Does anyone have any idea on that? (could it be related to 
> CASSANDRA-11077, CASSANDRA-11431?)
> Here are the failure details
> {noformat}
> $ ant testsome -Dtest.name=org.apache.cassandra.index.sasi.SASIIndexTest 
> -Dtest.methods=testUnicodeSupport
> ...
> [junit] Testcase: 
> testUnicodeSupport(org.apache.cassandra.index.sasi.SASIIndexTest):
> FAILED
> [junit] []
> [junit] junit.framework.AssertionFailedError: []
> [junit] at 
> org.apache.cassandra.index.sasi.SASIIndexTest.testUnicodeSupport(SASIIndexTest.java:1159)
> [junit] at 
> org.apache.cassandra.index.sasi.SASIIndexTest.testUnicodeSupport(SASIIndexTest.java:1122)
> {noformat}
> {noformat}
> $ ant test -Dtest.name=StandardAnalyzerTest
> ...
> [junit] Testcase: 
> testTokenizationJaJp1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<210> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<210> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationJaJp1(StandardAnalyzerTest.java:85)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationJaJp2(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<57> but was:<9>
> [junit] junit.framework.AssertionFailedError: expected:<57> but was:<9>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationJaJp2(StandardAnalyzerTest.java:104)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationRuRu1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<456> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<456> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationRuRu1(StandardAnalyzerTest.java:120)
> [junit]
> [junit]
> [junit] Testcase: 
> testTokenizationZnTw1(org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest):
>  FAILED
> [junit] expected:<963> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<963> but was:<0>
> [junit] at 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest.testTokenizationZnTw1(StandardAnalyzerTest.java:136)
> [junit]
> [junit]
> [junit] Test 
> org.apache.cassandra.index.sasi.analyzer.StandardAnalyzerTest FAILED
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-12929) Fix version check to enable streaming keep-alive

2017-04-04 Thread Paulo Motta (JIRA)

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

Paulo Motta commented on CASSANDRA-12929:
-

doh, my bad too for not double checking test results and submitting testall 
(since it was so trivial). I remember we had the exact same problem back in 
CASSANDRA-11841. :(

Fix and tests look good (triple checked). Committed fix as to trunk as 
{{633babf0f02fac56cad7bff03a4ff415feb38f39}}. Thanks!

> Fix version check to enable streaming keep-alive
> 
>
> Key: CASSANDRA-12929
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12929
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Michael Shuler
>Assignee: Paulo Motta
>  Labels: dtest, test-failure
> Fix For: 4.0
>
>
> example failure:
> http://cassci.datastax.com/job/trunk_novnode_dtest/494/testReport/bootstrap_test/TestBootstrap/simple_bootstrap_test_small_keepalive_period
> {noformat}
> Error Message
> Expected [['COMPLETED']] from SELECT bootstrapped FROM system.local WHERE 
> key='local', but got [[u'IN_PROGRESS']]
>  >> begin captured logging << 
> dtest: DEBUG: cluster ccm directory: /tmp/dtest-YmnyEI
> dtest: DEBUG: Done setting configuration options:
> {   'num_tokens': None, 'phi_convict_threshold': 5, 'start_rpc': 'true'}
> cassandra.cluster: INFO: New Cassandra host  
> discovered
> - >> end captured logging << -
> Stacktrace
>   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
> testMethod()
>   File "/home/automaton/cassandra-dtest/tools/decorators.py", line 46, in 
> wrapped
> f(obj)
>   File "/home/automaton/cassandra-dtest/bootstrap_test.py", line 163, in 
> simple_bootstrap_test_small_keepalive_period
> assert_bootstrap_state(self, node2, 'COMPLETED')
>   File "/home/automaton/cassandra-dtest/tools/assertions.py", line 297, in 
> assert_bootstrap_state
> assert_one(session, "SELECT bootstrapped FROM system.local WHERE 
> key='local'", [expected_bootstrap_state])
>   File "/home/automaton/cassandra-dtest/tools/assertions.py", line 130, in 
> assert_one
> assert list_res == [expected], "Expected {} from {}, but got 
> {}".format([expected], query, list_res)
> "Expected [['COMPLETED']] from SELECT bootstrapped FROM system.local WHERE 
> key='local', but got [[u'IN_PROGRESS']]\n >> begin 
> captured logging << \ndtest: DEBUG: cluster ccm 
> directory: /tmp/dtest-YmnyEI\ndtest: DEBUG: Done setting configuration 
> options:\n{   'num_tokens': None, 'phi_convict_threshold': 5, 'start_rpc': 
> 'true'}\ncassandra.cluster: INFO: New Cassandra host  datacenter1> discovered\n- >> end captured logging << 
> -"
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (CASSANDRA-12929) Fix version check to enable streaming keep-alive

2017-04-04 Thread Paulo Motta (JIRA)

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

Paulo Motta resolved CASSANDRA-12929.
-
Resolution: Fixed

> Fix version check to enable streaming keep-alive
> 
>
> Key: CASSANDRA-12929
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12929
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Michael Shuler
>Assignee: Paulo Motta
>  Labels: dtest, test-failure
> Fix For: 4.0
>
>
> example failure:
> http://cassci.datastax.com/job/trunk_novnode_dtest/494/testReport/bootstrap_test/TestBootstrap/simple_bootstrap_test_small_keepalive_period
> {noformat}
> Error Message
> Expected [['COMPLETED']] from SELECT bootstrapped FROM system.local WHERE 
> key='local', but got [[u'IN_PROGRESS']]
>  >> begin captured logging << 
> dtest: DEBUG: cluster ccm directory: /tmp/dtest-YmnyEI
> dtest: DEBUG: Done setting configuration options:
> {   'num_tokens': None, 'phi_convict_threshold': 5, 'start_rpc': 'true'}
> cassandra.cluster: INFO: New Cassandra host  
> discovered
> - >> end captured logging << -
> Stacktrace
>   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
> testMethod()
>   File "/home/automaton/cassandra-dtest/tools/decorators.py", line 46, in 
> wrapped
> f(obj)
>   File "/home/automaton/cassandra-dtest/bootstrap_test.py", line 163, in 
> simple_bootstrap_test_small_keepalive_period
> assert_bootstrap_state(self, node2, 'COMPLETED')
>   File "/home/automaton/cassandra-dtest/tools/assertions.py", line 297, in 
> assert_bootstrap_state
> assert_one(session, "SELECT bootstrapped FROM system.local WHERE 
> key='local'", [expected_bootstrap_state])
>   File "/home/automaton/cassandra-dtest/tools/assertions.py", line 130, in 
> assert_one
> assert list_res == [expected], "Expected {} from {}, but got 
> {}".format([expected], query, list_res)
> "Expected [['COMPLETED']] from SELECT bootstrapped FROM system.local WHERE 
> key='local', but got [[u'IN_PROGRESS']]\n >> begin 
> captured logging << \ndtest: DEBUG: cluster ccm 
> directory: /tmp/dtest-YmnyEI\ndtest: DEBUG: Done setting configuration 
> options:\n{   'num_tokens': None, 'phi_convict_threshold': 5, 'start_rpc': 
> 'true'}\ncassandra.cluster: INFO: New Cassandra host  datacenter1> discovered\n- >> end captured logging << 
> -"
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


cassandra git commit: Fix NPE after CASSANDRA-12929

2017-04-04 Thread paulo
Repository: cassandra
Updated Branches:
  refs/heads/trunk 56ea68ef7 -> 633babf0f


Fix NPE after CASSANDRA-12929


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

Branch: refs/heads/trunk
Commit: 633babf0f02fac56cad7bff03a4ff415feb38f39
Parents: 56ea68e
Author: Yuki Morishita 
Authored: Tue Apr 4 16:56:14 2017 +0900
Committer: Paulo Motta 
Committed: Tue Apr 4 11:07:33 2017 -0300

--
 src/java/org/apache/cassandra/streaming/StreamSession.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/633babf0/src/java/org/apache/cassandra/streaming/StreamSession.java
--
diff --git a/src/java/org/apache/cassandra/streaming/StreamSession.java 
b/src/java/org/apache/cassandra/streaming/StreamSession.java
index 4f9d273..bfae0bf 100644
--- a/src/java/org/apache/cassandra/streaming/StreamSession.java
+++ b/src/java/org/apache/cassandra/streaming/StreamSession.java
@@ -241,7 +241,7 @@ public class StreamSession implements 
IEndpointStateChangeSubscriber
 private boolean isKeepAliveSupported()
 {
 CassandraVersion peerVersion = 
Gossiper.instance.getReleaseVersion(peer);
-return peerVersion.compareTo(STREAM_KEEP_ALIVE_VERSION) >= 0;
+return peerVersion != null && 
peerVersion.compareTo(STREAM_KEEP_ALIVE_VERSION) >= 0;
 }
 
 /**



[jira] [Comment Edited] (CASSANDRA-13304) Add checksumming to the native protocol

2017-04-04 Thread Alexandre Dutra (JIRA)

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

Alexandre Dutra edited comment on CASSANDRA-13304 at 4/4/17 2:06 PM:
-

bq. Do you think a ProtocolException is appropriate here, or do we need to 
define a new error response?

In terms of semantics, yes, I think that {{ProtocolError}} is quite appropriate 
– at least more than {{ServerError}} (which is what is being currently sent). 

Unfortunately I don't think changing the error code would improve user 
experience as long as checksum is mandatory, because regardless of which 
exception you would throw, you would end up sending back a _checksummed_ error 
message, and the driver would fail to decode the error code anyway, and would 
eventually throw a {{DriverInternalException}} no matter what the error code 
actually is. (I played with it already, and that's what happens.)

bq. I've pushed a commit with some renaming and a slight reorg of the packages, 
let me know what you think.

lgtm thanks :)


was (Author: adutra):
bq. Do you think a ProtocolException is appropriate here, or do we need to 
define a new error response?

In terms of semantics, yes, I think that {{ProtocolError}} is quite appropriate 
– at least more than {{ServerError}} (which is what is being currently sent). 

Unfortunately I don't think changing the error code would improve user 
experience as long as checksum is mandatory, because regardless of which 
exception you would throw, you would end up sending back a _checksummed_ error 
message, and the driver would fail to decode the error code anyway, and would 
eventually throw a {{DriverInternalException}} no matter what the error code 
actually is. (I played with it already, and that's what happens.)

Anyways, if you go for {{ProtocolError}} you will also have to wrap it in a 
{{WrappedException}} in order to preserve the stream id.

bq. I've pushed a commit with some renaming and a slight reorg of the packages, 
let me know what you think.

lgtm thanks :)

> Add checksumming to the native protocol
> ---
>
> Key: CASSANDRA-13304
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13304
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Michael Kjellman
>Assignee: Michael Kjellman
>  Labels: client-impacting
> Attachments: 13304_v1.diff
>
>
> The native binary transport implementation doesn't include checksums. This 
> makes it highly susceptible to silently inserting corrupted data either due 
> to hardware issues causing bit flips on the sender/client side, C*/receiver 
> side, or network in between.
> Attaching an implementation that makes checksum'ing mandatory (assuming both 
> client and server know about a protocol version that supports checksums) -- 
> and also adds checksumming to clients that request compression.
> The serialized format looks something like this:
> {noformat}
>  *  1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
>  *  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |  Number of Compressed Chunks  | Compressed Length (e1)/
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * /  Compressed Length cont. (e1) |Uncompressed Length (e1)   /
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * | Uncompressed Length cont. (e1)| CRC32 Checksum of Lengths (e1)|
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * | Checksum of Lengths cont. (e1)|Compressed Bytes (e1)+//
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |  CRC32 Checksum (e1) ||
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |Compressed Length (e2) |
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |   Uncompressed Length (e2)|
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |CRC32 Checksum of Lengths (e2) |
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * | Compressed Bytes (e2)   +//
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |  CRC32 Checksum (e2) ||
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |Compressed Length (en) |
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |   Uncompressed Length (e

[jira] [Commented] (CASSANDRA-13304) Add checksumming to the native protocol

2017-04-04 Thread Alexandre Dutra (JIRA)

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

Alexandre Dutra commented on CASSANDRA-13304:
-

bq. Do you think a ProtocolException is appropriate here, or do we need to 
define a new error response?

In terms of semantics, yes, I think that {{ProtocolError}} is quite appropriate 
– at least more than {{ServerError}} (which is what is being currently sent). 

Unfortunately I don't think changing the error code would improve user 
experience as long as checksum is mandatory, because regardless of which 
exception you would throw, you would end up sending back a _checksummed_ error 
message, and the driver would fail to decode the error code anyway, and would 
eventually throw a {{DriverInternalException}} no matter what the error code 
actually is. (I played with it already, and that's what happens.)

Anyways, if you go for {{ProtocolError}} you will also have to wrap it in a 
{{WrappedException}} in order to preserve the stream id.

bq. I've pushed a commit with some renaming and a slight reorg of the packages, 
let me know what you think.

lgtm thanks :)

> Add checksumming to the native protocol
> ---
>
> Key: CASSANDRA-13304
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13304
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Michael Kjellman
>Assignee: Michael Kjellman
>  Labels: client-impacting
> Attachments: 13304_v1.diff
>
>
> The native binary transport implementation doesn't include checksums. This 
> makes it highly susceptible to silently inserting corrupted data either due 
> to hardware issues causing bit flips on the sender/client side, C*/receiver 
> side, or network in between.
> Attaching an implementation that makes checksum'ing mandatory (assuming both 
> client and server know about a protocol version that supports checksums) -- 
> and also adds checksumming to clients that request compression.
> The serialized format looks something like this:
> {noformat}
>  *  1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
>  *  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |  Number of Compressed Chunks  | Compressed Length (e1)/
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * /  Compressed Length cont. (e1) |Uncompressed Length (e1)   /
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * | Uncompressed Length cont. (e1)| CRC32 Checksum of Lengths (e1)|
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * | Checksum of Lengths cont. (e1)|Compressed Bytes (e1)+//
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |  CRC32 Checksum (e1) ||
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |Compressed Length (e2) |
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |   Uncompressed Length (e2)|
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |CRC32 Checksum of Lengths (e2) |
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * | Compressed Bytes (e2)   +//
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |  CRC32 Checksum (e2) ||
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |Compressed Length (en) |
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |   Uncompressed Length (en)|
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |CRC32 Checksum of Lengths (en) |
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |  Compressed Bytes (en)  +//
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>  * |  CRC32 Checksum (en) ||
>  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
> {noformat}
> The first pass here adds checksums only to the actual contents of the frame 
> body itself (and doesn't actually checksum lengths and headers). While it 
> would be great to fully add checksuming across the entire protocol, the 
> proposed implementation will ensure we at least catch corrupted data and 
> likely protect ourselves pretty well anyways.
> I didn't go to the tr

[jira] [Commented] (CASSANDRA-13405) ViewBuilder can miss data due to sstable generation filter

2017-04-04 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-13405:


Nits addressed running CI again

> ViewBuilder can miss data due to sstable generation filter
> --
>
> Key: CASSANDRA-13405
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13405
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: T Jake Luciani
>Assignee: T Jake Luciani
>  Labels: materializedviews
> Fix For: 3.0.13
>
>
> The view builder for one MV is restarted when other MVs are added on the same 
> keyspace.  There is an issue if compactions are running between these 
> restarts that can cause the view builder to skip data, since the builder 
> tracks the max sstable generation to filter by when it starts back up.
> I don't see a need for this generation tracking across restarts, it only 
> needs to be tracked during a builders life (to avoid adding in newly 
> compacted data).  



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13400) java.lang.ArithmeticException: / by zero when index is created on table with clustering columns only

2017-04-04 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer updated CASSANDRA-13400:
---
Component/s: Local Write-Read Paths

> java.lang.ArithmeticException: / by zero when index is created on table with 
> clustering columns only
> 
>
> Key: CASSANDRA-13400
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13400
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: Andrés de la Peña
>Assignee: Andrés de la Peña
>  Labels: 2i, secondary_index
> Fix For: 3.0.13
>
>
> If we create an index over the clustering key of a table without regular 
> columns:
> {code}
> CREATE KEYSPACE k WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> CREATE TABLE k.t (pk text, ck text, PRIMARY KEY (pk, ck));
> INSERT INTO k.t (pk, ck) VALUES ( 'pk','ck');
> CREATE INDEX idx ON k.t(ck);
> {code}
> Then the following error index creation erros is logged:
> {code}
> INFO  10:19:34 Submitting index build of idx for data in 
> BigTableReader(path='/Users/adelapena/datastax/cassandra/data/data/k/t-ed3d6f90185611e7949f55d18a2e5858/mc-1-big-Data.db')
> ERROR 10:19:34 Exception in thread Thread[SecondaryIndexManagement:2,5,main]
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: 
> java.lang.ArithmeticException: / by zero
>   at 
> org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:402) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.internal.CassandraIndex.buildBlocking(CassandraIndex.java:723)
>  ~[main/:na]
>   at 
> org.apache.cassandra.index.internal.CassandraIndex.lambda$getBuildIndexTask$5(CassandraIndex.java:693)
>  ~[main/:na]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_112]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_112]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_112]
>   at 
> org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:79)
>  [main/:na]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_112]
> Caused by: java.util.concurrent.ExecutionException: 
> java.lang.ArithmeticException: / by zero
>   at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
> ~[na:1.8.0_112]
>   at java.util.concurrent.FutureTask.get(FutureTask.java:192) 
> ~[na:1.8.0_112]
>   at 
> org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:398) 
> ~[main/:na]
>   ... 7 common frames omitted
> Caused by: java.lang.ArithmeticException: / by zero
>   at 
> org.apache.cassandra.index.SecondaryIndexManager.calculateIndexingPageSize(SecondaryIndexManager.java:629)
>  ~[main/:na]
>   at 
> org.apache.cassandra.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.compaction.CompactionManager$11.run(CompactionManager.java:1347)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_112]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_112]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_112]
>   ... 5 common frames omitted
> {code}
> Any further queries using the index will fail:
> {code}
> SELECT * FROM k.t where ck = 'ck';
> ReadFailure: Error from server: 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'}
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13400) java.lang.ArithmeticException: / by zero when index is created on table with clustering columns only

2017-04-04 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer updated CASSANDRA-13400:
---
   Resolution: Fixed
Fix Version/s: (was: 3.0.x)
   3.0.13
   Status: Resolved  (was: Patch Available)

Committed into 3.0 at 828ca7cc925de90c3883e935c66f7beec6fa9113 and merged into 
3.11 and trunk

> java.lang.ArithmeticException: / by zero when index is created on table with 
> clustering columns only
> 
>
> Key: CASSANDRA-13400
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13400
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Andrés de la Peña
>Assignee: Andrés de la Peña
>  Labels: 2i, secondary_index
> Fix For: 3.0.13
>
>
> If we create an index over the clustering key of a table without regular 
> columns:
> {code}
> CREATE KEYSPACE k WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> CREATE TABLE k.t (pk text, ck text, PRIMARY KEY (pk, ck));
> INSERT INTO k.t (pk, ck) VALUES ( 'pk','ck');
> CREATE INDEX idx ON k.t(ck);
> {code}
> Then the following error index creation erros is logged:
> {code}
> INFO  10:19:34 Submitting index build of idx for data in 
> BigTableReader(path='/Users/adelapena/datastax/cassandra/data/data/k/t-ed3d6f90185611e7949f55d18a2e5858/mc-1-big-Data.db')
> ERROR 10:19:34 Exception in thread Thread[SecondaryIndexManagement:2,5,main]
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: 
> java.lang.ArithmeticException: / by zero
>   at 
> org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:402) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.internal.CassandraIndex.buildBlocking(CassandraIndex.java:723)
>  ~[main/:na]
>   at 
> org.apache.cassandra.index.internal.CassandraIndex.lambda$getBuildIndexTask$5(CassandraIndex.java:693)
>  ~[main/:na]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_112]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_112]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_112]
>   at 
> org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:79)
>  [main/:na]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_112]
> Caused by: java.util.concurrent.ExecutionException: 
> java.lang.ArithmeticException: / by zero
>   at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
> ~[na:1.8.0_112]
>   at java.util.concurrent.FutureTask.get(FutureTask.java:192) 
> ~[na:1.8.0_112]
>   at 
> org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:398) 
> ~[main/:na]
>   ... 7 common frames omitted
> Caused by: java.lang.ArithmeticException: / by zero
>   at 
> org.apache.cassandra.index.SecondaryIndexManager.calculateIndexingPageSize(SecondaryIndexManager.java:629)
>  ~[main/:na]
>   at 
> org.apache.cassandra.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.compaction.CompactionManager$11.run(CompactionManager.java:1347)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_112]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_112]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_112]
>   ... 5 common frames omitted
> {code}
> Any further queries using the index will fail:
> {code}
> SELECT * FROM k.t where ck = 'ck';
> ReadFailure: Error from server: 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'}
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


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

2017-04-04 Thread blerer
Merge branch cassandra-3.0 into cassandra-3.11


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

Branch: refs/heads/cassandra-3.11
Commit: e8053dd8b003839e23ca8953f42d8a660899d69e
Parents: 6b87e49 828ca7c
Author: Benjamin Lerer 
Authored: Tue Apr 4 14:28:51 2017 +0200
Committer: Benjamin Lerer 
Committed: Tue Apr 4 14:28:51 2017 +0200

--
 .../index/internal/CassandraIndexTest.java  | 29 
 1 file changed, 29 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e8053dd8/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
--
diff --cc test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
index 59d6860,6c309ac..bfe3c32
--- a/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
+++ b/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
@@@ -358,32 -358,34 +359,60 @@@ public class CassandraIndexTest extend
  }
  
  @Test
 +public void indexOnStaticColumn() throws Throwable
 +{
 +Object[] row1 = row("k0", "c0", "s0");
 +Object[] row2 = row("k0", "c1", "s0");
 +Object[] row3 = row("k1", "c0", "s1");
 +Object[] row4 = row("k1", "c1", "s1");
 +
 +createTable("CREATE TABLE %s (k text, c text, s text static, PRIMARY 
KEY (k, c));");
 +createIndex("CREATE INDEX sc_index on %s(s)");
 +
 +execute("INSERT INTO %s (k, c, s) VALUES (?, ?, ?)", row1);
 +execute("INSERT INTO %s (k, c, s) VALUES (?, ?, ?)", row2);
 +execute("INSERT INTO %s (k, c, s) VALUES (?, ?, ?)", row3);
 +execute("INSERT INTO %s (k, c, s) VALUES (?, ?, ?)", row4);
 +
 +assertRows(execute("SELECT * FROM %s WHERE s = ?", "s0"), row1, row2);
 +assertRows(execute("SELECT * FROM %s WHERE s = ?", "s1"), row3, row4);
 +
 +assertRows(execute("SELECT * FROM %s WHERE s = ? AND token(k) >= 
token(?)", "s0", "k0"), row1, row2);
 +assertRows(execute("SELECT * FROM %s WHERE s = ? AND token(k) >= 
token(?)", "s1", "k1"), row3, row4);
 +
 +assertEmpty(execute("SELECT * FROM %s WHERE s = ? AND token(k) < 
token(?)", "s0", "k0"));
 +assertEmpty(execute("SELECT * FROM %s WHERE s = ? AND token(k) < 
token(?)", "s1", "k1"));
 +}
 +
 +@Test
+ public void indexOnClusteringColumnWithoutRegularColumns() throws 
Throwable
+ {
+ Object[] row1 = row("k0", "c0");
+ Object[] row2 = row("k0", "c1");
+ Object[] row3 = row("k1", "c0");
+ Object[] row4 = row("k1", "c1");
+ String tableName = createTable("CREATE TABLE %s (k text, c text, 
PRIMARY KEY(k, c))");
+ createIndex("CREATE INDEX no_regulars_idx ON %s(c)");
+ 
+ execute("INSERT INTO %s (k, c) VALUES (?, ?)", row1);
+ execute("INSERT INTO %s (k, c) VALUES (?, ?)", row2);
+ execute("INSERT INTO %s (k, c) VALUES (?, ?)", row3);
+ execute("INSERT INTO %s (k, c) VALUES (?, ?)", row4);
+ 
+ assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", 
"c0"), row1, row3);
+ assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", 
"c1"), row2, row4);
+ assertEmpty(execute("SELECT * FROM %s WHERE c = ?", "c3"));
+ 
+ dropIndex("DROP INDEX %s.no_regulars_idx");
+ createIndex("CREATE INDEX no_regulars_idx ON %s(c)");
+ assertTrue(waitForIndex(keyspace(), tableName, "no_regulars_idx"));
+ 
+ assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", 
"c0"), row1, row3);
+ assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", 
"c1"), row2, row4);
+ assertEmpty(execute("SELECT * FROM %s WHERE c = ?", "c3"));
+ }
+ 
+ @Test
  public void createIndexesOnMultipleMapDimensions() throws Throwable
  {
  Object[] row1 = row(0, 0, ImmutableMap.of("a", 10, "b", 20, "c", 30));



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

2017-04-04 Thread blerer
Merge branch 'cassandra-3.11' into trunk


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

Branch: refs/heads/trunk
Commit: 56ea68ef7240982f71b73238c7b1b0c9c3ba28ed
Parents: 0f054fe e8053dd
Author: Benjamin Lerer 
Authored: Tue Apr 4 14:30:25 2017 +0200
Committer: Benjamin Lerer 
Committed: Tue Apr 4 14:30:25 2017 +0200

--
 .../index/internal/CassandraIndexTest.java  | 29 
 1 file changed, 29 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/56ea68ef/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
--



[2/6] cassandra git commit: Fix 2i page size calculation when there are no regular columns

2017-04-04 Thread blerer
Fix 2i page size calculation when there are no regular columns

patch by Andrés de la Peña; reviewed by Benjamin Lerer for CASSANDRA-13400


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

Branch: refs/heads/cassandra-3.11
Commit: 828ca7cc925de90c3883e935c66f7beec6fa9113
Parents: 462b9cf
Author: Andrés de la Peña 
Authored: Tue Apr 4 14:23:19 2017 +0200
Committer: Benjamin Lerer 
Committed: Tue Apr 4 14:23:19 2017 +0200

--
 CHANGES.txt |  1 +
 .../cassandra/index/SecondaryIndexManager.java  |  2 +-
 .../index/internal/CassandraIndexTest.java  | 29 
 3 files changed, 31 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/828ca7cc/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4126b07..c258203 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix 2i page size calculation when there are no regular columns 
(CASSANDRA-13400)
  * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
  * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)
  * Fix possible NPE on upgrade to 3.0/3.X in case of IO errors 
(CASSANDRA-13389)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/828ca7cc/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
--
diff --git a/src/java/org/apache/cassandra/index/SecondaryIndexManager.java 
b/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
index d39b607..dd6dde4 100644
--- a/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
@@ -623,7 +623,7 @@ public class SecondaryIndexManager implements IndexRegistry
 return DEFAULT_PAGE_SIZE;
 
 int columnsPerRow = 
baseCfs.metadata.partitionColumns().regulars.size();
-if (meanCellsPerPartition <= 0)
+if (columnsPerRow <= 0)
 return DEFAULT_PAGE_SIZE;
 
 int meanRowsPerPartition = meanCellsPerPartition / columnsPerRow;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/828ca7cc/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java 
b/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
index 937512d..6c309ac 100644
--- a/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
+++ b/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
@@ -47,6 +47,7 @@ import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 /**
@@ -357,6 +358,34 @@ public class CassandraIndexTest extends CQLTester
 }
 
 @Test
+public void indexOnClusteringColumnWithoutRegularColumns() throws Throwable
+{
+Object[] row1 = row("k0", "c0");
+Object[] row2 = row("k0", "c1");
+Object[] row3 = row("k1", "c0");
+Object[] row4 = row("k1", "c1");
+String tableName = createTable("CREATE TABLE %s (k text, c text, 
PRIMARY KEY(k, c))");
+createIndex("CREATE INDEX no_regulars_idx ON %s(c)");
+
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row1);
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row2);
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row3);
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row4);
+
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c0"), 
row1, row3);
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c1"), 
row2, row4);
+assertEmpty(execute("SELECT * FROM %s WHERE c = ?", "c3"));
+
+dropIndex("DROP INDEX %s.no_regulars_idx");
+createIndex("CREATE INDEX no_regulars_idx ON %s(c)");
+assertTrue(waitForIndex(keyspace(), tableName, "no_regulars_idx"));
+
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c0"), 
row1, row3);
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c1"), 
row2, row4);
+assertEmpty(execute("SELECT * FROM %s WHERE c = ?", "c3"));
+}
+
+@Test
 public void createIndexesOnMultipleMapDimensions() throws Throwable
 {
 Object[]

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

2017-04-04 Thread blerer
Merge branch cassandra-3.0 into cassandra-3.11


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

Branch: refs/heads/trunk
Commit: e8053dd8b003839e23ca8953f42d8a660899d69e
Parents: 6b87e49 828ca7c
Author: Benjamin Lerer 
Authored: Tue Apr 4 14:28:51 2017 +0200
Committer: Benjamin Lerer 
Committed: Tue Apr 4 14:28:51 2017 +0200

--
 .../index/internal/CassandraIndexTest.java  | 29 
 1 file changed, 29 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e8053dd8/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
--
diff --cc test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
index 59d6860,6c309ac..bfe3c32
--- a/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
+++ b/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
@@@ -358,32 -358,34 +359,60 @@@ public class CassandraIndexTest extend
  }
  
  @Test
 +public void indexOnStaticColumn() throws Throwable
 +{
 +Object[] row1 = row("k0", "c0", "s0");
 +Object[] row2 = row("k0", "c1", "s0");
 +Object[] row3 = row("k1", "c0", "s1");
 +Object[] row4 = row("k1", "c1", "s1");
 +
 +createTable("CREATE TABLE %s (k text, c text, s text static, PRIMARY 
KEY (k, c));");
 +createIndex("CREATE INDEX sc_index on %s(s)");
 +
 +execute("INSERT INTO %s (k, c, s) VALUES (?, ?, ?)", row1);
 +execute("INSERT INTO %s (k, c, s) VALUES (?, ?, ?)", row2);
 +execute("INSERT INTO %s (k, c, s) VALUES (?, ?, ?)", row3);
 +execute("INSERT INTO %s (k, c, s) VALUES (?, ?, ?)", row4);
 +
 +assertRows(execute("SELECT * FROM %s WHERE s = ?", "s0"), row1, row2);
 +assertRows(execute("SELECT * FROM %s WHERE s = ?", "s1"), row3, row4);
 +
 +assertRows(execute("SELECT * FROM %s WHERE s = ? AND token(k) >= 
token(?)", "s0", "k0"), row1, row2);
 +assertRows(execute("SELECT * FROM %s WHERE s = ? AND token(k) >= 
token(?)", "s1", "k1"), row3, row4);
 +
 +assertEmpty(execute("SELECT * FROM %s WHERE s = ? AND token(k) < 
token(?)", "s0", "k0"));
 +assertEmpty(execute("SELECT * FROM %s WHERE s = ? AND token(k) < 
token(?)", "s1", "k1"));
 +}
 +
 +@Test
+ public void indexOnClusteringColumnWithoutRegularColumns() throws 
Throwable
+ {
+ Object[] row1 = row("k0", "c0");
+ Object[] row2 = row("k0", "c1");
+ Object[] row3 = row("k1", "c0");
+ Object[] row4 = row("k1", "c1");
+ String tableName = createTable("CREATE TABLE %s (k text, c text, 
PRIMARY KEY(k, c))");
+ createIndex("CREATE INDEX no_regulars_idx ON %s(c)");
+ 
+ execute("INSERT INTO %s (k, c) VALUES (?, ?)", row1);
+ execute("INSERT INTO %s (k, c) VALUES (?, ?)", row2);
+ execute("INSERT INTO %s (k, c) VALUES (?, ?)", row3);
+ execute("INSERT INTO %s (k, c) VALUES (?, ?)", row4);
+ 
+ assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", 
"c0"), row1, row3);
+ assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", 
"c1"), row2, row4);
+ assertEmpty(execute("SELECT * FROM %s WHERE c = ?", "c3"));
+ 
+ dropIndex("DROP INDEX %s.no_regulars_idx");
+ createIndex("CREATE INDEX no_regulars_idx ON %s(c)");
+ assertTrue(waitForIndex(keyspace(), tableName, "no_regulars_idx"));
+ 
+ assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", 
"c0"), row1, row3);
+ assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", 
"c1"), row2, row4);
+ assertEmpty(execute("SELECT * FROM %s WHERE c = ?", "c3"));
+ }
+ 
+ @Test
  public void createIndexesOnMultipleMapDimensions() throws Throwable
  {
  Object[] row1 = row(0, 0, ImmutableMap.of("a", 10, "b", 20, "c", 30));



[3/6] cassandra git commit: Fix 2i page size calculation when there are no regular columns

2017-04-04 Thread blerer
Fix 2i page size calculation when there are no regular columns

patch by Andrés de la Peña; reviewed by Benjamin Lerer for CASSANDRA-13400


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

Branch: refs/heads/trunk
Commit: 828ca7cc925de90c3883e935c66f7beec6fa9113
Parents: 462b9cf
Author: Andrés de la Peña 
Authored: Tue Apr 4 14:23:19 2017 +0200
Committer: Benjamin Lerer 
Committed: Tue Apr 4 14:23:19 2017 +0200

--
 CHANGES.txt |  1 +
 .../cassandra/index/SecondaryIndexManager.java  |  2 +-
 .../index/internal/CassandraIndexTest.java  | 29 
 3 files changed, 31 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/828ca7cc/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4126b07..c258203 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix 2i page size calculation when there are no regular columns 
(CASSANDRA-13400)
  * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
  * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)
  * Fix possible NPE on upgrade to 3.0/3.X in case of IO errors 
(CASSANDRA-13389)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/828ca7cc/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
--
diff --git a/src/java/org/apache/cassandra/index/SecondaryIndexManager.java 
b/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
index d39b607..dd6dde4 100644
--- a/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
@@ -623,7 +623,7 @@ public class SecondaryIndexManager implements IndexRegistry
 return DEFAULT_PAGE_SIZE;
 
 int columnsPerRow = 
baseCfs.metadata.partitionColumns().regulars.size();
-if (meanCellsPerPartition <= 0)
+if (columnsPerRow <= 0)
 return DEFAULT_PAGE_SIZE;
 
 int meanRowsPerPartition = meanCellsPerPartition / columnsPerRow;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/828ca7cc/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java 
b/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
index 937512d..6c309ac 100644
--- a/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
+++ b/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
@@ -47,6 +47,7 @@ import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 /**
@@ -357,6 +358,34 @@ public class CassandraIndexTest extends CQLTester
 }
 
 @Test
+public void indexOnClusteringColumnWithoutRegularColumns() throws Throwable
+{
+Object[] row1 = row("k0", "c0");
+Object[] row2 = row("k0", "c1");
+Object[] row3 = row("k1", "c0");
+Object[] row4 = row("k1", "c1");
+String tableName = createTable("CREATE TABLE %s (k text, c text, 
PRIMARY KEY(k, c))");
+createIndex("CREATE INDEX no_regulars_idx ON %s(c)");
+
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row1);
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row2);
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row3);
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row4);
+
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c0"), 
row1, row3);
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c1"), 
row2, row4);
+assertEmpty(execute("SELECT * FROM %s WHERE c = ?", "c3"));
+
+dropIndex("DROP INDEX %s.no_regulars_idx");
+createIndex("CREATE INDEX no_regulars_idx ON %s(c)");
+assertTrue(waitForIndex(keyspace(), tableName, "no_regulars_idx"));
+
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c0"), 
row1, row3);
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c1"), 
row2, row4);
+assertEmpty(execute("SELECT * FROM %s WHERE c = ?", "c3"));
+}
+
+@Test
 public void createIndexesOnMultipleMapDimensions() throws Throwable
 {
 Object[] row1 = r

[1/6] cassandra git commit: Fix 2i page size calculation when there are no regular columns

2017-04-04 Thread blerer
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 462b9cf63 -> 828ca7cc9
  refs/heads/cassandra-3.11 6b87e49c3 -> e8053dd8b
  refs/heads/trunk 0f054fee5 -> 56ea68ef7


Fix 2i page size calculation when there are no regular columns

patch by Andrés de la Peña; reviewed by Benjamin Lerer for CASSANDRA-13400


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

Branch: refs/heads/cassandra-3.0
Commit: 828ca7cc925de90c3883e935c66f7beec6fa9113
Parents: 462b9cf
Author: Andrés de la Peña 
Authored: Tue Apr 4 14:23:19 2017 +0200
Committer: Benjamin Lerer 
Committed: Tue Apr 4 14:23:19 2017 +0200

--
 CHANGES.txt |  1 +
 .../cassandra/index/SecondaryIndexManager.java  |  2 +-
 .../index/internal/CassandraIndexTest.java  | 29 
 3 files changed, 31 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/828ca7cc/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4126b07..c258203 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix 2i page size calculation when there are no regular columns 
(CASSANDRA-13400)
  * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
  * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)
  * Fix possible NPE on upgrade to 3.0/3.X in case of IO errors 
(CASSANDRA-13389)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/828ca7cc/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
--
diff --git a/src/java/org/apache/cassandra/index/SecondaryIndexManager.java 
b/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
index d39b607..dd6dde4 100644
--- a/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
@@ -623,7 +623,7 @@ public class SecondaryIndexManager implements IndexRegistry
 return DEFAULT_PAGE_SIZE;
 
 int columnsPerRow = 
baseCfs.metadata.partitionColumns().regulars.size();
-if (meanCellsPerPartition <= 0)
+if (columnsPerRow <= 0)
 return DEFAULT_PAGE_SIZE;
 
 int meanRowsPerPartition = meanCellsPerPartition / columnsPerRow;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/828ca7cc/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java 
b/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
index 937512d..6c309ac 100644
--- a/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
+++ b/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
@@ -47,6 +47,7 @@ import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 /**
@@ -357,6 +358,34 @@ public class CassandraIndexTest extends CQLTester
 }
 
 @Test
+public void indexOnClusteringColumnWithoutRegularColumns() throws Throwable
+{
+Object[] row1 = row("k0", "c0");
+Object[] row2 = row("k0", "c1");
+Object[] row3 = row("k1", "c0");
+Object[] row4 = row("k1", "c1");
+String tableName = createTable("CREATE TABLE %s (k text, c text, 
PRIMARY KEY(k, c))");
+createIndex("CREATE INDEX no_regulars_idx ON %s(c)");
+
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row1);
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row2);
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row3);
+execute("INSERT INTO %s (k, c) VALUES (?, ?)", row4);
+
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c0"), 
row1, row3);
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c1"), 
row2, row4);
+assertEmpty(execute("SELECT * FROM %s WHERE c = ?", "c3"));
+
+dropIndex("DROP INDEX %s.no_regulars_idx");
+createIndex("CREATE INDEX no_regulars_idx ON %s(c)");
+assertTrue(waitForIndex(keyspace(), tableName, "no_regulars_idx"));
+
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c0"), 
row1, row3);
+assertRowsIgnoringOrder(execute("SELECT * FROM %s WHERE c = ?", "c1"), 
row2, row4);
+ 

[jira] [Commented] (CASSANDRA-13396) Cassandra 3.10: ClassCastException in ThreadAwareSecurityManager

2017-04-04 Thread Anton Passiouk (JIRA)

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

Anton Passiouk commented on CASSANDRA-13396:


Happy to see that everybody seem to converge to a reasonable solution ;-)

> Cassandra 3.10: ClassCastException in ThreadAwareSecurityManager
> 
>
> Key: CASSANDRA-13396
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13396
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Edward Capriolo
>Priority: Minor
>
> https://www.mail-archive.com/user@cassandra.apache.org/msg51603.html



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13400) java.lang.ArithmeticException: / by zero when index is created on table with clustering columns only

2017-04-04 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer commented on CASSANDRA-13400:


+1
Thanks for the patch.

> java.lang.ArithmeticException: / by zero when index is created on table with 
> clustering columns only
> 
>
> Key: CASSANDRA-13400
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13400
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Andrés de la Peña
>Assignee: Andrés de la Peña
>  Labels: 2i, secondary_index
> Fix For: 3.0.x
>
>
> If we create an index over the clustering key of a table without regular 
> columns:
> {code}
> CREATE KEYSPACE k WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> CREATE TABLE k.t (pk text, ck text, PRIMARY KEY (pk, ck));
> INSERT INTO k.t (pk, ck) VALUES ( 'pk','ck');
> CREATE INDEX idx ON k.t(ck);
> {code}
> Then the following error index creation erros is logged:
> {code}
> INFO  10:19:34 Submitting index build of idx for data in 
> BigTableReader(path='/Users/adelapena/datastax/cassandra/data/data/k/t-ed3d6f90185611e7949f55d18a2e5858/mc-1-big-Data.db')
> ERROR 10:19:34 Exception in thread Thread[SecondaryIndexManagement:2,5,main]
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: 
> java.lang.ArithmeticException: / by zero
>   at 
> org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:402) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.internal.CassandraIndex.buildBlocking(CassandraIndex.java:723)
>  ~[main/:na]
>   at 
> org.apache.cassandra.index.internal.CassandraIndex.lambda$getBuildIndexTask$5(CassandraIndex.java:693)
>  ~[main/:na]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_112]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_112]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_112]
>   at 
> org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:79)
>  [main/:na]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_112]
> Caused by: java.util.concurrent.ExecutionException: 
> java.lang.ArithmeticException: / by zero
>   at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
> ~[na:1.8.0_112]
>   at java.util.concurrent.FutureTask.get(FutureTask.java:192) 
> ~[na:1.8.0_112]
>   at 
> org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:398) 
> ~[main/:na]
>   ... 7 common frames omitted
> Caused by: java.lang.ArithmeticException: / by zero
>   at 
> org.apache.cassandra.index.SecondaryIndexManager.calculateIndexingPageSize(SecondaryIndexManager.java:629)
>  ~[main/:na]
>   at 
> org.apache.cassandra.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.compaction.CompactionManager$11.run(CompactionManager.java:1347)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_112]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_112]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_112]
>   ... 5 common frames omitted
> {code}
> Any further queries using the index will fail:
> {code}
> SELECT * FROM k.t where ck = 'ck';
> ReadFailure: Error from server: 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'}
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (CASSANDRA-13250) dtest failure in cqlsh_tests.cqlsh_tests.TestCqlsh.test_describe

2017-04-04 Thread JIRA

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

Andrés de la Peña edited comment on CASSANDRA-13250 at 4/4/17 12:14 PM:


Closing as duplicate of 
[CASSANDRA-10520|https://issues.apache.org/jira/browse/CASSANDRA-10520].


was (Author: adelapena):
Closing as duplicate of 
[CASSANDRA-11299|https://issues.apache.org/jira/browse/CASSANDRA-11299].

> dtest failure in cqlsh_tests.cqlsh_tests.TestCqlsh.test_describe
> 
>
> Key: CASSANDRA-13250
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13250
> Project: Cassandra
>  Issue Type: Bug
>  Components: Testing
>Reporter: Sean McCarthy
>Assignee: Andrés de la Peña
>  Labels: dtest, test-failure
> Attachments: node1_debug.log, node1_gc.log, node1.log
>
>
> example failure:
> http://cassci.datastax.com/job/trunk_offheap_dtest/430/testReport/cqlsh_tests.cqlsh_tests/TestCqlsh/test_describe
> {code}
> Error Message
> Lists differ: ["CREATE KEYSPACE test WITH re... != ["CREATE KEYSPACE test 
> WITH re...
> First differing element 11:
> "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}"
> "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor', 'min_compress_ratio': 
> '1.1'}"
>   ["CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;",
>'CREATE TABLE test.test (',
>'id int,',
>'col int,',
>'val text,',
>'PRIMARY KEY (id, col)',
>') WITH CLUSTERING ORDER BY (col ASC)',
>'AND bloom_filter_fp_chance = 0.01',
>"AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}",
>"AND comment = ''",
>"AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '4'}",
> -  "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}",
> +  "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor', 'min_compress_ratio': 
> '1.1'}",
> ? 
>   +
>'AND crc_check_chance = 1.0',
>'AND dclocal_read_repair_chance = 0.1',
>'AND default_time_to_live = 0',
>'AND gc_grace_seconds = 864000',
>'AND max_index_interval = 2048',
>'AND memtable_flush_period_in_ms = 0',
>'AND min_index_interval = 128',
>'AND read_repair_chance = 0.0',
>"AND speculative_retry = '99PERCENTILE';",
>'CREATE INDEX test_val_idx ON test.test (val);',
>'CREATE INDEX test_col_idx ON test.test (col);',
>'CREATE TABLE test.users (',
>'userid text PRIMARY KEY,',
>'age int,',
>'firstname text,',
>'lastname text',
>') WITH bloom_filter_fp_chance = 0.01',
>"AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}",
>"AND comment = ''",
>"AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '4'}",
> -  "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}",
> +  "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor', 'min_compress_ratio': 
> '1.1'}",
> ? 
>   +
>'AND crc_check_chance = 1.0',
>'AND dclocal_read_repair_chance = 0.1',
>'AND default_time_to_live = 0',
>'AND gc_grace_seconds = 864000',
>'AND max_index_interval = 2048',
>'AND memtable_flush_period_in_ms = 0',
>'AND min_index_interval = 128',
>'AND read_repair_chance = 0.0',
>"AND speculative_retry = '99PERCENTILE';",
>'CREATE INDEX myindex ON test.users (age);']
> {code}{code}
> Stacktrace
>   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
> testMethod()
>   File "/home/automaton/cassandra-dtest/cqlsh_tests/cqlsh_tests.py", line 
> 702, in test_describe
> self.execute(cql="DESCRIBE KEYSPACE test", 
> expected_output=self.get_keyspace_output())
>   File "/home/automaton/cassandra-dtest/cqlsh_tests/cqlsh_tests.py", line 
> 1042, in execute
> self.check_response(output, expected_output)
>   File "/home/automaton/cassandra-dtest/cqlsh_tests/cqlsh_tests.py", line 
> 1049, in check_response
> self.assertEqual(expected_lines, lines)
>   File "/usr/lib/python2.7/unittest/case.py", line 513, in assertEqual
>

[jira] [Resolved] (CASSANDRA-13250) dtest failure in cqlsh_tests.cqlsh_tests.TestCqlsh.test_describe

2017-04-04 Thread JIRA

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

Andrés de la Peña resolved CASSANDRA-13250.
---
Resolution: Duplicate

Closing as duplicate of 
[CASSANDRA-11299|https://issues.apache.org/jira/browse/CASSANDRA-11299].

> dtest failure in cqlsh_tests.cqlsh_tests.TestCqlsh.test_describe
> 
>
> Key: CASSANDRA-13250
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13250
> Project: Cassandra
>  Issue Type: Bug
>  Components: Testing
>Reporter: Sean McCarthy
>Assignee: Andrés de la Peña
>  Labels: dtest, test-failure
> Attachments: node1_debug.log, node1_gc.log, node1.log
>
>
> example failure:
> http://cassci.datastax.com/job/trunk_offheap_dtest/430/testReport/cqlsh_tests.cqlsh_tests/TestCqlsh/test_describe
> {code}
> Error Message
> Lists differ: ["CREATE KEYSPACE test WITH re... != ["CREATE KEYSPACE test 
> WITH re...
> First differing element 11:
> "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}"
> "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor', 'min_compress_ratio': 
> '1.1'}"
>   ["CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'}  AND durable_writes = true;",
>'CREATE TABLE test.test (',
>'id int,',
>'col int,',
>'val text,',
>'PRIMARY KEY (id, col)',
>') WITH CLUSTERING ORDER BY (col ASC)',
>'AND bloom_filter_fp_chance = 0.01',
>"AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}",
>"AND comment = ''",
>"AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '4'}",
> -  "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}",
> +  "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor', 'min_compress_ratio': 
> '1.1'}",
> ? 
>   +
>'AND crc_check_chance = 1.0',
>'AND dclocal_read_repair_chance = 0.1',
>'AND default_time_to_live = 0',
>'AND gc_grace_seconds = 864000',
>'AND max_index_interval = 2048',
>'AND memtable_flush_period_in_ms = 0',
>'AND min_index_interval = 128',
>'AND read_repair_chance = 0.0',
>"AND speculative_retry = '99PERCENTILE';",
>'CREATE INDEX test_val_idx ON test.test (val);',
>'CREATE INDEX test_col_idx ON test.test (col);',
>'CREATE TABLE test.users (',
>'userid text PRIMARY KEY,',
>'age int,',
>'firstname text,',
>'lastname text',
>') WITH bloom_filter_fp_chance = 0.01',
>"AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}",
>"AND comment = ''",
>"AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '4'}",
> -  "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}",
> +  "AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor', 'min_compress_ratio': 
> '1.1'}",
> ? 
>   +
>'AND crc_check_chance = 1.0',
>'AND dclocal_read_repair_chance = 0.1',
>'AND default_time_to_live = 0',
>'AND gc_grace_seconds = 864000',
>'AND max_index_interval = 2048',
>'AND memtable_flush_period_in_ms = 0',
>'AND min_index_interval = 128',
>'AND read_repair_chance = 0.0',
>"AND speculative_retry = '99PERCENTILE';",
>'CREATE INDEX myindex ON test.users (age);']
> {code}{code}
> Stacktrace
>   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
> testMethod()
>   File "/home/automaton/cassandra-dtest/cqlsh_tests/cqlsh_tests.py", line 
> 702, in test_describe
> self.execute(cql="DESCRIBE KEYSPACE test", 
> expected_output=self.get_keyspace_output())
>   File "/home/automaton/cassandra-dtest/cqlsh_tests/cqlsh_tests.py", line 
> 1042, in execute
> self.check_response(output, expected_output)
>   File "/home/automaton/cassandra-dtest/cqlsh_tests/cqlsh_tests.py", line 
> 1049, in check_response
> self.assertEqual(expected_lines, lines)
>   File "/usr/lib/python2.7/unittest/case.py", line 513, in assertEqual
> assertion_func(first, second, msg=msg)
>   File "/usr/lib/python2.7/unittest/case.py", line 742, in assertListEqual
> self.assertSequenceEqual(list1, list2, msg, seq_type=list)
>   File "/usr/lib/py

[jira] [Commented] (CASSANDRA-13404) Hostname verification for client-to-node encryption

2017-04-04 Thread Jason Brown (JIRA)

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

Jason Brown commented on CASSANDRA-13404:
-

I'll review this one, and will keep CASSANDRA-10735 in mind as I do.

> Hostname verification for client-to-node encryption
> ---
>
> Key: CASSANDRA-13404
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13404
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Jan Karlsson
>Assignee: Jan Karlsson
> Fix For: 4.x
>
> Attachments: 13404-trunk.txt
>
>
> Similarily to CASSANDRA-9220, Cassandra should support hostname verification 
> for client-node connections.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13404) Hostname verification for client-to-node encryption

2017-04-04 Thread Jason Brown (JIRA)

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

Jason Brown updated CASSANDRA-13404:

Reviewer: Jason Brown

> Hostname verification for client-to-node encryption
> ---
>
> Key: CASSANDRA-13404
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13404
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Jan Karlsson
>Assignee: Jan Karlsson
> Fix For: 4.x
>
> Attachments: 13404-trunk.txt
>
>
> Similarily to CASSANDRA-9220, Cassandra should support hostname verification 
> for client-node connections.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-11299) AssertionError when quering by secondary index

2017-04-04 Thread JIRA

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

Andrés de la Peña commented on CASSANDRA-11299:
---

Could you please provide the original sstables, before upgrading? You can send 
them to the email on my JIRA profile.

> AssertionError when quering by secondary index
> --
>
> Key: CASSANDRA-11299
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11299
> Project: Cassandra
>  Issue Type: Bug
> Environment: Cassandra 3.3
>Reporter: Michał Matłoka
>Assignee: Andrés de la Peña
>
> Hi,
> Recently we have upgraded from Cassandra 2.2.4 to 3.3. I have issues with one 
> table. When I try to query using any secondary index I get e.g. in cqlsh
> {code}
> Traceback (most recent call last):
>   File "/usr/bin/cqlsh.py", line 1249, in perform_simple_statement
> result = future.result()
>   File 
> "/usr/share/cassandra/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'}
> {code}
> Node logs shows then:
> {code}
> [[AWARN  [SharedPool-Worker-2] 2016-03-03 00:47:01,679 
> AbstractLocalAwareExecutorService.java:169 - Uncaught exception on thread 
> Thread[SharedPool-Worker-2,5,main]: {}
> java.lang.AssertionError: null
> at 
> org.apache.cassandra.index.internal.composites.CompositesSearcher$1Transform.findEntry(CompositesSearcher.java:225)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.index.internal.composites.CompositesSearcher$1Transform.applyToRow(CompositesSearcher.java:215)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:133)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:89)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:79)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$Serializer.serialize(UnfilteredPartitionIterators.java:294)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.db.ReadResponse$LocalDataResponse.build(ReadResponse.java:134)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.db.ReadResponse$LocalDataResponse.(ReadResponse.java:127)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.db.ReadResponse$LocalDataResponse.(ReadResponse.java:123)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.db.ReadResponse.createDataResponse(ReadResponse.java:65) 
> ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.db.ReadCommand.createResponse(ReadCommand.java:292) 
> ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1789)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2457)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_66]
> at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
>  ~[apache-cassandra-3.3.0.jar:3.3.0]
> at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
>  [apache-cassandra-3.3.0.jar:3.3.0]
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [apache-cassandra-3.3.0.jar:3.3.0]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66]
> {code}
> SStables are upgraded, I have tried repair and scrub. I have tried to rebuild 
> indexes, and even remove them and re-add them.It occurs on every cluster node.
> Additionally I had seen in this table case where PRIMARY KEY was 
> duplicated!!! (there were two rows with same primary key, by seeing what 
> columns were set I can say one was older, and second was from newer query 
> which sets only a subset of columns)



--
This message was se

[jira] [Comment Edited] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-04 Thread Andrew Efimov (JIRA)

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

Andrew Efimov edited comment on CASSANDRA-13346 at 4/4/17 11:11 AM:


{{TableMetrics.release}} does not release metric with name {{ViewReadTime}}
because it is not created, but release method tries to remove this metric with 
NPE:
{noformat}
C* 3.10
org.apache.cassandra.metrics.TableMetrics: 669

// We do not want to capture view mutation specific metrics for a view
// They only makes sense to capture on the base table
if (cfs.metadata.isView())
{
viewLockAcquireTime = null;
viewReadTime = null;
}
else
{
viewLockAcquireTime = createTableTimer("ViewLockAcquireTime", 
cfs.keyspace.metric.viewLockAcquireTime);
viewReadTime = createTableTimer("ViewReadTime", 
cfs.keyspace.metric.viewReadTime);
}
{noformat}


was (Author: andrew efimov):
{{TableMetrics.release}} does not release metric with name {{ViewReadTime}}
because it is not created, but release method tries to remove this metric with 
NPE:
{noformat}
org.apache.cassandra.metrics.TableMetrics: 669

// We do not want to capture view mutation specific metrics for a view
// They only makes sense to capture on the base table
if (cfs.metadata.isView())
{
viewLockAcquireTime = null;
viewReadTime = null;
}
else
{
viewLockAcquireTime = createTableTimer("ViewLockAcquireTime", 
cfs.keyspace.metric.viewLockAcquireTime);
viewReadTime = createTableTimer("ViewReadTime", 
cfs.keyspace.metric.viewReadTime);
}
{noformat}

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap$KeySetView.remove(ConcurrentHashMap.java:4569)
>  ~[na:1.8.0_121]
> at 
> org.apache.cassandra.metrics.TableMetrics.release(TableMetrics.java:712) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.unregisterMBean(ColumnFamilyStore.java:570)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:527)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.unloadCf(Keyspace.java:365) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.dropCf(Keyspace.java:358) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.config.Schema.dropView(Schema.java:744) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.lambda$mergeSchema$373(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_121]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1256)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:51)
>  ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Wor

[jira] [Commented] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-04 Thread Andrew Efimov (JIRA)

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

Andrew Efimov commented on CASSANDRA-13346:
---

{{TableMetrics.release}} does not release metric with name {{ViewReadTime}}
because it is not created, but release method tries to remove this metric with 
NPE:
{noformat}
org.apache.cassandra.metrics.TableMetrics: 669

// We do not want to capture view mutation specific metrics for a view
// They only makes sense to capture on the base table
if (cfs.metadata.isView())
{
viewLockAcquireTime = null;
viewReadTime = null;
}
else
{
viewLockAcquireTime = createTableTimer("ViewLockAcquireTime", 
cfs.keyspace.metric.viewLockAcquireTime);
viewReadTime = createTableTimer("ViewReadTime", 
cfs.keyspace.metric.viewReadTime);
}
{noformat}

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap$KeySetView.remove(ConcurrentHashMap.java:4569)
>  ~[na:1.8.0_121]
> at 
> org.apache.cassandra.metrics.TableMetrics.release(TableMetrics.java:712) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.unregisterMBean(ColumnFamilyStore.java:570)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:527)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.unloadCf(Keyspace.java:365) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.dropCf(Keyspace.java:358) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.config.Schema.dropView(Schema.java:744) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.lambda$mergeSchema$373(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_121]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1256)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:51)
>  ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_121]
> at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13403) nodetool repair breaks SASI index

2017-04-04 Thread Igor Novgorodov (JIRA)

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

Igor Novgorodov commented on CASSANDRA-13403:
-

I've built the current 3.11 branch from Git and upgraded nodes to it, now it 
got even worse :)
After nodetool repair --full i'm getting zero rows from query until i rebuild 
the index.

Query with tracing: https://pastebin.com/4GZ8DKNN

> nodetool repair breaks SASI index
> -
>
> Key: CASSANDRA-13403
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13403
> Project: Cassandra
>  Issue Type: Bug
>  Components: sasi
> Environment: 3.10
>Reporter: Igor Novgorodov
>
> I've got table:
> {code}
> CREATE TABLE cservice.bulks_recipients (
> recipient text,
> bulk_id uuid,
> datetime_final timestamp,
> datetime_sent timestamp,
> request_id uuid,
> status int,
> PRIMARY KEY (recipient, bulk_id)
> ) WITH CLUSTERING ORDER BY (bulk_id ASC)
> AND bloom_filter_fp_chance = 0.01
> AND caching = {'keys': 'ALL', 'rows_per_partition': 'ALL'}
> AND comment = ''
> AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '4'}
> AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}
> AND crc_check_chance = 1.0
> AND dclocal_read_repair_chance = 0.1
> AND default_time_to_live = 0
> AND gc_grace_seconds = 864000
> AND max_index_interval = 2048
> AND memtable_flush_period_in_ms = 0
> AND min_index_interval = 128
> AND read_repair_chance = 0.0
> AND speculative_retry = '99PERCENTILE';
> CREATE CUSTOM INDEX bulk_recipients_bulk_id ON cservice.bulks_recipients 
> (bulk_id) USING 'org.apache.cassandra.index.sasi.SASIIndex';
> {code}
> There are 11 rows in it:
> {code}
> > select * from bulks_recipients;
> ...
> (11 rows)
> {code}
> Let's query by index (all rows have the same *bulk_id*):
> {code}
> > select * from bulks_recipients where bulk_id = 
> > baa94815-e276-4ca4-adda-5b9734e6c4a5;   
> >   
> ...
> (11 rows)
> {code}
> Ok, everything is fine.
> Now i'm doing *nodetool repair --partitioner-range --job-threads 4 --full* on 
> each node in cluster sequentially.
> After it finished:
> {code}
> > select * from bulks_recipients where bulk_id = 
> > baa94815-e276-4ca4-adda-5b9734e6c4a5;
> ...
> (2 rows)
> {code}
> Only two rows.
> While the rows are actually there:
> {code}
> > select * from bulks_recipients;
> ...
> (11 rows)
> {code}
> If i issue an incremental repair on a random node, i can get like 7 rows 
> after index query.
> Dropping index and recreating it fixes the issue. Is it a bug or am i doing 
> the repair the wrong way?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-04 Thread Andrew Efimov (JIRA)

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

Andrew Efimov commented on CASSANDRA-13346:
---

I guess that the problem may be in the difference of metrics types for 
Materialized view and Table:
{{at org.apache.cassandra.metrics.TableMetrics.release(TableMetrics.java:713)}}
{{TableMetrics}} does not find the metrics for view, can only be used for Table.

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap$KeySetView.remove(ConcurrentHashMap.java:4569)
>  ~[na:1.8.0_121]
> at 
> org.apache.cassandra.metrics.TableMetrics.release(TableMetrics.java:712) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.unregisterMBean(ColumnFamilyStore.java:570)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:527)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.unloadCf(Keyspace.java:365) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.dropCf(Keyspace.java:358) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.config.Schema.dropView(Schema.java:744) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.lambda$mergeSchema$373(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_121]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1256)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:51)
>  ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_121]
> at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13147) Secondary index query on partition key columns might not return all the rows.

2017-04-04 Thread JIRA

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

Andrés de la Peña updated CASSANDRA-13147:
--
Fix Version/s: 4.x
   3.11.x
   3.0.x
   2.2.x
   2.1.x
   Status: Patch Available  (was: In Progress)

> Secondary index query on partition key columns might not return all the rows.
> -
>
> Key: CASSANDRA-13147
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13147
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benjamin Lerer
>Assignee: Andrés de la Peña
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.11.x, 4.x
>
>
> A secondary index query on a partition key column will, apparently, not 
> return the empty partitions with static data.
> The following unit test can be used to reproduce the problem.
> {code}
> public void testIndexOnPartitionKeyWithStaticColumnAndNoRows() throws 
> Throwable
> {
> createTable("CREATE TABLE %s (pk1 int, pk2 int, c int, s int static, 
> v int, PRIMARY KEY((pk1, pk2), c))");
> createIndex("CREATE INDEX ON %s (pk2)");
> execute("INSERT INTO %s (pk1, pk2, c, s, v) VALUES (?, ?, ?, ?, ?)", 
> 1, 1, 1, 9, 1);
> execute("INSERT INTO %s (pk1, pk2, c, s, v) VALUES (?, ?, ?, ?, ?)", 
> 1, 1, 2, 9, 2);
> execute("INSERT INTO %s (pk1, pk2, s) VALUES (?, ?, ?)", 2, 1, 9);
> execute("INSERT INTO %s (pk1, pk2, c, s, v) VALUES (?, ?, ?, ?, ?)", 
> 3, 1, 1, 9, 1);
> assertRows(execute("SELECT * FROM %s WHERE pk2 = ?", 1),
>row(1, 1, 1, 9, 1),
>row(1, 1, 2, 9, 2),
>row(2, 1, null, 9, null), <-- is not returned
>row(3, 1, 1, 9, 1));
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13147) Secondary index query on partition key columns might not return all the rows.

2017-04-04 Thread JIRA

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

Andrés de la Peña commented on CASSANDRA-13147:
---

And there are the patch versions for all the involved branches:

||[2.1|https://github.com/apache/cassandra/compare/cassandra-2.1...adelapena:13147-2.1]|[utests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-13147-2.1-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-13147-2.1-dtest/]|
||[2.2|https://github.com/apache/cassandra/compare/cassandra-2.2...adelapena:13147-2.2]|[utests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-13147-2.2-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-13147-2.2-dtest/]|
||[3.0|https://github.com/apache/cassandra/compare/cassandra-3.0...adelapena:13147-3.0]|[utests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-13147-3.0-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-13147-3.0-dtest/]|
||[3.11|https://github.com/apache/cassandra/compare/cassandra-3.11...adelapena:13147-3.11]|[utests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-13147-3.11-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-13147-3.11-dtest/]|
||[trunk|https://github.com/apache/cassandra/compare/trunk...adelapena:13147-trunk]|[utests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-13147-trunk-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-13147-trunk-dtest/]|

> Secondary index query on partition key columns might not return all the rows.
> -
>
> Key: CASSANDRA-13147
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13147
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benjamin Lerer
>Assignee: Andrés de la Peña
>
> A secondary index query on a partition key column will, apparently, not 
> return the empty partitions with static data.
> The following unit test can be used to reproduce the problem.
> {code}
> public void testIndexOnPartitionKeyWithStaticColumnAndNoRows() throws 
> Throwable
> {
> createTable("CREATE TABLE %s (pk1 int, pk2 int, c int, s int static, 
> v int, PRIMARY KEY((pk1, pk2), c))");
> createIndex("CREATE INDEX ON %s (pk2)");
> execute("INSERT INTO %s (pk1, pk2, c, s, v) VALUES (?, ?, ?, ?, ?)", 
> 1, 1, 1, 9, 1);
> execute("INSERT INTO %s (pk1, pk2, c, s, v) VALUES (?, ?, ?, ?, ?)", 
> 1, 1, 2, 9, 2);
> execute("INSERT INTO %s (pk1, pk2, s) VALUES (?, ?, ?)", 2, 1, 9);
> execute("INSERT INTO %s (pk1, pk2, c, s, v) VALUES (?, ?, ?, ?, ?)", 
> 3, 1, 1, 9, 1);
> assertRows(execute("SELECT * FROM %s WHERE pk2 = ?", 1),
>row(1, 1, 1, 9, 1),
>row(1, 1, 2, 9, 2),
>row(2, 1, null, 9, null), <-- is not returned
>row(3, 1, 1, 9, 1));
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13396) Cassandra 3.10: ClassCastException in ThreadAwareSecurityManager

2017-04-04 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-13396:
--

[~jjirsa], can live with that - i.e. logging an explicit warning using a new 
{{StartupCheck}} that also mentions that UDFs/UDAs might be broken, if a logger 
that's not logback is used.

> Cassandra 3.10: ClassCastException in ThreadAwareSecurityManager
> 
>
> Key: CASSANDRA-13396
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13396
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Edward Capriolo
>Priority: Minor
>
> https://www.mail-archive.com/user@cassandra.apache.org/msg51603.html



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13395) Expired rows without regular column data can crash upgradesstables

2017-04-04 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer updated CASSANDRA-13395:
---
Component/s: Local Write-Read Paths

> Expired rows without regular column data can crash upgradesstables
> --
>
> Key: CASSANDRA-13395
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13395
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: Benjamin Lerer
>Assignee: Benjamin Lerer
> Fix For: 3.0.13, 3.11.0
>
>
> In {{2.x}} if an expired row is compacted its row marker will be converted 
> into a {{DeletedCell}}. In {{3.0}}, when the row is read by {{LegacyLayout}} 
> it will be converted in a row without {{PrimaryKeyLivenessInfo}}. If the row 
> does not contains any data for the regular columns, or if the table simply 
> has no regular columns it will then be considered as {{empty}}. Which will 
> crash {{upgradesstables}} with the following error:
> {code}
> java.lang.AssertionError
> at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70)
> at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:207)
> at 
> org.apache.cassandra.db.transform.BaseRows.applyOne(BaseRows.java:116)
> at org.apache.cassandra.db.transform.BaseRows.add(BaseRows.java:107)
> at 
> org.apache.cassandra.db.transform.UnfilteredRows.add(UnfilteredRows.java:41)
> at 
> org.apache.cassandra.db.transform.Transformation.add(Transformation.java:156)
> at 
> org.apache.cassandra.db.transform.Transformation.apply(Transformation.java:122)
> at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:147)
> at 
> org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:125)
> at 
> org.apache.cassandra.db.compaction.writers.DefaultCompactionWriter.realAppend(DefaultCompactionWriter.java:57)
> at 
> org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.append(CompactionAwareWriter.java:109)
> at 
> org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:195)
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> at 
> org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:89)
> at 
> org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:61)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$5.execute(CompactionManager.java:416)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:308)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at 
> org.apache.cassandra.concurrent.NamedThreadFactory.lambda$0(NamedThreadFactory.java:79)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> This problem is cause



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13395) Expired rows without regular column data can crash upgradesstables

2017-04-04 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer updated CASSANDRA-13395:
---
Resolution: Fixed
Status: Resolved  (was: Patch Available)

Committed into 3.0 at 462b9cf63bf986671f8a080ef1802f0c27e7c772 and merged into 
3.X.

> Expired rows without regular column data can crash upgradesstables
> --
>
> Key: CASSANDRA-13395
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13395
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: Benjamin Lerer
>Assignee: Benjamin Lerer
>
> In {{2.x}} if an expired row is compacted its row marker will be converted 
> into a {{DeletedCell}}. In {{3.0}}, when the row is read by {{LegacyLayout}} 
> it will be converted in a row without {{PrimaryKeyLivenessInfo}}. If the row 
> does not contains any data for the regular columns, or if the table simply 
> has no regular columns it will then be considered as {{empty}}. Which will 
> crash {{upgradesstables}} with the following error:
> {code}
> java.lang.AssertionError
> at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70)
> at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:207)
> at 
> org.apache.cassandra.db.transform.BaseRows.applyOne(BaseRows.java:116)
> at org.apache.cassandra.db.transform.BaseRows.add(BaseRows.java:107)
> at 
> org.apache.cassandra.db.transform.UnfilteredRows.add(UnfilteredRows.java:41)
> at 
> org.apache.cassandra.db.transform.Transformation.add(Transformation.java:156)
> at 
> org.apache.cassandra.db.transform.Transformation.apply(Transformation.java:122)
> at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:147)
> at 
> org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:125)
> at 
> org.apache.cassandra.db.compaction.writers.DefaultCompactionWriter.realAppend(DefaultCompactionWriter.java:57)
> at 
> org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.append(CompactionAwareWriter.java:109)
> at 
> org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:195)
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> at 
> org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:89)
> at 
> org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:61)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$5.execute(CompactionManager.java:416)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:308)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at 
> org.apache.cassandra.concurrent.NamedThreadFactory.lambda$0(NamedThreadFactory.java:79)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> This problem is cause



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13395) Expired rows without regular column data can crash upgradesstables

2017-04-04 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer updated CASSANDRA-13395:
---
Fix Version/s: 3.11.0
   3.0.13

> Expired rows without regular column data can crash upgradesstables
> --
>
> Key: CASSANDRA-13395
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13395
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: Benjamin Lerer
>Assignee: Benjamin Lerer
> Fix For: 3.0.13, 3.11.0
>
>
> In {{2.x}} if an expired row is compacted its row marker will be converted 
> into a {{DeletedCell}}. In {{3.0}}, when the row is read by {{LegacyLayout}} 
> it will be converted in a row without {{PrimaryKeyLivenessInfo}}. If the row 
> does not contains any data for the regular columns, or if the table simply 
> has no regular columns it will then be considered as {{empty}}. Which will 
> crash {{upgradesstables}} with the following error:
> {code}
> java.lang.AssertionError
> at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70)
> at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:207)
> at 
> org.apache.cassandra.db.transform.BaseRows.applyOne(BaseRows.java:116)
> at org.apache.cassandra.db.transform.BaseRows.add(BaseRows.java:107)
> at 
> org.apache.cassandra.db.transform.UnfilteredRows.add(UnfilteredRows.java:41)
> at 
> org.apache.cassandra.db.transform.Transformation.add(Transformation.java:156)
> at 
> org.apache.cassandra.db.transform.Transformation.apply(Transformation.java:122)
> at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:147)
> at 
> org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:125)
> at 
> org.apache.cassandra.db.compaction.writers.DefaultCompactionWriter.realAppend(DefaultCompactionWriter.java:57)
> at 
> org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.append(CompactionAwareWriter.java:109)
> at 
> org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:195)
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> at 
> org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:89)
> at 
> org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:61)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$5.execute(CompactionManager.java:416)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:308)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at 
> org.apache.cassandra.concurrent.NamedThreadFactory.lambda$0(NamedThreadFactory.java:79)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> This problem is cause



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[1/6] cassandra git commit: Fix the conversion of 2.X expired rows without regular column data

2017-04-04 Thread blerer
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 2e36eb6ca -> 462b9cf63
  refs/heads/cassandra-3.11 420c91c9a -> 6b87e49c3
  refs/heads/trunk f87ec773f -> 0f054fee5


Fix the conversion of 2.X expired rows without regular column data

patch by Benjamin Lerer; reviewed by Sylvain Lebresne for CASSANDRA-13395


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

Branch: refs/heads/cassandra-3.0
Commit: 462b9cf63bf986671f8a080ef1802f0c27e7c772
Parents: 2e36eb6
Author: Benjamin Lerer 
Authored: Tue Apr 4 11:57:41 2017 +0200
Committer: Benjamin Lerer 
Committed: Tue Apr 4 11:57:41 2017 +0200

--
 CHANGES.txt|  1 +
 src/java/org/apache/cassandra/db/LegacyLayout.java | 12 ++--
 2 files changed, 11 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/462b9cf6/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 41489c1..4126b07 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
  * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)
  * Fix possible NPE on upgrade to 3.0/3.X in case of IO errors 
(CASSANDRA-13389)
  * Legacy deserializer can create empty range tombstones (CASSANDRA-13341)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/462b9cf6/src/java/org/apache/cassandra/db/LegacyLayout.java
--
diff --git a/src/java/org/apache/cassandra/db/LegacyLayout.java 
b/src/java/org/apache/cassandra/db/LegacyLayout.java
index bfe3bff..669fb1c 100644
--- a/src/java/org/apache/cassandra/db/LegacyLayout.java
+++ b/src/java/org/apache/cassandra/db/LegacyLayout.java
@@ -1128,6 +1128,11 @@ public abstract class LegacyLayout
 
 public static class CellGrouper
 {
+/**
+ * The fake TTL used for expired rows that have been compacted.
+ */
+private static final int FAKE_TTL = 1;
+
 public final CFMetaData metadata;
 private final boolean isStatic;
 private final SerializationHelper helper;
@@ -1194,14 +1199,17 @@ public abstract class LegacyLayout
 {
 // It's the row marker
 assert !cell.value.hasRemaining();
-// In 2.1, the row marker expired cell might have been 
converted into a deleted one by compaction. So,
-// we need to set the primary key liveness info only if the 
cell is not a deleted one.
+// In 2.1, the row marker expired cell might have been 
converted into a deleted one by compaction.
+// If we do not set the primary key liveness info for this row 
and it does not contains any regular columns
+// the row will be empty. To avoid that, we reuse the 
localDeletionTime but use a fake TTL.
 // The only time in 2.x that we actually delete a row marker 
is in 2i tables, so in that case we do
 // want to actually propagate the row deletion. 
(CASSANDRA-13320)
 if (!cell.isTombstone())
 
builder.addPrimaryKeyLivenessInfo(LivenessInfo.create(cell.timestamp, cell.ttl, 
cell.localDeletionTime));
 else if (metadata.isIndex())
 builder.addRowDeletion(Row.Deletion.regular(new 
DeletionTime(cell.timestamp, cell.localDeletionTime)));
+else
+
builder.addPrimaryKeyLivenessInfo(LivenessInfo.create(cell.timestamp, FAKE_TTL, 
cell.localDeletionTime));
 }
 else
 {



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

2017-04-04 Thread blerer
Merge branch cassandra-3.0 into cassandra-3.11


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

Branch: refs/heads/trunk
Commit: 6b87e49c377731b0347ce2a0fb2db3da2a13ec3f
Parents: 420c91c 462b9cf
Author: Benjamin Lerer 
Authored: Tue Apr 4 12:01:07 2017 +0200
Committer: Benjamin Lerer 
Committed: Tue Apr 4 12:01:07 2017 +0200

--
 CHANGES.txt|  1 +
 src/java/org/apache/cassandra/db/LegacyLayout.java | 12 ++--
 2 files changed, 11 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b87e49c/CHANGES.txt
--
diff --cc CHANGES.txt
index fc7a2bb,4126b07..e63e266
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,24 -1,5 +1,25 @@@
 -3.0.13
 +3.11.0
 + * Fix testLimitSSTables flake caused by concurrent flush (CASSANDRA-12820)
 + * cdc column addition strikes again (CASSANDRA-13382)
 + * Fix static column indexes (CASSANDRA-13277) 
 + * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
 + * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
 + * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns 
(CASSANDRA-13247)
 + * Default logging we ship will incorrectly print "?:?" for "%F:%L" pattern 
(CASSANDRA-13317)
 + * Possible AssertionError in UnfilteredRowIteratorWithLowerBound 
(CASSANDRA-13366)
 + * Support unaligned memory access for AArch64 (CASSANDRA-13326)
 + * Improve SASI range iterator efficiency on intersection with an empty range 
(CASSANDRA-12915).
 + * Fix equality comparisons of columns using the duration type 
(CASSANDRA-13174)
 + * Obfuscate password in stress-graphs (CASSANDRA-12233)
 + * Move to FastThreadLocalThread and FastThreadLocal (CASSANDRA-13034)
 + * nodetool stopdaemon errors out (CASSANDRA-13030)
 + * Tables in system_distributed should not use gcgs of 0 (CASSANDRA-12954)
 + * Fix primary index calculation for SASI (CASSANDRA-12910)
 + * More fixes to the TokenAllocator (CASSANDRA-12990)
 + * NoReplicationTokenAllocator should work with zero replication factor 
(CASSANDRA-12983)
 + * Address message coalescing regression (CASSANDRA-12676)
 +Merged from 3.0:
+  * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
   * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)
   * Fix possible NPE on upgrade to 3.0/3.X in case of IO errors 
(CASSANDRA-13389)
   * Legacy deserializer can create empty range tombstones (CASSANDRA-13341)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b87e49c/src/java/org/apache/cassandra/db/LegacyLayout.java
--
diff --cc src/java/org/apache/cassandra/db/LegacyLayout.java
index e218fd1,669fb1c..9a7131e
--- a/src/java/org/apache/cassandra/db/LegacyLayout.java
+++ b/src/java/org/apache/cassandra/db/LegacyLayout.java
@@@ -1195,15 -1199,17 +1200,18 @@@ public abstract class LegacyLayou
  {
  // It's the row marker
  assert !cell.value.hasRemaining();
 +
- // In 2.1, the row marker expired cell might have been 
converted into a deleted one by compaction. So,
- // we need to set the primary key liveness info only if the 
cell is not a deleted one.
+ // In 2.1, the row marker expired cell might have been 
converted into a deleted one by compaction.
+ // If we do not set the primary key liveness info for this 
row and it does not contains any regular columns
+ // the row will be empty. To avoid that, we reuse the 
localDeletionTime but use a fake TTL.
  // The only time in 2.x that we actually delete a row marker 
is in 2i tables, so in that case we do
  // want to actually propagate the row deletion. 
(CASSANDRA-13320)
  if (!cell.isTombstone())
 -
builder.addPrimaryKeyLivenessInfo(LivenessInfo.create(cell.timestamp, cell.ttl, 
cell.localDeletionTime));
 +
builder.addPrimaryKeyLivenessInfo(LivenessInfo.withExpirationTime(cell.timestamp,
 cell.ttl, cell.localDeletionTime));
  else if (metadata.isIndex())
  builder.addRowDeletion(Row.Deletion.regular(new 
DeletionTime(cell.timestamp, cell.localDeletionTime)));
+ else
+ 
builder.addPrimaryKeyLivenessInfo(LivenessInfo.create(cell.timestamp, FAKE_TTL, 
cell.localDeletionTime));
  }
  else
  {



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

2017-04-04 Thread blerer
Merge branch cassandra-3.0 into cassandra-3.11


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

Branch: refs/heads/cassandra-3.11
Commit: 6b87e49c377731b0347ce2a0fb2db3da2a13ec3f
Parents: 420c91c 462b9cf
Author: Benjamin Lerer 
Authored: Tue Apr 4 12:01:07 2017 +0200
Committer: Benjamin Lerer 
Committed: Tue Apr 4 12:01:07 2017 +0200

--
 CHANGES.txt|  1 +
 src/java/org/apache/cassandra/db/LegacyLayout.java | 12 ++--
 2 files changed, 11 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b87e49c/CHANGES.txt
--
diff --cc CHANGES.txt
index fc7a2bb,4126b07..e63e266
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,24 -1,5 +1,25 @@@
 -3.0.13
 +3.11.0
 + * Fix testLimitSSTables flake caused by concurrent flush (CASSANDRA-12820)
 + * cdc column addition strikes again (CASSANDRA-13382)
 + * Fix static column indexes (CASSANDRA-13277) 
 + * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
 + * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
 + * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns 
(CASSANDRA-13247)
 + * Default logging we ship will incorrectly print "?:?" for "%F:%L" pattern 
(CASSANDRA-13317)
 + * Possible AssertionError in UnfilteredRowIteratorWithLowerBound 
(CASSANDRA-13366)
 + * Support unaligned memory access for AArch64 (CASSANDRA-13326)
 + * Improve SASI range iterator efficiency on intersection with an empty range 
(CASSANDRA-12915).
 + * Fix equality comparisons of columns using the duration type 
(CASSANDRA-13174)
 + * Obfuscate password in stress-graphs (CASSANDRA-12233)
 + * Move to FastThreadLocalThread and FastThreadLocal (CASSANDRA-13034)
 + * nodetool stopdaemon errors out (CASSANDRA-13030)
 + * Tables in system_distributed should not use gcgs of 0 (CASSANDRA-12954)
 + * Fix primary index calculation for SASI (CASSANDRA-12910)
 + * More fixes to the TokenAllocator (CASSANDRA-12990)
 + * NoReplicationTokenAllocator should work with zero replication factor 
(CASSANDRA-12983)
 + * Address message coalescing regression (CASSANDRA-12676)
 +Merged from 3.0:
+  * Fix the conversion of 2.X expired rows without regular column data 
(CASSANDRA-13395)
   * Fix hint delivery when using ext+internal IPs with prefer_local enabled 
(CASSANDRA-13020)
   * Fix possible NPE on upgrade to 3.0/3.X in case of IO errors 
(CASSANDRA-13389)
   * Legacy deserializer can create empty range tombstones (CASSANDRA-13341)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b87e49c/src/java/org/apache/cassandra/db/LegacyLayout.java
--
diff --cc src/java/org/apache/cassandra/db/LegacyLayout.java
index e218fd1,669fb1c..9a7131e
--- a/src/java/org/apache/cassandra/db/LegacyLayout.java
+++ b/src/java/org/apache/cassandra/db/LegacyLayout.java
@@@ -1195,15 -1199,17 +1200,18 @@@ public abstract class LegacyLayou
  {
  // It's the row marker
  assert !cell.value.hasRemaining();
 +
- // In 2.1, the row marker expired cell might have been 
converted into a deleted one by compaction. So,
- // we need to set the primary key liveness info only if the 
cell is not a deleted one.
+ // In 2.1, the row marker expired cell might have been 
converted into a deleted one by compaction.
+ // If we do not set the primary key liveness info for this 
row and it does not contains any regular columns
+ // the row will be empty. To avoid that, we reuse the 
localDeletionTime but use a fake TTL.
  // The only time in 2.x that we actually delete a row marker 
is in 2i tables, so in that case we do
  // want to actually propagate the row deletion. 
(CASSANDRA-13320)
  if (!cell.isTombstone())
 -
builder.addPrimaryKeyLivenessInfo(LivenessInfo.create(cell.timestamp, cell.ttl, 
cell.localDeletionTime));
 +
builder.addPrimaryKeyLivenessInfo(LivenessInfo.withExpirationTime(cell.timestamp,
 cell.ttl, cell.localDeletionTime));
  else if (metadata.isIndex())
  builder.addRowDeletion(Row.Deletion.regular(new 
DeletionTime(cell.timestamp, cell.localDeletionTime)));
+ else
+ 
builder.addPrimaryKeyLivenessInfo(LivenessInfo.create(cell.timestamp, FAKE_TTL, 
cell.localDeletionTime));
  }
  else
  {



  1   2   >