[cassandra] branch cassandra-3.11 updated: Frozen RawTuple is not annotated with frozen in the toString method

2020-07-22 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-3.11 by this push:
 new d51c18f  Frozen RawTuple is not annotated with frozen in the toString 
method
d51c18f is described below

commit d51c18f807c5c88ef44114341592214747487645
Author: Yifan Cai 
AuthorDate: Wed Jul 22 11:08:28 2020 +0200

Frozen RawTuple is not annotated with frozen in the toString method

Patch by Yifan Cai; reviewed by Robert Stupp for CASSANDRA-15857
---
 CHANGES.txt|   4 +
 src/java/org/apache/cassandra/cql3/CQL3Type.java   |  20 +-
 .../cql3/statements/CreateAggregateStatement.java  |   2 +-
 .../cql3/statements/CreateFunctionStatement.java   |   2 +-
 .../cql3/statements/DropAggregateStatement.java|   2 +-
 .../cql3/statements/DropFunctionStatement.java |   2 +-
 .../cassandra/cql3/validation/entities/UFTest.java |  13 ++
 .../cql3/validation/entities/UFTypesTest.java  |  34 ++--
 .../validation/operations/AggregationTest.java |  46 -
 .../cassandra/io/sstable/CQLSSTableWriterTest.java | 209 +++--
 10 files changed, 197 insertions(+), 137 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index b5b406b..22e7d1a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+3.11.8
+ * Frozen RawTuple is not annotated with frozen in the toString method 
(CASSANDRA-15857)
+
+
 3.11.7
  * Fix cqlsh output when fetching all rows in batch mode (CASSANDRA-15905)
  * Upgrade Jackson to 2.9.10 (CASSANDRA-15867)
diff --git a/src/java/org/apache/cassandra/cql3/CQL3Type.java 
b/src/java/org/apache/cassandra/cql3/CQL3Type.java
index 095d536..d1e6809 100644
--- a/src/java/org/apache/cassandra/cql3/CQL3Type.java
+++ b/src/java/org/apache/cassandra/cql3/CQL3Type.java
@@ -511,6 +511,11 @@ public interface CQL3Type
 return false;
 }
 
+public boolean isTuple()
+{
+return false;
+}
+
 public String keyspace()
 {
 return null;
@@ -660,7 +665,8 @@ public interface CQL3Type
 {
 assert values != null : "Got null values type for a 
collection";
 
-if (!frozen && values.supportsFreezing() && !values.frozen)
+// skip if innerType is tuple, since tuple is implicitly forzen
+if (!frozen && values.supportsFreezing() && !values.frozen && 
!values.isTuple())
 throwNestedNonFrozenError(values);
 
 // we represent Thrift supercolumns as maps, internally, and 
we do allow counters in supercolumns. Thus,
@@ -701,8 +707,6 @@ public interface CQL3Type
 throw new InvalidRequestException("Non-frozen collections 
are not allowed inside collections: " + this);
 else if (innerType.isUDT())
 throw new InvalidRequestException("Non-frozen UDTs are not 
allowed inside collections: " + this);
-else
-throw new InvalidRequestException("Non-frozen tuples are 
not allowed inside collections: " + this);
 }
 
 public boolean referencesUserType(String name)
@@ -805,7 +809,9 @@ public interface CQL3Type
 
 private RawTuple(List types)
 {
+frozen = true;
 this.types = types;
+freeze();
 }
 
 public boolean supportsFreezing()
@@ -824,9 +830,6 @@ public interface CQL3Type
 
 public CQL3Type prepare(String keyspace, Types udts) throws 
InvalidRequestException
 {
-if (!frozen)
-freeze();
-
 List> ts = new ArrayList<>(types.size());
 for (CQL3Type.Raw t : types)
 {
@@ -838,6 +841,11 @@ public interface CQL3Type
 return new Tuple(new TupleType(ts));
 }
 
+public boolean isTuple()
+{
+return true;
+}
+
 public boolean referencesUserType(String name)
 {
 return types.stream().anyMatch(t -> 
t.referencesUserType(name));
diff --git 
a/src/java/org/apache/cassandra/cql3/statements/CreateAggregateStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/CreateAggregateStatement.java
index e8a5e06..d0e7ebb 100644
--- 
a/src/java/org/apache/cassandra/cql3/statements/CreateAggregateStatement.java
+++ 
b/src/java/org/apache/cassandra/cql3/statements/CreateAggregateStatement.java
@@ -141,7 +141,7 @@ public final class CreateAggregateStatement extends 
SchemaAlteringStatement
 
 private AbstractType prepareType(String typeName, CQL3Type.Raw rawType)
 {
-if (rawType.isFrozen())
+

[cassandra] 01/01: Merge branch 'cassandra-3.11' into trunk

2020-07-22 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit a76d288c32e9a062dfafc8e38a33b8aed064913e
Merge: f3198c4 d51c18f
Author: Yifan Cai 
AuthorDate: Wed Jul 22 11:11:25 2020 +0200

Merge branch 'cassandra-3.11' into trunk

 CHANGES.txt|   4 +
 src/java/org/apache/cassandra/cql3/CQL3Type.java   |  37 ++--
 .../schema/CreateAggregateStatement.java   |   4 +-
 .../statements/schema/CreateFunctionStatement.java |   4 +-
 .../statements/schema/DropAggregateStatement.java  |   2 +-
 .../statements/schema/DropFunctionStatement.java   |   2 +-
 .../cassandra/cql3/validation/entities/UFTest.java |  13 ++
 .../cql3/validation/entities/UFTypesTest.java  |  34 ++--
 .../validation/operations/AggregationTest.java |  46 -
 .../cassandra/io/sstable/CQLSSTableWriterTest.java | 203 ++---
 10 files changed, 200 insertions(+), 149 deletions(-)

diff --cc CHANGES.txt
index afb3d09,22e7d1a..b56ee27
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,64 -1,8 +1,68 @@@
 -3.11.8
 +4.0-beta2
 + * Verify sstable components on startup (CASSANDRA-15945)
++Merged from 3.11:
+  * Frozen RawTuple is not annotated with frozen in the toString method 
(CASSANDRA-15857)
+ 
+ 
 -3.11.7
 +4.0-beta1
 + * Remove BackPressureStrategy (CASSANDRA-15375)
 + * Improve messaging on indexing frozen collections (CASSANDRA-15908)
 + * USING_G1 is incorrectly set in cassandra-env.sh if G1 is explicitly 
disabled with -UseG1GC (CASSANDRA-15931)
 + * Update compaction_throughput_mb_per_sec throttle default to 64 
(CASSANDRA-14902)
 + * Add option to disable compaction at startup (CASSANDRA-15927)
 + * FBUtilities.getJustLocalAddress falls back to lo ip on misconfigured nodes 
(CASSANDRA-15901)
 + * Close channel and reduce buffer allocation during entire sstable streaming 
with SSL (CASSANDRA-15900)
 + * Prune expired messages less frequently in internode messaging 
(CASSANDRA-15700)
 + * Fix Ec2Snitch handling of legacy mode for dc names matching both formats, 
eg "us-west-2" (CASSANDRA-15878)
 + * Add support for server side DESCRIBE statements (CASSANDRA-14825)
 + * Fail startup if -Xmn is set when the G1 garbage collector is used 
(CASSANDRA-15839)
 + * generateSplits method replaced the generateRandomTokens for 
ReplicationAwareTokenAllocator. (CASSANDRA-15877)
 + * Several mbeans are not unregistered when dropping a keyspace and table 
(CASSANDRA-14888)
 + * Update defaults for server and client TLS settings (CASSANDRA-15262)
 + * Differentiate follower/initator in StreamMessageHeader (CASSANDRA-15665)
 + * Add a startup check to detect if LZ4 uses java rather than native 
implementation (CASSANDRA-15884)
 + * Fix missing topology events when running multiple nodes on the same 
network interface (CASSANDRA-15677)
 + * Create config.yml.MIDRES (CASSANDRA-15712)
 + * Fix handling of fully purged static rows in repaired data tracking 
(CASSANDRA-15848)
 + * Prevent validation request submission from blocking ANTI_ENTROPY stage 
(CASSANDRA-15812)
 + * Add fqltool and auditlogviewer to rpm and deb packages (CASSANDRA-14712)
 + * Include DROPPED_COLUMNS in schema digest computation (CASSANDRA-15843)
 + * Fix Cassandra restart from rpm install (CASSANDRA-15830)
 + * Improve handling of 2i initialization failures (CASSANDRA-13606)
 + * Add completion_ratio column to sstable_tasks virtual table (CASANDRA-15759)
 + * Add support for adding custom Verbs (CASSANDRA-15725)
 + * Speed up entire-file-streaming file containment check and allow 
entire-file-streaming for all compaction strategies 
(CASSANDRA-15657,CASSANDRA-15783)
 + * Provide ability to configure IAuditLogger (CASSANDRA-15748)
 + * Fix nodetool enablefullquerylog blocking param parsing (CASSANDRA-15819)
 + * Add isTransient to SSTableMetadataView (CASSANDRA-15806)
 + * Fix tools/bin/fqltool for all shells (CASSANDRA-15820)
 + * Fix clearing of legacy size_estimates (CASSANDRA-15776)
 + * Update port when reconnecting to pre-4.0 SSL storage (CASSANDRA-15727)
 + * Only calculate dynamicBadnessThreshold once per loop in 
DynamicEndpointSnitch (CASSANDRA-15798)
 + * Cleanup redundant nodetool commands added in 4.0 (CASSANDRA-15256)
 + * Update to Python driver 3.23 for cqlsh (CASSANDRA-15793)
 + * Add tunable initial size and growth factor to RangeTombstoneList 
(CASSANDRA-15763)
 + * Improve debug logging in SSTableReader for index summary (CASSANDRA-15755)
 + * bin/sstableverify should support user provided token ranges 
(CASSANDRA-15753)
 + * Improve logging when mutation passed to commit log is too large 
(CASSANDRA-14781)
 + * replace LZ4FastDecompressor with LZ4SafeDecompressor (CASSANDRA-15560)
 + * Fix buffer pool NPE with concurrent release due to in-progress tiny pool 
eviction (CASSANDRA-15726)
 + * Avoid race condition when completing stream sessions (CASSANDRA-15666)
 + * Flush

[cassandra] branch trunk updated (f3198c4 -> a76d288)

2020-07-22 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from f3198c4  Verify sstable components on startup
 new d51c18f  Frozen RawTuple is not annotated with frozen in the toString 
method
 new a76d288  Merge branch 'cassandra-3.11' into trunk

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt|   4 +
 src/java/org/apache/cassandra/cql3/CQL3Type.java   |  37 ++--
 .../schema/CreateAggregateStatement.java   |   4 +-
 .../statements/schema/CreateFunctionStatement.java |   4 +-
 .../statements/schema/DropAggregateStatement.java  |   2 +-
 .../statements/schema/DropFunctionStatement.java   |   2 +-
 .../cassandra/cql3/validation/entities/UFTest.java |  13 ++
 .../cql3/validation/entities/UFTypesTest.java  |  34 ++--
 .../validation/operations/AggregationTest.java |  46 -
 .../cassandra/io/sstable/CQLSSTableWriterTest.java | 203 ++---
 10 files changed, 200 insertions(+), 149 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra-dtest] branch master updated (ca00939 -> d08296b)

2020-06-04 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/cassandra-dtest.git.


from ca00939  Fix `@since` for 
upgrade_internal_auth_test.TestAuthUpgrade.test_upgrade_to_22 + 
test_upgrade_to_30
 new 01753e8  CASSANDRA-15835: use correct Java version for upgrade-tests
 new 94b1b4b  CASSANDRA-15835: re-enable running upgrade-dtests for 
developer-CI runs against a local C* clone
 new 6a7f721  CASSANDRA-15835: don't let check_logs_for_errors() fail, if 
there's no log file
 new 76e87f9  CASSANDRA-15835: also copy the new ccm node 
startup-stdout/stderr.log files
 new d08296b  Merge pull request #71 from snazy/15835-fix-upgrade-dtests

The 5202 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 conftest.py   | 55 +++
 upgrade_tests/upgrade_base.py | 38 ---
 upgrade_tests/upgrade_manifest.py |  8 +++---
 3 files changed, 61 insertions(+), 40 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated: Use Docker image for dtests in CircleCI w/ JAVA8_HOME environment variable & Allow different pip-source-install repos in requirements.txt

2020-06-04 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
 new d6552ce  Use Docker image for dtests in CircleCI w/ JAVA8_HOME 
environment variable & Allow different pip-source-install repos in 
requirements.txt
d6552ce is described below

commit d6552ce3a42d3394277e8156959c9409bb302d81
Author: Robert Stupp 
AuthorDate: Tue May 26 15:40:43 2020 +0200

Use Docker image for dtests in CircleCI w/ JAVA8_HOME environment variable 
& Allow different pip-source-install repos in requirements.txt

Related changes in cassandra-dtests + ccm fix more issues w/ upgraded-dtests

Patch by Robert Stupp; reviewed by Eduard Tudenhöfner for CASSANDRA-15835
---
 .circleci/config-2_1.yml |  6 +--
 .circleci/config.yml | 92 ++--
 .circleci/config.yml.HIGHRES | 92 ++--
 .circleci/config.yml.LOWRES  | 92 ++--
 4 files changed, 141 insertions(+), 141 deletions(-)

diff --git a/.circleci/config-2_1.yml b/.circleci/config-2_1.yml
index d711975..ab62124 100644
--- a/.circleci/config-2_1.yml
+++ b/.circleci/config-2_1.yml
@@ -277,7 +277,7 @@ executors:
 type: string
 default: medium
 docker:
-  - image: 
nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200406
+  - image: 
nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
 resource_class: << parameters.exec_resource_class >>
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
@@ -292,7 +292,7 @@ executors:
 type: string
 default: medium
 docker:
-- image: nastra/cassandra-testing-ubuntu1910-java11:20200406
+- image: nastra/cassandra-testing-ubuntu1910-java11:20200603
 resource_class: << parameters.exec_resource_class >>
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
@@ -914,7 +914,7 @@ commands:
   # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
   source ~/env<>/bin/activate
   export PATH=$JAVA_HOME/bin:$PATH
-  pip3 install --upgrade -r ~/cassandra-dtest/requirements.txt
+  pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
   pip3 uninstall -y cqlsh
   pip3 freeze
 
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 7f6c93b..ffcb107 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -2,7 +2,7 @@ version: 2
 jobs:
   j8_jvm_upgrade_dtests:
 docker:
-- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200406
+- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
 resource_class: medium
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
@@ -93,7 +93,7 @@ jobs:
 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64
   j8_cqlsh-dtests-py2-with-vnodes:
 docker:
-- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200406
+- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
 resource_class: medium
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
@@ -114,7 +114,7 @@ jobs:
   # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
   source ~/env3.6/bin/activate
   export PATH=$JAVA_HOME/bin:$PATH
-  pip3 install --upgrade -r ~/cassandra-dtest/requirements.txt
+  pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
   pip3 uninstall -y cqlsh
   pip3 freeze
 - run:
@@ -170,7 +170,7 @@ jobs:
 - JDK_HOME: /usr/lib/jvm/java-8-openjdk-amd64
   j11_unit_tests:
 docker:
-- image: nastra/cassandra-testing-ubuntu1910-java11:20200406
+- image: nastra/cassandra-testing-ubuntu1910-java11:20200603
 resource_class: medium
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
@@ -262,7 +262,7 @@ jobs:
 - CASSANDRA_USE_JDK11: true
   j8_cqlsh-dtests-py38-no-vnodes:
 docker:
-- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200406
+- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
 resource_class: medium
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
@@ -283,7 +283,7 @@ jobs:
   # rebuild the docker image! (it automatically pulls the latest 
requirements.txt on build)
   source ~/env3.8/bin/activate
   export PATH=$JAVA_HOME/bin:$PATH
-  pip3 install --upgrade -r ~/cassandra-dtest/requirements.txt
+  pip3 install --exists-action w --upgrade -r 
~/cassandra-dtest/requirements.txt
   pip3 uninstall -y cqlsh
   pip3 freeze
 - run:
@@ -339,7

[cassandra-dtest] branch master updated: Fix `@since` for upgrade_internal_auth_test.TestAuthUpgrade.test_upgrade_to_22 + test_upgrade_to_30

2020-06-04 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cassandra-dtest.git


The following commit(s) were added to refs/heads/master by this push:
 new ca00939  Fix `@since` for 
upgrade_internal_auth_test.TestAuthUpgrade.test_upgrade_to_22 + 
test_upgrade_to_30
ca00939 is described below

commit ca009392d1697ef5a42e87a62930fe9274a3c2fe
Author: Robert Stupp 
AuthorDate: Thu Jun 4 10:21:27 2020 +0200

Fix `@since` for 
upgrade_internal_auth_test.TestAuthUpgrade.test_upgrade_to_22 + 
test_upgrade_to_30

Patch by Robert Stupp; reviewed by Eduard Tudenhöfner for CASSANDRA-15853
---
 upgrade_internal_auth_test.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/upgrade_internal_auth_test.py b/upgrade_internal_auth_test.py
index d0425b1..b86c00e 100644
--- a/upgrade_internal_auth_test.py
+++ b/upgrade_internal_auth_test.py
@@ -36,10 +36,11 @@ class TestAuthUpgrade(Tester):
 r'Can\'t send migration request: node.*is down',
 )
 
+@since('2.2', max_version='2.2.X')
 def test_upgrade_to_22(self):
 self.do_upgrade_with_internal_auth("github:apache/cassandra-2.2")
 
-@since('3.0')
+@since('3.0', max_version='3.0.X')
 @pytest.mark.no_offheap_memtables
 def test_upgrade_to_30(self):
 self.do_upgrade_with_internal_auth("github:apache/cassandra-3.0")


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra-builds] branch master updated: CASSANDRA-15835 Update Docker image w/ JAVA8_HOME via ENV

2020-06-03 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cassandra-builds.git


The following commit(s) were added to refs/heads/master by this push:
 new 45dc010  CASSANDRA-15835 Update Docker image w/ JAVA8_HOME via ENV
45dc010 is described below

commit 45dc010227d75bf05e34617729de5389e62f8f99
Author: Robert Stupp 
AuthorDate: Tue Jun 2 12:43:30 2020 +0200

CASSANDRA-15835 Update Docker image w/ JAVA8_HOME via ENV
---
 docker/testing/ubuntu1810_j11.docker | 5 +
 docker/testing/ubuntu18_j11.docker   | 5 +
 docker/testing/ubuntu1910_j11.docker | 5 +
 3 files changed, 15 insertions(+)

diff --git a/docker/testing/ubuntu1810_j11.docker 
b/docker/testing/ubuntu1810_j11.docker
index 835d2ad..58fea47 100644
--- a/docker/testing/ubuntu1810_j11.docker
+++ b/docker/testing/ubuntu1810_j11.docker
@@ -80,6 +80,11 @@ RUN echo 'export ANT_HOME=/usr/share/ant' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA_HOME=$JAVA8_HOME' >> /home/cassandra/.bashrc
 
+ENV ANT_HOME=/usr/share/ant \
+JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA8_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64
+
 # run pip commands and setup virtualenv (note we do this after we switch to 
cassandra user so we
 # setup the virtualenv for the cassandra user and not the root user by 
accident)
 RUN virtualenv --python=python3.6 --no-site-packages env
diff --git a/docker/testing/ubuntu18_j11.docker 
b/docker/testing/ubuntu18_j11.docker
index 7e92c0f..3e6fe6b 100644
--- a/docker/testing/ubuntu18_j11.docker
+++ b/docker/testing/ubuntu18_j11.docker
@@ -80,6 +80,11 @@ RUN echo 'export ANT_HOME=/usr/share/ant' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA_HOME=$JAVA8_HOME' >> /home/cassandra/.bashrc
 
+ENV ANT_HOME=/usr/share/ant \
+JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA8_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64
+
 # run pip commands and setup virtualenv (note we do this after we switch to 
cassandra user so we
 # setup the virtualenv for the cassandra user and not the root user by 
accident)
 RUN virtualenv --python=python3.6 --no-site-packages env
diff --git a/docker/testing/ubuntu1910_j11.docker 
b/docker/testing/ubuntu1910_j11.docker
index 38f60bb..70dd44b 100644
--- a/docker/testing/ubuntu1910_j11.docker
+++ b/docker/testing/ubuntu1910_j11.docker
@@ -92,6 +92,11 @@ RUN echo 'export ANT_HOME=/usr/share/ant' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA_HOME=$JAVA8_HOME' >> /home/cassandra/.bashrc
 
+ENV ANT_HOME=/usr/share/ant \
+JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA8_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64
+
 # run pip commands and setup virtualenv (note we do this after we switch to 
cassandra user so we
 # setup the virtualenv for the cassandra user and not the root user by 
accident) for Python 3.6/3.7/3.8
 RUN virtualenv --python=python3.6 env3.6


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra-builds] branch master updated: CASSANDRA-15835 Update Docker image w/ JAVA8_HOME via ENV

2020-06-03 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cassandra-builds.git


The following commit(s) were added to refs/heads/master by this push:
 new 45dc010  CASSANDRA-15835 Update Docker image w/ JAVA8_HOME via ENV
45dc010 is described below

commit 45dc010227d75bf05e34617729de5389e62f8f99
Author: Robert Stupp 
AuthorDate: Tue Jun 2 12:43:30 2020 +0200

CASSANDRA-15835 Update Docker image w/ JAVA8_HOME via ENV
---
 docker/testing/ubuntu1810_j11.docker | 5 +
 docker/testing/ubuntu18_j11.docker   | 5 +
 docker/testing/ubuntu1910_j11.docker | 5 +
 3 files changed, 15 insertions(+)

diff --git a/docker/testing/ubuntu1810_j11.docker 
b/docker/testing/ubuntu1810_j11.docker
index 835d2ad..58fea47 100644
--- a/docker/testing/ubuntu1810_j11.docker
+++ b/docker/testing/ubuntu1810_j11.docker
@@ -80,6 +80,11 @@ RUN echo 'export ANT_HOME=/usr/share/ant' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA_HOME=$JAVA8_HOME' >> /home/cassandra/.bashrc
 
+ENV ANT_HOME=/usr/share/ant \
+JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA8_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64
+
 # run pip commands and setup virtualenv (note we do this after we switch to 
cassandra user so we
 # setup the virtualenv for the cassandra user and not the root user by 
accident)
 RUN virtualenv --python=python3.6 --no-site-packages env
diff --git a/docker/testing/ubuntu18_j11.docker 
b/docker/testing/ubuntu18_j11.docker
index 7e92c0f..3e6fe6b 100644
--- a/docker/testing/ubuntu18_j11.docker
+++ b/docker/testing/ubuntu18_j11.docker
@@ -80,6 +80,11 @@ RUN echo 'export ANT_HOME=/usr/share/ant' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA_HOME=$JAVA8_HOME' >> /home/cassandra/.bashrc
 
+ENV ANT_HOME=/usr/share/ant \
+JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA8_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64
+
 # run pip commands and setup virtualenv (note we do this after we switch to 
cassandra user so we
 # setup the virtualenv for the cassandra user and not the root user by 
accident)
 RUN virtualenv --python=python3.6 --no-site-packages env
diff --git a/docker/testing/ubuntu1910_j11.docker 
b/docker/testing/ubuntu1910_j11.docker
index 38f60bb..70dd44b 100644
--- a/docker/testing/ubuntu1910_j11.docker
+++ b/docker/testing/ubuntu1910_j11.docker
@@ -92,6 +92,11 @@ RUN echo 'export ANT_HOME=/usr/share/ant' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> 
/home/cassandra/.bashrc && \
 echo 'export JAVA_HOME=$JAVA8_HOME' >> /home/cassandra/.bashrc
 
+ENV ANT_HOME=/usr/share/ant \
+JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA8_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
+JAVA11_HOME=/usr/lib/jvm/java-11-openjdk-amd64
+
 # run pip commands and setup virtualenv (note we do this after we switch to 
cassandra user so we
 # setup the virtualenv for the cassandra user and not the root user by 
accident) for Python 3.6/3.7/3.8
 RUN virtualenv --python=python3.6 env3.6


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra-builds] branch master updated: Allow different pip-source-install repos in requirements.txt (#23)

2020-06-02 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cassandra-builds.git


The following commit(s) were added to refs/heads/master by this push:
 new bf6bc98  Allow different pip-source-install repos in requirements.txt 
(#23)
bf6bc98 is described below

commit bf6bc98085330172f323c27b21810ac0eb0cc732
Author: Robert Stupp 
AuthorDate: Tue Jun 2 15:28:08 2020 +0200

Allow different pip-source-install repos in requirements.txt (#23)
---
 .gitignore  | 2 ++
 build-scripts/cassandra-dtest-pytest.sh | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 5b88705..1348a5d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
 dist/cassandra*
 .idea
+*.iml
+
diff --git a/build-scripts/cassandra-dtest-pytest.sh 
b/build-scripts/cassandra-dtest-pytest.sh
index c70ed5a..ef89780 100755
--- a/build-scripts/cassandra-dtest-pytest.sh
+++ b/build-scripts/cassandra-dtest-pytest.sh
@@ -52,7 +52,7 @@ fi
 set -e # enable immediate exit if venv setup fails
 virtualenv --python=python3 venv
 source venv/bin/activate
-pip3 install -r cassandra-dtest/requirements.txt
+pip3 install --exists-action w -r cassandra-dtest/requirements.txt
 pip3 freeze
 
 


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated: Fixed non-deterministic test in CasWriteTest

2020-05-19 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
 new fdcd0df  Fixed non-deterministic test in CasWriteTest
fdcd0df is described below

commit fdcd0dff216d9e1ad242be1a7d5be3ef67044ac3
Author: Gianluca Righetto 
AuthorDate: Wed May 20 06:30:29 2020 +0200

Fixed non-deterministic test in CasWriteTest

patch by Gianluca Righetto; reviewed by Ekaterina Dimitrova & Yifan Cai for 
CASSANDRA-15676
---
 .../cassandra/distributed/test/CasWriteTest.java   | 40 +-
 1 file changed, 23 insertions(+), 17 deletions(-)

diff --git 
a/test/distributed/org/apache/cassandra/distributed/test/CasWriteTest.java 
b/test/distributed/org/apache/cassandra/distributed/test/CasWriteTest.java
index 1d886cf..81b52f7 100644
--- a/test/distributed/org/apache/cassandra/distributed/test/CasWriteTest.java
+++ b/test/distributed/org/apache/cassandra/distributed/test/CasWriteTest.java
@@ -32,6 +32,7 @@ import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Supplier;
 
+import com.google.common.util.concurrent.Uninterruptibles;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -249,28 +250,33 @@ public class CasWriteTest extends TestBaseImpl
 @Test
 public void testWriteUnknownResult()
 {
-while (true)
-{
-cluster.filters().reset();
-int pk = pkGen.getAndIncrement();
-
cluster.filters().verbs(Verb.PAXOS_PROPOSE_REQ.id).from(1).to(3).messagesMatching((from,
 to, msg) -> {
+cluster.filters().reset();
+int pk = pkGen.getAndIncrement();
+CountDownLatch ready = new CountDownLatch(1);
+cluster.filters().verbs(Verb.PAXOS_PROPOSE_REQ.id).from(1).to(2, 
3).messagesMatching((from, to, msg) -> {
+if (to == 2)
+{
 // Inject a single CAS request in-between prepare and propose 
phases
 cluster.coordinator(2).execute(mkCasInsertQuery((a) -> pk, 1, 
2),
ConsistencyLevel.QUORUM);
-return false;
-}).drop();
-
-try
-{
-cluster.coordinator(1).execute(mkCasInsertQuery((a) -> pk, 1, 
1), ConsistencyLevel.QUORUM);
-}
-catch (Throwable t)
-{
-Assert.assertEquals("Expecting cause to be 
CasWriteUncertainException",
-
CasWriteUnknownResultException.class.getCanonicalName(), 
t.getClass().getCanonicalName());
-return;
+ready.countDown();
+} else {
+Uninterruptibles.awaitUninterruptibly(ready);
 }
+return false;
+}).drop();
+
+try
+{
+cluster.coordinator(1).execute(mkCasInsertQuery((a) -> pk, 1, 1), 
ConsistencyLevel.QUORUM);
+}
+catch (Throwable t)
+{
+Assert.assertEquals("Expecting cause to be 
CasWriteUnknownResultException",
+
CasWriteUnknownResultException.class.getCanonicalName(), 
t.getClass().getCanonicalName());
+return;
 }
+Assert.fail("Expecting test to throw a 
CasWriteUnknownResultException");
 }
 
 // every invokation returns a query with an unique pk


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated: Add isTransient to SSTableMetadataView

2020-05-19 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 3f689e9  Add isTransient to SSTableMetadataView
3f689e9 is described below

commit 3f689e93768ea670f7a8351ec30128dd4b410c9c
Author: Ekaterina Dimitrova 
AuthorDate: Wed May 13 15:07:56 2020 -0400

Add isTransient to SSTableMetadataView

patch by Sequoyha Pelletier; reviewed by Ekaterina Dimitrova for 
CASSANDRA-15806
---
 CHANGES.txt| 1 +
 src/java/org/apache/cassandra/tools/SSTableMetadataViewer.java | 1 +
 2 files changed, 2 insertions(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index 43aef72..56212f9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha5
+ * Add isTransient to SSTableMetadataView (CASSANDRA-15806)
  * Fix tools/bin/fqltool for all shells (CASSANDRA-15820)
  * Fix clearing of legacy size_estimates (CASSANDRA-15776)
  * Update port when reconnecting to pre-4.0 SSL storage (CASSANDRA-15727)
diff --git a/src/java/org/apache/cassandra/tools/SSTableMetadataViewer.java 
b/src/java/org/apache/cassandra/tools/SSTableMetadataViewer.java
index eb8670c..6366fd5 100755
--- a/src/java/org/apache/cassandra/tools/SSTableMetadataViewer.java
+++ b/src/java/org/apache/cassandra/tools/SSTableMetadataViewer.java
@@ -432,6 +432,7 @@ public class SSTableMetadataViewer
 field("ClusteringTypes", clusteringTypes.toString());
 field("StaticColumns", FBUtilities.toString(statics));
 field("RegularColumns", FBUtilities.toString(regulars));
+field("IsTransient", stats.isTransient);
 }
 }
 


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated: Fix tools/bin/fqltool for all shells

2020-05-19 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
 new ec07cd7  Fix tools/bin/fqltool for all shells
ec07cd7 is described below

commit ec07cd7e76c93bf713618f381480f500f6c4e62f
Author: Robert Stupp 
AuthorDate: Tue May 19 07:00:41 2020 +0200

Fix tools/bin/fqltool for all shells

patch by Robert Stupp; reviewed by Mick Semb Wever and Eduard Tudenhöfner 
for CASSANDRA-15820
---
 CHANGES.txt   | 1 +
 tools/bin/fqltool | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index f430f5c..43aef72 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha5
+ * Fix tools/bin/fqltool for all shells (CASSANDRA-15820)
  * Fix clearing of legacy size_estimates (CASSANDRA-15776)
  * Update port when reconnecting to pre-4.0 SSL storage (CASSANDRA-15727)
  * Only calculate dynamicBadnessThreshold once per loop in 
DynamicEndpointSnitch (CASSANDRA-15798)
diff --git a/tools/bin/fqltool b/tools/bin/fqltool
index a34128e..dc49e50 100755
--- a/tools/bin/fqltool
+++ b/tools/bin/fqltool
@@ -52,7 +52,7 @@ ARGS=""
 JVM_ARGS=""
 while true
 do
-  if [ ! $1 ]; then break; fi
+  if [ "x" = "x$1" ]; then break; fi
   case $1 in
 -D*)
   JVM_ARGS="$JVM_ARGS $1"


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated: Less test stderr spam when running tests w/ java 11

2020-05-04 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
 new e394dc0  Less test stderr spam when running tests w/ java 11
e394dc0 is described below

commit e394dc0bb32f612a476269010930c617dd1ed3cb
Author: Robert Stupp 
AuthorDate: Wed Apr 1 17:08:55 2020 +0200

Less test stderr spam when running tests w/ java 11

patch by Robert Stupp; reviewed by Eduard Tudenhöfner for CASSANDRA-15780
---
 src/java/org/apache/cassandra/utils/FBUtilities.java| 5 +
 .../org/apache/cassandra/io/util/BufferedDataOutputStreamTest.java  | 5 +
 test/unit/org/apache/cassandra/tools/ToolsTester.java   | 6 ++
 3 files changed, 16 insertions(+)

diff --git a/src/java/org/apache/cassandra/utils/FBUtilities.java 
b/src/java/org/apache/cassandra/utils/FBUtilities.java
index 115cd43..9b39f2d 100644
--- a/src/java/org/apache/cassandra/utils/FBUtilities.java
+++ b/src/java/org/apache/cassandra/utils/FBUtilities.java
@@ -72,6 +72,11 @@ import org.apache.cassandra.net.AsyncOneResponse;
 
 public class FBUtilities
 {
+static
+{
+preventIllegalAccessWarnings();
+}
+
 private static final Logger logger = 
LoggerFactory.getLogger(FBUtilities.class);
 
 private static final ObjectMapper jsonMapper = new ObjectMapper(new 
JsonFactory());
diff --git 
a/test/unit/org/apache/cassandra/io/util/BufferedDataOutputStreamTest.java 
b/test/unit/org/apache/cassandra/io/util/BufferedDataOutputStreamTest.java
index 7c1a0da..c5c3b60 100644
--- a/test/unit/org/apache/cassandra/io/util/BufferedDataOutputStreamTest.java
+++ b/test/unit/org/apache/cassandra/io/util/BufferedDataOutputStreamTest.java
@@ -44,10 +44,15 @@ import com.google.common.primitives.UnsignedBytes;
 import com.google.common.primitives.UnsignedInteger;
 import com.google.common.primitives.UnsignedLong;
 
+import static 
org.apache.cassandra.utils.FBUtilities.preventIllegalAccessWarnings;
 import static org.junit.Assert.*;
 
 public class BufferedDataOutputStreamTest
 {
+static
+{
+preventIllegalAccessWarnings();
+}
 
 @Test(expected = BufferOverflowException.class)
 public void testDataOutputBufferFixedByes() throws Exception
diff --git a/test/unit/org/apache/cassandra/tools/ToolsTester.java 
b/test/unit/org/apache/cassandra/tools/ToolsTester.java
index 391c9b9..0bb9beb 100644
--- a/test/unit/org/apache/cassandra/tools/ToolsTester.java
+++ b/test/unit/org/apache/cassandra/tools/ToolsTester.java
@@ -39,6 +39,7 @@ import org.junit.BeforeClass;
 
 import org.slf4j.LoggerFactory;
 
+import static 
org.apache.cassandra.utils.FBUtilities.preventIllegalAccessWarnings;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -49,6 +50,11 @@ import static org.junit.Assert.fail;
  */
 public abstract class ToolsTester
 {
+static
+{
+preventIllegalAccessWarnings();
+}
+
 private static List initialThreads;
 
 static final String[] EXPECTED_THREADS_WITH_SCHEMA = {


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated: Fix flakiness of org.apache.cassandra.metrics.DecayingEstimatedHistogramReservoirTest#testStriping and apply the same "fix" to other tests

2020-05-04 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
 new df8e736  Fix flakiness of 
org.apache.cassandra.metrics.DecayingEstimatedHistogramReservoirTest#testStriping
 and apply the same "fix" to other tests
df8e736 is described below

commit df8e736700ae2a06675ff50381788d708bc22b96
Author: Robert Stupp 
AuthorDate: Sun May 3 18:22:46 2020 +0200

Fix flakiness of 
org.apache.cassandra.metrics.DecayingEstimatedHistogramReservoirTest#testStriping
 and apply the same "fix" to other tests

Patch by Robert Stupp; reviewed by Eduard Tudenhöfner for CASSANDRA-15781
---
 test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java  | 2 +-
 .../org/apache/cassandra/db/commitlog/CommitLogUpgradeTestMaker.java   | 3 ++-
 .../org/apache/cassandra/db/compaction/CompactionExecutorTest.java | 3 ++-
 test/unit/org/apache/cassandra/db/monitoring/MonitoringTaskTest.java   | 2 +-
 test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java   | 2 +-
 test/unit/org/apache/cassandra/io/util/RandomAccessReaderTest.java | 3 ++-
 .../cassandra/metrics/DecayingEstimatedHistogramReservoirTest.java | 3 ++-
 test/unit/org/apache/cassandra/net/ConnectionTest.java | 2 +-
 test/unit/org/apache/cassandra/utils/StatusLoggerTest.java | 3 ++-
 test/unit/org/apache/cassandra/utils/UUIDTests.java| 3 ++-
 10 files changed, 16 insertions(+), 10 deletions(-)

diff --git 
a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java 
b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java
index 7f8bcba..71c1d62 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java
@@ -1364,7 +1364,7 @@ public class JsonTest extends CQLTester
 future.get(30, TimeUnit.SECONDS);
 
 executor.shutdown();
-Assert.assertTrue(executor.awaitTermination(30, TimeUnit.SECONDS));
+Assert.assertTrue(executor.awaitTermination(1, TimeUnit.MINUTES));
 }
 
 @Test
diff --git 
a/test/unit/org/apache/cassandra/db/commitlog/CommitLogUpgradeTestMaker.java 
b/test/unit/org/apache/cassandra/db/commitlog/CommitLogUpgradeTestMaker.java
index d2ad42f..680a0e7 100644
--- a/test/unit/org/apache/cassandra/db/commitlog/CommitLogUpgradeTestMaker.java
+++ b/test/unit/org/apache/cassandra/db/commitlog/CommitLogUpgradeTestMaker.java
@@ -33,6 +33,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
 
 import com.google.common.util.concurrent.RateLimiter;
+import org.junit.Assert;
 
 import org.apache.cassandra.SchemaLoader;
 import org.apache.cassandra.Util;
@@ -110,7 +111,7 @@ public class CommitLogUpgradeTestMaker
 Thread.sleep(runTimeMs);
 stop = true;
 scheduled.shutdown();
-scheduled.awaitTermination(2, TimeUnit.SECONDS);
+Assert.assertTrue(scheduled.awaitTermination(1, TimeUnit.MINUTES));
 
 int hash = 0;
 int cells = 0;
diff --git 
a/test/unit/org/apache/cassandra/db/compaction/CompactionExecutorTest.java 
b/test/unit/org/apache/cassandra/db/compaction/CompactionExecutorTest.java
index 2f8b5b2..ab3d9e5 100644
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionExecutorTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionExecutorTest.java
@@ -22,6 +22,7 @@ import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 
 import org.junit.After;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor;
@@ -62,7 +63,7 @@ public class CompactionExecutorTest
 public void destroy() throws Exception
 {
 executor.shutdown();
-executor.awaitTermination(1, TimeUnit.MINUTES);
+Assert.assertTrue(executor.awaitTermination(1, TimeUnit.MINUTES));
 }
 
 @Test
diff --git 
a/test/unit/org/apache/cassandra/db/monitoring/MonitoringTaskTest.java 
b/test/unit/org/apache/cassandra/db/monitoring/MonitoringTaskTest.java
index 454d0b4..dc8c317 100644
--- a/test/unit/org/apache/cassandra/db/monitoring/MonitoringTaskTest.java
+++ b/test/unit/org/apache/cassandra/db/monitoring/MonitoringTaskTest.java
@@ -276,7 +276,7 @@ public class MonitoringTaskTest
 }
 
 executorService.shutdown();
-assertTrue(executorService.awaitTermination(30, TimeUnit.SECONDS));
+assertTrue(executorService.awaitTermination(1, TimeUnit.MINUTES));
 assertEquals(opCount, operations.size());
 
 waitForOperationsToComplete(operations);
diff --git a/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java 
b/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java
index c64

[cassandra] branch trunk updated: Fix flaky CustomNowInSecondsTest.testSelectQuery()

2020-04-23 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 7f0df2e  Fix flaky CustomNowInSecondsTest.testSelectQuery()
7f0df2e is described below

commit 7f0df2e5e55ccad7ae23ed74e3caabba53d63d5e
Author: Robert Stupp 
AuthorDate: Thu Apr 23 13:55:42 2020 +0200

Fix flaky CustomNowInSecondsTest.testSelectQuery()

patch by Robert Stupp; reviewed by Andrés de la Peña for CASSANDRA-15751
---
 test/unit/org/apache/cassandra/cql3/CustomNowInSecondsTest.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/test/unit/org/apache/cassandra/cql3/CustomNowInSecondsTest.java 
b/test/unit/org/apache/cassandra/cql3/CustomNowInSecondsTest.java
index f013fc0..983acfa 100644
--- a/test/unit/org/apache/cassandra/cql3/CustomNowInSecondsTest.java
+++ b/test/unit/org/apache/cassandra/cql3/CustomNowInSecondsTest.java
@@ -54,7 +54,6 @@ public class CustomNowInSecondsTest extends CQLTester
 
 private void testSelectQuery(boolean prepared)
 {
-int now = (int) (System.currentTimeMillis() / 1000);
 int day = 86400;
 
 String ks = createKeyspace("CREATE KEYSPACE %s WITH replication={ 
'class' : 'SimpleStrategy', 'replication_factor' : 1 }");
@@ -63,6 +62,8 @@ public class CustomNowInSecondsTest extends CQLTester
 // insert a row with TTL = 1 day.
 executeModify(format("INSERT INTO %s.%s (id, val) VALUES (0, 0) USING 
TTL %d", ks, tbl, day), Integer.MIN_VALUE, prepared);
 
+int now = (int) (System.currentTimeMillis() / 1000);
+
 // execute a SELECT query without overriding nowInSeconds - make sure 
we observe one row.
 assertEquals(1, executeSelect(format("SELECT * FROM %s.%s", ks, tbl), 
Integer.MIN_VALUE, prepared).size());
 


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] 01/01: Merge branch 'cassandra-3.11' into trunk

2020-04-21 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit b870562008672edfe57d11cb1d147d3d57da5ead
Merge: b05fe7a d833df8
Author: Robert Stupp 
AuthorDate: Tue Apr 21 16:14:05 2020 +0200

Merge branch 'cassandra-3.11' into trunk

 .../apache/cassandra/utils/FBUtilitiesTest.java| 54 +-
 1 file changed, 33 insertions(+), 21 deletions(-)



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated (b05fe7a -> b870562)

2020-04-21 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from b05fe7a  Optimize Zero Copy Streaming file containment check by using 
file sections
 new 2aa7cf8  FBUtilitities.testWaitFirstFuture is flaky
 new d833df8  Merge branch 'cassandra-3.0' into cassandra-3.11
 new b870562  Merge branch 'cassandra-3.11' into trunk

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/cassandra/utils/FBUtilitiesTest.java| 54 +-
 1 file changed, 33 insertions(+), 21 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch cassandra-3.0 updated: FBUtilitities.testWaitFirstFuture is flaky

2020-04-21 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch cassandra-3.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-3.0 by this push:
 new 2aa7cf8  FBUtilitities.testWaitFirstFuture is flaky
2aa7cf8 is described below

commit 2aa7cf8114f3c63359e65fd741bfb990ebac2ebe
Author: Robert Stupp 
AuthorDate: Tue Apr 21 13:12:33 2020 +0200

FBUtilitities.testWaitFirstFuture is flaky

patch by Robert Stupp; reviewed by Eduard Tudenhöfner for CASSANDRA-15744
---
 .../apache/cassandra/utils/FBUtilitiesTest.java| 56 +-
 1 file changed, 34 insertions(+), 22 deletions(-)

diff --git a/test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java 
b/test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java
index c5126a0..f13d076 100644
--- a/test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java
+++ b/test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java
@@ -27,6 +27,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
+import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -140,30 +141,41 @@ public class FBUtilitiesTest
 @Test
 public void testWaitFirstFuture() throws ExecutionException, 
InterruptedException
 {
-
-ExecutorService executor = Executors.newFixedThreadPool(4);
-FBUtilities.reset();
-List> futures = new ArrayList<>();
-for (int i = 4; i >= 1; i--)
+final int threadCount = 10;
+ExecutorService executor = Executors.newFixedThreadPool(threadCount);
+try
+{
+List> futures = new ArrayList<>(threadCount);
+List latches = new ArrayList<>(threadCount);
+
+for (int i = 0; i < threadCount; i++)
+{
+CountDownLatch latch = new CountDownLatch(1);
+latches.add(latch);
+int finalI = i;
+futures.add(executor.submit(() -> {
+latch.await(10, TimeUnit.SECONDS);
+// Sleep to emulate "work" done by the future to make it 
not return immediately
+// after counting down the latch in order to test for 
delay and spinning done
+// in FBUtilities#waitOnFirstFuture.
+TimeUnit.MILLISECONDS.sleep(10);
+return latch.getCount() == 0 ? finalI : -1;
+}));
+}
+
+for (int i = 0; i < threadCount; i++)
+{
+latches.get(i).countDown();
+Future fut = FBUtilities.waitOnFirstFuture(futures, 3);
+int futSleep = (Integer) fut.get();
+assertEquals(futSleep, i);
+futures.remove(fut);
+}
+}
+finally
 {
-final int sleep = i * 10;
-futures.add(executor.submit(() -> { 
TimeUnit.MILLISECONDS.sleep(sleep); return sleep; }));
+executor.shutdown();
 }
-Future fut = FBUtilities.waitOnFirstFuture(futures, 3);
-int futSleep = (Integer) fut.get();
-assertEquals(futSleep, 10);
-futures.remove(fut);
-fut = FBUtilities.waitOnFirstFuture(futures, 3);
-futSleep = (Integer) fut.get();
-assertEquals(futSleep, 20);
-futures.remove(fut);
-fut = FBUtilities.waitOnFirstFuture(futures, 3);
-futSleep = (Integer) fut.get();
-assertEquals(futSleep, 30);
-futures.remove(fut);
-fut = FBUtilities.waitOnFirstFuture(futures, 3);
-futSleep = (Integer) fut.get();
-assertEquals(futSleep, 40);
 }
 
 }


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch cassandra-3.11 updated (9b940a5 -> d833df8)

2020-04-21 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a change to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from 9b940a5  Merge branch 'cassandra-3.0' into cassandra-3.11
 new 2aa7cf8  FBUtilitities.testWaitFirstFuture is flaky
 new d833df8  Merge branch 'cassandra-3.0' into cassandra-3.11

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/cassandra/utils/FBUtilitiesTest.java| 54 +-
 1 file changed, 33 insertions(+), 21 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] 01/01: Merge branch 'cassandra-3.0' into cassandra-3.11

2020-04-21 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit d833df80a9b1225f80cb1cc8847411509a9dc77a
Merge: 9b940a5 2aa7cf8
Author: Robert Stupp 
AuthorDate: Tue Apr 21 16:12:47 2020 +0200

Merge branch 'cassandra-3.0' into cassandra-3.11

 .../apache/cassandra/utils/FBUtilitiesTest.java| 54 +-
 1 file changed, 33 insertions(+), 21 deletions(-)

diff --cc test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java
index 0300b9d,f13d076..ecdb03e
--- a/test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java
+++ b/test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java
@@@ -23,11 -23,11 +23,12 @@@ import java.net.InetAddress
  import java.nio.ByteBuffer;
  import java.nio.charset.CharacterCodingException;
  import java.nio.charset.StandardCharsets;
 -import java.util.ArrayList;
 -import java.util.List;
  import java.util.Map;
 +import java.util.Optional;
  import java.util.TreeMap;
 +import java.util.ArrayList;
 +import java.util.List;
+ import java.util.concurrent.CountDownLatch;
  import java.util.concurrent.ExecutionException;
  import java.util.concurrent.ExecutorService;
  import java.util.concurrent.Executors;


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated: Ninja add CHANGES.txt for CASSANDRA-14737

2020-02-12 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
 new 425c14e  Ninja add CHANGES.txt for CASSANDRA-14737
425c14e is described below

commit 425c14e15a57e11b1c890e2efa0a772735e206dd
Author: Robert Stupp 
AuthorDate: Wed Feb 12 10:00:20 2020 +0100

Ninja add CHANGES.txt for CASSANDRA-14737
---
 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index e6f967d..e6b3d6b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Limit the dependencies used by UDFs/UDAs (CASSANDRA-14737)
  * Make native_transport_max_concurrent_requests_in_bytes updatable 
(CASSANDRA-15519)
  * Cleanup and improvements to IndexInfo/ColumnIndex (CASSANDRA-15469)
  * Potential Overflow in DatabaseDescriptor Functions That Convert Between 
KB/MB & Bytes (CASSANDRA-15470)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra-dtest] branch master updated: dtest for UDT fix on upgrade

2020-01-31 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cassandra-dtest.git


The following commit(s) were added to refs/heads/master by this push:
 new c5f6d28  dtest for UDT fix on upgrade
c5f6d28 is described below

commit c5f6d28d88f314f70185de16777c52a79e1be053
Author: Robert Stupp 
AuthorDate: Sat Feb 9 10:47:05 2019 +0100

dtest for UDT fix on upgrade

patch by Robert Stupp; reviewed by Brandon Williams for CASSANDRA-15035
---
 upgrade_tests/upgrade_udtfix_test.py | 162 +++
 1 file changed, 162 insertions(+)

diff --git a/upgrade_tests/upgrade_udtfix_test.py 
b/upgrade_tests/upgrade_udtfix_test.py
new file mode 100644
index 000..a138755
--- /dev/null
+++ b/upgrade_tests/upgrade_udtfix_test.py
@@ -0,0 +1,162 @@
+import pytest
+import logging
+
+from dtest import RUN_STATIC_UPGRADE_MATRIX, Tester
+from distutils.version import LooseVersion
+from tools.misc import add_skip
+from .upgrade_manifest import build_upgrade_pairs
+
+since = pytest.mark.since
+logger = logging.getLogger(__name__)
+
+@pytest.mark.upgrade_test
+class UpgradeUDTFixTest(Tester):
+__test__ = False
+
+"""
+@jira_ticket: CASSANDRA-TBD
+
+3.0 sstable cannot be read by 3.11 and newer
+
+OSS C* 3.0 only support frozen UDTs. A frozen type is marked using
+"org.apache.cassandra.db.marshal.FrozenType(...)" using the AbstractType 
class hierarchy.
+But 3.0 does not write the "FrozenType()" type into the serialization 
header in the sstable
+metadata. CASSANDRA-7423 added support for non-frozen UDTs) in C* 3.6. 
Since then, UDTs can
+be either frozen or non-frozen, so it becomes important that the 
"FrozenType bracket" is
+present in the serialization header, because the serialization order of 
columns depends on
+its type (fixed length type column first, then variable length type 
columns, then multi-cell
+(non-frozen) type columns). This means, that C* 3.6 and newer will 
interpret the originally
+frozen UDT as non-frozen and deserialization fails.
+"""
+
+def test_udtfix_in_sstable(self):
+"""
+Verify that the fix to modify the serialization-header in the sstable 
metadata works for a single node.
+"""
+cluster = self.cluster
+cluster.set_install_dir(version=self.UPGRADE_PATH.starting_version)
+cluster.populate(1)
+node1, = cluster.nodelist()
+cluster.start()
+
+session = self.patient_cql_connection(node1)
+self._schema_and_data(node1, session, "ks", "{'class': 
'SimpleStrategy', 'replication_factor': 1}")
+references = self._read_rows(session, "ks")
+session.cluster.shutdown()
+
+logger.debug("Upgrading from {} to 
{}".format(self.UPGRADE_PATH.starting_version, 
self.UPGRADE_PATH.upgrade_version))
+cluster.stop()
+cluster.set_install_dir(version=self.UPGRADE_PATH.upgrade_version)
+
+log_mark = node1.mark_log()
+cluster.start()
+self._verify_upgrade_log(log_mark, node1)
+
+session = self.patient_cql_connection(node1)
+check = self._read_rows(session, "ks")
+assert references == check
+
+def test_udtfix_in_messaging(self):
+"""
+Paranoia test for CASSANDRA-TBD, but verify that internode reads are 
not affected - with the data
+both on the upgraded and non-upgraded node.
+"""
+cluster = self.cluster
+cluster.set_install_dir(version=self.UPGRADE_PATH.starting_version)
+cluster.populate([1, 1])
+node1, node2 = cluster.nodelist()
+cluster.start()
+
+logger.debug("Started 2-DC cluster")
+
+session = self.patient_cql_connection(node1)
+self._schema_and_data(node1, session, "ks1", "{'class': 
'NetworkTopologyStrategy', 'dc1': 1}")
+self._schema_and_data(node1, session, "ks2", "{'class': 
'NetworkTopologyStrategy', 'dc2': 1}")
+references11 = self._read_rows(session, "ks1")
+references12 = self._read_rows(session, "ks2")
+session.cluster.shutdown()
+
+session = self.patient_cql_connection(node2)
+references21 = self._read_rows(session, "ks1")
+references22 = self._read_rows(session, "ks2")
+session.cluster.shutdown()
+
+assert references11 == references21
+assert references12 == references22
+
+logger.debug("Upgrading {} from {} to {}".format(node1.name, 
self.UPGRADE_PATH.starting_version, self.UPGRADE_PATH.upgrade_version))
+node1.stop()
+node1.set_install_dir(version=self.UPGRADE_PATH.upgrade_vers

[cassandra] 01/02: C* 3.0 sstables w/ UDTs are corrupted in C* 3.11 and 4.0

2020-01-31 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 4f27a37d7dd2750cc25261773a67ee8b4a07142c
Author: Robert Stupp 
AuthorDate: Fri Feb 15 14:24:39 2019 +0100

C* 3.0 sstables w/ UDTs are corrupted in C* 3.11 and 4.0

patch by Robert Stupp; reviewed by Brandon Williams for CASSANDRA-15035
---
 CHANGES.txt|   1 +
 NEWS.txt   |  18 +
 src/java/org/apache/cassandra/cql3/CQL3Type.java   |   4 +-
 .../apache/cassandra/db/SerializationHeader.java   |  12 +
 .../org/apache/cassandra/db/SystemKeyspace.java|   2 +
 .../org/apache/cassandra/db/rows/AbstractCell.java |  15 +-
 .../org/apache/cassandra/db/rows/AbstractRow.java  |  22 +-
 .../db/rows/AbstractTypeVersionComparator.java | 121 ---
 .../db/rows/ColumnMetadataVersionComparator.java   |  85 ++
 src/java/org/apache/cassandra/db/rows/Row.java |   2 +-
 src/java/org/apache/cassandra/db/rows/Rows.java|   2 +-
 .../cassandra/io/sstable/SSTableHeaderFix.java | 918 
 .../cassandra/io/sstable/format/SSTableReader.java |   5 +
 .../io/sstable/metadata/IMetadataSerializer.java   |   5 +
 .../io/sstable/metadata/MetadataSerializer.java|   2 +-
 .../apache/cassandra/service/CassandraDaemon.java  |   3 +
 .../apache/cassandra/tools/StandaloneScrubber.java | 144 ++-
 .../org/apache/cassandra/utils/FBUtilities.java|  12 +
 ...va => ColumnMetadataVersionComparatorTest.java} |  29 +-
 .../cassandra/io/sstable/SSTableHeaderFixTest.java | 964 +
 .../schema/TupleTypesRepresentationTest.java   | 403 +
 21 files changed, 2621 insertions(+), 148 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 98c189a..9554a00 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -25,6 +25,7 @@
otherwise synchronize their clocks, and that clocks are mostly in sync, 
since
this is a requirement for general correctness of last write wins. 
(CASSANDRA-15216)
 Merged from 3.11:
+ * Fix bad UDT sstable metadata serialization headers written by C* 3.0 on 
upgrade and in sstablescrub (CASSANDRA-15035)
  * Fix nodetool compactionstats showing extra pending task for TWCS - patch 
implemented (CASSANDRA-15409)
  * Fix SELECT JSON formatting for the "duration" type (CASSANDRA-15075)
  * Update nodetool help stop output (CASSANDRA-15401)
diff --git a/NEWS.txt b/NEWS.txt
index 9c6b43f..7d716fc 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -113,6 +113,24 @@ New features
 
 Upgrading
 -
+- Sstables for tables using with a frozen UDT written by C* 3.0 appear as 
corrupted.
+
+  Background: The serialization-header in the -Statistics.db sstable 
component contains the type information
+  of the table columns. C* 3.0 write incorrect type information for frozen 
UDTs by omitting the
+  "frozen" information. Non-frozen UDTs were introduced by CASSANDRA-7423 
in C* 3.6. Since then, the missing
+  "frozen" information leads to deserialization issues that result in 
CorruptSSTableExceptions, potentially other
+  exceptions as well.
+
+  As a mitigation, the sstable serialization-headers are rewritten to 
contain the missing "frozen" information for
+  UDTs once, when an upgrade from C* 3.0 is detected. This migration does 
not touch snapshots or backups.
+
+  The sstablescrub tool now performs a check of the sstable 
serialization-header against the schema. A mismatch of
+  the types in the serialization-header and the schema will cause 
sstablescrub to error out and stop by default.
+  See the new `-e` option. `-e off` disables the new validation code. `-e 
fix` or `-e fix-only`, e.g.
+  `sstablescrub -e fix keyspace table`, will validate the 
serialization-header, rewrite the non-frozen UDTs
+  in the serialzation-header to frozen UDTs, if that matches the schema, 
and continue with scrub.
+  See `sstablescrub -h`.
+  (CASSANDRA-15035)
 - CASSANDRA-13241 lowered the default chunk_lengh_in_kb for compresesd 
tables from
   64kb to 16kb. For highly compressible data this can have a noticeable 
impact
   on space utilization. You may want to consider manually specifying this 
value.
diff --git a/src/java/org/apache/cassandra/cql3/CQL3Type.java 
b/src/java/org/apache/cassandra/cql3/CQL3Type.java
index 340a992..ee2db68 100644
--- a/src/java/org/apache/cassandra/cql3/CQL3Type.java
+++ b/src/java/org/apache/cassandra/cql3/CQL3Type.java
@@ -704,8 +704,10 @@ public interface CQL3Type
 {
 if (innerType instanceof RawCollection)
 throw new InvalidRequestException("Non-frozen collections 
are not allowed inside collections: " + this);
-else
+else if (innerType.isUDT())
 throw new InvalidRequestException

[cassandra] branch trunk updated (5f7c886 -> 7a7eece)

2020-01-31 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from 5f7c886  Merge branch 'cassandra-3.11' into trunk
 new 4f27a37  C* 3.0 sstables w/ UDTs are corrupted in C* 3.11 and 4.0
 new ffab2b8  C* 3.0 sstables w/ UDTs are corrupted in C* 3.11 and 4.0
 new 7a7eece  Merge branch 'cassandra-3.11' into trunk

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt|   1 +
 NEWS.txt   |  18 +
 src/java/org/apache/cassandra/cql3/CQL3Type.java   |   4 +-
 .../apache/cassandra/db/SerializationHeader.java   |  12 +
 .../org/apache/cassandra/db/SystemKeyspace.java|   2 +
 .../org/apache/cassandra/db/rows/AbstractCell.java |  15 +-
 .../org/apache/cassandra/db/rows/AbstractRow.java  |  22 +-
 .../db/rows/AbstractTypeVersionComparator.java | 121 ---
 .../db/rows/ColumnMetadataVersionComparator.java   |  85 ++
 src/java/org/apache/cassandra/db/rows/Row.java |   2 +-
 src/java/org/apache/cassandra/db/rows/Rows.java|   2 +-
 .../cassandra/io/sstable/SSTableHeaderFix.java | 918 
 .../cassandra/io/sstable/format/SSTableReader.java |   5 +
 .../io/sstable/metadata/IMetadataSerializer.java   |   5 +
 .../io/sstable/metadata/MetadataSerializer.java|   2 +-
 .../apache/cassandra/service/CassandraDaemon.java  |   3 +
 .../apache/cassandra/tools/StandaloneScrubber.java | 144 ++-
 .../org/apache/cassandra/utils/FBUtilities.java|  12 +
 ...va => ColumnMetadataVersionComparatorTest.java} |  29 +-
 .../cassandra/io/sstable/SSTableHeaderFixTest.java | 964 +
 .../schema/TupleTypesRepresentationTest.java   | 403 +
 21 files changed, 2621 insertions(+), 148 deletions(-)
 delete mode 100644 
src/java/org/apache/cassandra/db/rows/AbstractTypeVersionComparator.java
 create mode 100644 
src/java/org/apache/cassandra/db/rows/ColumnMetadataVersionComparator.java
 create mode 100644 
src/java/org/apache/cassandra/io/sstable/SSTableHeaderFix.java
 rename 
test/unit/org/apache/cassandra/db/rows/{AbstractTypeVersionComparatorTest.java 
=> ColumnMetadataVersionComparatorTest.java} (71%)
 create mode 100644 
test/unit/org/apache/cassandra/io/sstable/SSTableHeaderFixTest.java
 create mode 100644 
test/unit/org/apache/cassandra/schema/TupleTypesRepresentationTest.java


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] 02/02: Merge branch 'cassandra-3.11' into trunk

2020-01-31 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 7a7eece9578312a2f9d77de6e0755a3c3c542e99
Merge: 4f27a37 ffab2b8
Author: Robert Stupp 
AuthorDate: Fri Jan 31 10:08:33 2020 +0100

Merge branch 'cassandra-3.11' into trunk



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated: Close channels on error

2019-11-20 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


View the commit online:
https://github.com/apache/cassandra/commit/c2e11bd4224b2110abe6aa84c8882e85980e3491

The following commit(s) were added to refs/heads/trunk by this push:
 new c2e11bd  Close channels on error
c2e11bd is described below

commit c2e11bd4224b2110abe6aa84c8882e85980e3491
Author: Ekaterina Dimitrova 
AuthorDate: Fri Nov 8 15:15:20 2019 -0500

Close channels on error

Patch by Ekaterina Dimitrova, reviewed by Robert Stupp for CASSANDRA-15407
---
 CHANGES.txt|  1 +
 .../cassandra/hints/ChecksummedDataInput.java  | 11 +-
 .../hints/CompressedChecksummedDataInput.java  | 11 +-
 .../hints/EncryptedChecksummedDataInput.java   | 11 +-
 .../org/apache/cassandra/hints/HintsWriter.java| 12 +++---
 .../org/apache/cassandra/io/util/FileHandle.java   |  9 +
 .../org/apache/cassandra/utils/Throwables.java | 45 ++
 7 files changed, 91 insertions(+), 9 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index da57886..d44306c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,7 @@
  * Optimise native protocol ASCII string encoding (CASSANDRA-15410)
  * Make sure all exceptions are propagated in DebuggableThreadPoolExecutor 
(CASSANDRA-15332)
  * Make it possible to resize concurrent read / write thread pools at runtime 
(CASSANDRA-15277)
+ * Close channels on error (CASSANDRA-15407)
 Merged from 2.2:
  * In-JVM DTest: Set correct internode message version for upgrade test 
(CASSANDRA-15371)
 
diff --git a/src/java/org/apache/cassandra/hints/ChecksummedDataInput.java 
b/src/java/org/apache/cassandra/hints/ChecksummedDataInput.java
index 6ebc830..30d18fa 100644
--- a/src/java/org/apache/cassandra/hints/ChecksummedDataInput.java
+++ b/src/java/org/apache/cassandra/hints/ChecksummedDataInput.java
@@ -26,6 +26,7 @@ import com.google.common.base.Preconditions;
 
 import org.apache.cassandra.io.compress.BufferType;
 import org.apache.cassandra.io.util.*;
+import org.apache.cassandra.utils.Throwables;
 import org.apache.cassandra.utils.NativeLibrary;
 import org.apache.cassandra.utils.memory.BufferPool;
 
@@ -74,7 +75,15 @@ public class ChecksummedDataInput extends 
RebufferingInputStream
 @SuppressWarnings("resource")
 public static ChecksummedDataInput open(File file)
 {
-return new ChecksummedDataInput(new ChannelProxy(file));
+ChannelProxy channel = new ChannelProxy(file);
+try
+{
+return new ChecksummedDataInput(channel);
+}
+catch (Throwable t)
+{
+throw Throwables.cleaned(channel.close(t));
+}
 }
 
 public boolean isEOF()
diff --git 
a/src/java/org/apache/cassandra/hints/CompressedChecksummedDataInput.java 
b/src/java/org/apache/cassandra/hints/CompressedChecksummedDataInput.java
index 4982a03..0381b00 100644
--- a/src/java/org/apache/cassandra/hints/CompressedChecksummedDataInput.java
+++ b/src/java/org/apache/cassandra/hints/CompressedChecksummedDataInput.java
@@ -27,6 +27,7 @@ import org.apache.cassandra.io.FSReadError;
 import org.apache.cassandra.io.compress.ICompressor;
 import org.apache.cassandra.io.util.ChannelProxy;
 import org.apache.cassandra.utils.memory.BufferPool;
+import org.apache.cassandra.utils.Throwables;
 
 public final class CompressedChecksummedDataInput extends ChecksummedDataInput
 {
@@ -160,7 +161,15 @@ public final class CompressedChecksummedDataInput extends 
ChecksummedDataInput
 long position = input.getPosition();
 input.close();
 
-return new CompressedChecksummedDataInput(new 
ChannelProxy(input.getPath()), compressor, position);
+ChannelProxy channel = new ChannelProxy(input.getPath());
+try
+{
+return new CompressedChecksummedDataInput(channel, compressor, 
position);
+}
+catch (Throwable t)
+{
+throw Throwables.cleaned(channel.close(t));
+}
 }
 
 @VisibleForTesting
diff --git 
a/src/java/org/apache/cassandra/hints/EncryptedChecksummedDataInput.java 
b/src/java/org/apache/cassandra/hints/EncryptedChecksummedDataInput.java
index a70a443..5edd8a8 100644
--- a/src/java/org/apache/cassandra/hints/EncryptedChecksummedDataInput.java
+++ b/src/java/org/apache/cassandra/hints/EncryptedChecksummedDataInput.java
@@ -28,6 +28,7 @@ import org.apache.cassandra.security.EncryptionUtils;
 import org.apache.cassandra.io.FSReadError;
 import org.apache.cassandra.io.compress.ICompressor;
 import org.apache.cassandra.io.util.ChannelProxy;
+import org.apache.cassandra.utils.Throwables;
 
 public class EncryptedChecksummedDataInput extends ChecksummedDataInput
 {
@@ -137,7 +138,15 @@ public class EncryptedChecksummedDataInput extends 
ChecksummedDataInput
 lon

[cassandra] 01/01: Merge branch 'cassandra-3.11' into trunk

2019-08-23 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit c79422d7f50472daea75c9e8a246f6d76b13d4f2
Merge: cf55294 eb2c549
Author: Robert Stupp 
AuthorDate: Fri Aug 23 14:15:26 2019 +0200

Merge branch 'cassandra-3.11' into trunk



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated (cf55294 -> c79422d)

2019-08-23 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from cf55294  Merge branch 'cassandra-3.11' into trunk
 new eb2c549  ninja: fix build error on LegacyLayoutTest
 new c79422d  Merge branch 'cassandra-3.11' into trunk

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch cassandra-3.11 updated: ninja: fix build error on LegacyLayoutTest

2019-08-23 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-3.11 by this push:
 new eb2c549  ninja: fix build error on LegacyLayoutTest
eb2c549 is described below

commit eb2c549940baf0e30a8c07ea51fe4a1d828ca3ac
Author: Paulo Motta 
AuthorDate: Fri Aug 23 09:06:45 2019 -0300

ninja: fix build error on LegacyLayoutTest
---
 test/unit/org/apache/cassandra/db/LegacyLayoutTest.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/test/unit/org/apache/cassandra/db/LegacyLayoutTest.java 
b/test/unit/org/apache/cassandra/db/LegacyLayoutTest.java
index 4058b03..5a08e3e 100644
--- a/test/unit/org/apache/cassandra/db/LegacyLayoutTest.java
+++ b/test/unit/org/apache/cassandra/db/LegacyLayoutTest.java
@@ -374,8 +374,8 @@ public class LegacyLayoutTest
 ByteBuffer one = Int32Type.instance.decompose(1);
 ByteBuffer two = Int32Type.instance.decompose(2);
 PartitionUpdate p = new PartitionUpdate(table, table.decorateKey(one), 
table.partitionColumns(), 0);
-p.add(new RangeTombstone(Slice.make(new 
Slice.Bound(ClusteringPrefix.Kind.EXCL_START_BOUND, new ByteBuffer[] { one, one 
}),
-new 
Slice.Bound(ClusteringPrefix.Kind.INCL_END_BOUND, new ByteBuffer[] { two })),
+p.add(new RangeTombstone(Slice.make(new 
ClusteringBound(ClusteringPrefix.Kind.EXCL_START_BOUND, new ByteBuffer[] { one, 
one }),
+new 
ClusteringBound(ClusteringPrefix.Kind.INCL_END_BOUND, new ByteBuffer[] { two 
})),
  new DeletionTime(1, 1)
 ));
 


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated (ef6c5f8 -> 5ea3394)

2019-02-01 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from ef6c5f8  Merge branch cassandra-3.11 into trunk
 new 62d66a4  Fix CHANGES.txt
 new 737a566  Merge branch 'cassandra-3.0' into cassandra-3.11
 new 5ea3394  Merge branch 'cassandra-3.11' into trunk

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch cassandra-3.11 updated (16c96c2 -> 737a566)

2019-02-01 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a change to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from 16c96c2  Merge branch cassandra-3.0 into cassandra-3.11
 new 62d66a4  Fix CHANGES.txt
 new 737a566  Merge branch 'cassandra-3.0' into cassandra-3.11

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] 01/01: Merge branch 'cassandra-3.11' into trunk

2019-02-01 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 5ea3394e9561591322356b19f41ef450fe1972ab
Merge: ef6c5f8 737a566
Author: Robert Stupp 
AuthorDate: Fri Feb 1 12:34:56 2019 +0100

Merge branch 'cassandra-3.11' into trunk

 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)

diff --cc CHANGES.txt
index a905ad3,76cd7d7..4f52cca
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -348,10 -2,13 +348,11 @@@
   * Make stop-server.bat wait for Cassandra to terminate (CASSANDRA-14829)
   * Correct sstable sorting for garbagecollect and levelled compaction 
(CASSANDRA-14870)
  Merged from 3.0:
+  * Severe concurrency issues in STCS,DTCS,TWCS,TMD.Topology,TypeParser
   * Add a script to make running the cqlsh tests in cassandra repo easier 
(CASSANDRA-14951)
   * If SizeEstimatesRecorder misses a 'onDropTable' notification, the 
size_estimates table will never be cleared for that table. (CASSANDRA-14905)
 - * Counters fail to increment in 2.1/2.2 to 3.X mixed version clusters 
(CASSANDRA-14958)
   * Streaming needs to synchronise access to LifecycleTransaction 
(CASSANDRA-14554)
   * Fix cassandra-stress write hang with default options (CASSANDRA-14616)
 - * Differentiate between slices and RTs when decoding legacy bounds 
(CASSANDRA-14919)
   * Netty epoll IOExceptions caused by unclean client disconnects being logged 
at INFO (CASSANDRA-14909)
   * Unfiltered.isEmpty conflicts with Row extends AbstractCollection.isEmpty 
(CASSANDRA-14588)
   * RangeTombstoneList doesn't properly clean up mergeable or superseded rts 
in some cases (CASSANDRA-14894)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch cassandra-3.0 updated: Fix CHANGES.txt

2019-02-01 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch cassandra-3.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-3.0 by this push:
 new 62d66a4  Fix CHANGES.txt
62d66a4 is described below

commit 62d66a43c67042c46eb67e272c4dec5cb328c9d7
Author: Robert Stupp 
AuthorDate: Fri Feb 1 12:34:12 2019 +0100

Fix CHANGES.txt
---
 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index 812af0a..e3b23ee 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.18
+ * Severe concurrency issues in STCS,DTCS,TWCS,TMD.Topology,TypeParser
  * Add a script to make running the cqlsh tests in cassandra repo easier 
(CASSANDRA-14951)
  * If SizeEstimatesRecorder misses a 'onDropTable' notification, the 
size_estimates table will never be cleared for that table. (CASSANDRA-14905)
  * Counters fail to increment in 2.1/2.2 to 3.X mixed version clusters 
(CASSANDRA-14958)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] 01/01: Merge branch 'cassandra-3.0' into cassandra-3.11

2019-02-01 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 737a5666b021caea7e74c33f12e30865a52e4b99
Merge: 16c96c2 62d66a4
Author: Robert Stupp 
AuthorDate: Fri Feb 1 12:34:43 2019 +0100

Merge branch 'cassandra-3.0' into cassandra-3.11

 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)

diff --cc CHANGES.txt
index d85a4af,e3b23ee..76cd7d7
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,7 -1,5 +1,8 @@@
 -3.0.18
 +3.11.4
 + * Make stop-server.bat wait for Cassandra to terminate (CASSANDRA-14829)
 + * Correct sstable sorting for garbagecollect and levelled compaction 
(CASSANDRA-14870)
 +Merged from 3.0:
+  * Severe concurrency issues in STCS,DTCS,TWCS,TMD.Topology,TypeParser
   * Add a script to make running the cqlsh tests in cassandra repo easier 
(CASSANDRA-14951)
   * If SizeEstimatesRecorder misses a 'onDropTable' notification, the 
size_estimates table will never be cleared for that table. (CASSANDRA-14905)
   * Counters fail to increment in 2.1/2.2 to 3.X mixed version clusters 
(CASSANDRA-14958)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] 01/01: Merge branch cassandra-3.0 into cassandra-3.11

2019-02-01 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 16c96c20dadfbda98d4b5daf7f6c169b691459b9
Merge: 2d05bff bc18b4d
Author: Robert Stupp 
AuthorDate: Fri Feb 1 12:26:43 2019 +0100

Merge branch cassandra-3.0 into cassandra-3.11

 .../org/apache/cassandra/db/ColumnFamilyStore.java |   1 -
 .../db/compaction/AbstractCompactionStrategy.java  |  14 +-
 .../compaction/DateTieredCompactionStrategy.java   |  20 +-
 .../compaction/SizeTieredCompactionStrategy.java   |   6 +-
 .../compaction/TimeWindowCompactionStrategy.java   |   4 +-
 .../apache/cassandra/db/marshal/TypeParser.java|  30 +-
 .../cassandra/locator/NetworkTopologyStrategy.java |   3 +-
 .../apache/cassandra/locator/TokenMetadata.java| 364 -
 .../locator/NetworkTopologyStrategyTest.java   |   3 +-
 .../cassandra/locator/TokenMetadataTest.java   |  23 +-
 10 files changed, 280 insertions(+), 188 deletions(-)

diff --cc 
src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
index bb9f4b9,7c38fa8..83d77a9
--- 
a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
+++ 
b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
@@@ -105,10 -89,10 +105,14 @@@ public class DateTieredCompactionStrate
   */
  private synchronized List getNextBackgroundSSTables(final 
int gcBefore)
  {
- if (sstables.isEmpty())
 -if (Iterables.isEmpty(cfs.getSSTables(SSTableSet.LIVE)))
--return Collections.emptyList();
++Set uncompacting;
++synchronized (sstables)
++{
++if (sstables.isEmpty())
++return Collections.emptyList();
  
--Set uncompacting = 
ImmutableSet.copyOf(filter(cfs.getUncompactingSSTables(), sstables::contains));
++uncompacting = 
ImmutableSet.copyOf(filter(cfs.getUncompactingSSTables(), sstables::contains));
++}
  
  Set expired = Collections.emptySet();
  // we only check for expired sstables every 10 minutes (by default) 
due to it being an expensive operation
diff --cc src/java/org/apache/cassandra/db/marshal/TypeParser.java
index 78af800,590eea3..7416d49
--- a/src/java/org/apache/cassandra/db/marshal/TypeParser.java
+++ b/src/java/org/apache/cassandra/db/marshal/TypeParser.java
@@@ -23,7 -23,9 +23,10 @@@ import java.lang.reflect.Method
  import java.nio.ByteBuffer;
  import java.util.*;
  
+ import com.google.common.base.Verify;
+ import com.google.common.collect.ImmutableMap;
+ 
 +import org.apache.cassandra.cql3.FieldIdentifier;
  import org.apache.cassandra.exceptions.*;
  import org.apache.cassandra.utils.ByteBufferUtil;
  import org.apache.cassandra.utils.FBUtilities;
diff --cc src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
index 756b689,82183bb..d48dec3
--- a/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
+++ b/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
@@@ -28,8 -28,8 +28,9 @@@ import org.apache.cassandra.exceptions.
  import org.apache.cassandra.dht.Token;
  import org.apache.cassandra.locator.TokenMetadata.Topology;
  import org.apache.cassandra.utils.FBUtilities;
 +import org.apache.cassandra.utils.Pair;
  
+ import com.google.common.collect.ImmutableMultimap;
  import com.google.common.collect.Multimap;
  
  /**
@@@ -151,29 -92,22 +152,29 @@@ public class NetworkTopologyStrategy ex
  // all endpoints in each DC, so we can check when we have exhausted 
all the members of a DC
  Multimap allEndpoints = 
topology.getDatacenterEndpoints();
  // all racks in a DC so we can check when we have exhausted all racks 
in a DC
- Map> racks = 
topology.getDatacenterRacks();
+ Map> racks = 
topology.getDatacenterRacks();
  assert !allEndpoints.isEmpty() && !racks.isEmpty() : "not aware of 
any cluster members";
  
 -// tracks the racks we have already placed replicas in
 -Map> seenRacks = new 
HashMap<>(datacenters.size());
 -for (Map.Entry dc : datacenters.entrySet())
 -seenRacks.put(dc.getKey(), new HashSet());
 +int dcsToFill = 0;
 +Map dcs = new 
HashMap<>(datacenters.size() * 2);
  
 -// tracks the endpoints that we skipped over while looking for unique 
racks
 -// when we relax the rack uniqueness we can append this to the 
current result so we don't have to wind back the iterator
 -Map> skippedDcEndpoints = new 
HashMap<>(datacenters.size());
 -for (Map.Entry dc : datacenters.entrySet())
 -skippedDcEndpoints.put(dc.getKey(), new 
LinkedHashSet());
 +// Create a DatacenterEndpoints object for each non-empty DC.
 +for (Map.Entry en : datacenters.entrySet())
 +{
 +String dc =

[cassandra] branch cassandra-3.11 updated (2d05bff -> 16c96c2)

2019-02-01 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a change to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from 2d05bff  Merge branch 'cassandra-3.0' into cassandra-3.11
 new bc18b4d  Severe concurrency issues in 
STCS,DTCS,TWCS,TMD.Topology,TypeParser
 new 16c96c2  Merge branch cassandra-3.0 into cassandra-3.11

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/cassandra/db/ColumnFamilyStore.java |   1 -
 .../db/compaction/AbstractCompactionStrategy.java  |  14 +-
 .../compaction/DateTieredCompactionStrategy.java   |  20 +-
 .../compaction/SizeTieredCompactionStrategy.java   |   6 +-
 .../compaction/TimeWindowCompactionStrategy.java   |   4 +-
 .../apache/cassandra/db/marshal/TypeParser.java|  30 +-
 .../cassandra/locator/NetworkTopologyStrategy.java |   3 +-
 .../apache/cassandra/locator/TokenMetadata.java| 364 -
 .../locator/NetworkTopologyStrategyTest.java   |   3 +-
 .../cassandra/locator/TokenMetadataTest.java   |  23 +-
 10 files changed, 280 insertions(+), 188 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch cassandra-3.0 updated: Severe concurrency issues in STCS, DTCS, TWCS, TMD.Topology, TypeParser

2019-02-01 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch cassandra-3.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-3.0 by this push:
 new bc18b4d  Severe concurrency issues in 
STCS,DTCS,TWCS,TMD.Topology,TypeParser
bc18b4d is described below

commit bc18b4dd4e33020d0d58c3701077d0af5c39bce6
Author: Robert Stupp 
AuthorDate: Wed Oct 31 12:48:19 2018 +0100

Severe concurrency issues in STCS,DTCS,TWCS,TMD.Topology,TypeParser

patch by Robert Stupp; reviewed by Blake Eggleston for CASSANDRA-14781
---
 .../org/apache/cassandra/db/ColumnFamilyStore.java |   1 -
 .../db/compaction/AbstractCompactionStrategy.java  |  14 +-
 .../compaction/DateTieredCompactionStrategy.java   |  12 +-
 .../compaction/SizeTieredCompactionStrategy.java   |   8 +-
 .../compaction/TimeWindowCompactionStrategy.java   |   4 +-
 .../apache/cassandra/db/marshal/TypeParser.java|  30 +-
 .../cassandra/locator/NetworkTopologyStrategy.java |   3 +-
 .../apache/cassandra/locator/TokenMetadata.java| 354 -
 .../cassandra/locator/TokenMetadataTest.java   |  23 +-
 9 files changed, 269 insertions(+), 180 deletions(-)

diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 3482909..355d710 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -2138,7 +2138,6 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
 assert data.getCompacting().isEmpty() : data.getCompacting();
 Iterable sstables = getLiveSSTables();
 sstables = 
AbstractCompactionStrategy.filterSuspectSSTables(sstables);
-sstables = ImmutableList.copyOf(sstables);
 LifecycleTransaction modifier = data.tryModify(sstables, 
operationType);
 assert modifier != null: "something marked things compacting 
while compactions are disabled";
 return modifier;
diff --git 
a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java 
b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
index 9f07691..2348d19 100644
--- 
a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
+++ 
b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
@@ -252,15 +252,15 @@ public abstract class AbstractCompactionStrategy
  * @param originalCandidates The collection to check for blacklisted 
SSTables
  * @return list of the SSTables with blacklisted ones filtered out
  */
-public static Iterable 
filterSuspectSSTables(Iterable originalCandidates)
+public static List 
filterSuspectSSTables(Iterable originalCandidates)
 {
-return Iterables.filter(originalCandidates, new 
Predicate()
+List filtered = new ArrayList<>();
+for (SSTableReader sstable : originalCandidates)
 {
-public boolean apply(SSTableReader sstable)
-{
-return !sstable.isMarkedSuspect();
-}
-});
+if (!sstable.isMarkedSuspect())
+filtered.add(sstable);
+}
+return filtered;
 }
 
 
diff --git 
a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java 
b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
index 3e6ae61..7c38fa8 100644
--- 
a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
+++ 
b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
@@ -87,7 +87,7 @@ public class DateTieredCompactionStrategy extends 
AbstractCompactionStrategy
  * @param gcBefore
  * @return
  */
-private List getNextBackgroundSSTables(final int gcBefore)
+private synchronized List getNextBackgroundSSTables(final 
int gcBefore)
 {
 if (Iterables.isEmpty(cfs.getSSTables(SSTableSet.LIVE)))
 return Collections.emptyList();
@@ -193,11 +193,6 @@ public class DateTieredCompactionStrategy extends 
AbstractCompactionStrategy
 });
 }
 
-/**
- *
- * @param sstables
- * @return
- */
 public static List> 
createSSTableAndMinTimestampPairs(Iterable sstables)
 {
 List> sstableMinTimestampPairs = 
Lists.newArrayListWithCapacity(Iterables.size(sstables));
@@ -205,14 +200,15 @@ public class DateTieredCompactionStrategy extends 
AbstractCompactionStrategy
 sstableMinTimestampPairs.add(Pair.create(sstable, 
sstable.getMinTimestamp()));
 return sstableMinTimestampPairs;
 }
+
 @Override
-public void addSSTable(SSTableReader sstable)
+public synchronized void addSSTable(SSTableReader sstable)
 {
 sstables.add(sstable);
 }
 
 @Ove

[cassandra] branch trunk updated (7f634fe -> ef6c5f8)

2019-02-01 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from 7f634fe  Avoid leaking threads when remote nodes fail anticompaction 
and rate limit anticompactions
 new bc18b4d  Severe concurrency issues in 
STCS,DTCS,TWCS,TMD.Topology,TypeParser
 new 16c96c2  Merge branch cassandra-3.0 into cassandra-3.11
 new ef6c5f8  Merge branch cassandra-3.11 into trunk

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/cassandra/db/ColumnFamilyStore.java |   1 -
 .../db/compaction/AbstractCompactionStrategy.java  |  14 +-
 .../compaction/DateTieredCompactionStrategy.java   |  20 +-
 .../compaction/SizeTieredCompactionStrategy.java   |   6 +-
 .../compaction/TimeWindowCompactionStrategy.java   |   4 +-
 .../apache/cassandra/db/marshal/TypeParser.java|  30 +-
 .../cassandra/locator/NetworkTopologyStrategy.java |   3 +-
 .../apache/cassandra/locator/TokenMetadata.java| 414 -
 .../locator/NetworkTopologyStrategyTest.java   |   3 +-
 .../cassandra/locator/TokenMetadataTest.java   |  23 +-
 10 files changed, 312 insertions(+), 206 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] 01/01: Merge branch cassandra-3.11 into trunk

2019-02-01 Thread snazy
This is an automated email from the ASF dual-hosted git repository.

snazy pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit ef6c5f8ba9dc18e7a5bacfd5d8461ae5d9f12df4
Merge: 7f634fe 16c96c2
Author: Robert Stupp 
AuthorDate: Fri Feb 1 12:27:49 2019 +0100

Merge branch cassandra-3.11 into trunk

 .../org/apache/cassandra/db/ColumnFamilyStore.java |   1 -
 .../db/compaction/AbstractCompactionStrategy.java  |  14 +-
 .../compaction/DateTieredCompactionStrategy.java   |  20 +-
 .../compaction/SizeTieredCompactionStrategy.java   |   6 +-
 .../compaction/TimeWindowCompactionStrategy.java   |   4 +-
 .../apache/cassandra/db/marshal/TypeParser.java|  30 +-
 .../cassandra/locator/NetworkTopologyStrategy.java |   3 +-
 .../apache/cassandra/locator/TokenMetadata.java| 414 -
 .../locator/NetworkTopologyStrategyTest.java   |   3 +-
 .../cassandra/locator/TokenMetadataTest.java   |  23 +-
 10 files changed, 312 insertions(+), 206 deletions(-)

diff --cc src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
index c9f24e0,d48dec3..be63ea1
--- a/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
+++ b/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
@@@ -175,9 -150,9 +176,9 @@@ public class NetworkTopologyStrategy ex
  
  Topology topology = tokenMetadata.getTopology();
  // all endpoints in each DC, so we can check when we have exhausted 
all the members of a DC
 -Multimap allEndpoints = 
topology.getDatacenterEndpoints();
 +Multimap allEndpoints = 
topology.getDatacenterEndpoints();
  // all racks in a DC so we can check when we have exhausted all racks 
in a DC
- Map> racks = 
topology.getDatacenterRacks();
 -Map> racks = 
topology.getDatacenterRacks();
++Map> racks = 
topology.getDatacenterRacks();
  assert !allEndpoints.isEmpty() && !racks.isEmpty() : "not aware of 
any cluster members";
  
  int dcsToFill = 0;
diff --cc src/java/org/apache/cassandra/locator/TokenMetadata.java
index f95ee0c,8a1d9d0..cb189c8
--- a/src/java/org/apache/cassandra/locator/TokenMetadata.java
+++ b/src/java/org/apache/cassandra/locator/TokenMetadata.java
@@@ -96,19 -95,28 +96,20 @@@ public class TokenMetadat
  
  /* Use this lock for manipulating the token map */
  private final ReadWriteLock lock = new ReentrantReadWriteLock(true);
- private volatile ArrayList sortedTokens;
+ private volatile ArrayList sortedTokens; // safe to be read 
without a lock, as it's never mutated
+ 
+ private volatile Topology topology;
  
- private final Topology topology;
  public final IPartitioner partitioner;
  
 -private static final Comparator inetaddressCmp = new 
Comparator()
 -{
 -public int compare(InetAddress o1, InetAddress o2)
 -{
 -return 
ByteBuffer.wrap(o1.getAddress()).compareTo(ByteBuffer.wrap(o2.getAddress()));
 -}
 -};
 -
  // signals replication strategies that nodes have joined or left the ring 
and they need to recompute ownership
  private volatile long ringVersion = 0;
  
  public TokenMetadata()
  {
 -this(SortedBiMultiValMap.create(null, 
inetaddressCmp),
 - HashBiMap.create(),
 +this(SortedBiMultiValMap.create(),
 + HashBiMap.create(),
-  new Topology(),
+  Topology.empty(),
   DatabaseDescriptor.getPartitioner());
  }
  
@@@ -186,7 -194,8 +187,8 @@@
  try
  {
  boolean shouldSortTokens = false;
+ Topology.Builder topologyBuilder = topology.unbuild();
 -for (InetAddress endpoint : endpointTokens.keySet())
 +for (InetAddressAndPort endpoint : endpointTokens.keySet())
  {
  Collection tokens = endpointTokens.get(endpoint);
  
@@@ -372,14 -382,30 +375,30 @@@
  }
  }
  
 -public Optional getReplacementNode(InetAddress endpoint)
 +public Optional getReplacementNode(InetAddressAndPort 
endpoint)
  {
- return 
Optional.ofNullable(replacementToOriginal.inverse().get(endpoint));
+ lock.readLock().lock();
+ try
+ {
+ return 
Optional.ofNullable(replacementToOriginal.inverse().get(endpoint));
+ }
+ finally
+ {
+ lock.readLock().unlock();
+ }
  }
  
 -public Optional getReplacingNode(InetAddress endpoint)
 +public Optional getReplacingNode(InetAddressAndPort 
endpoint)
  {
- return Optional.ofNullable((replacementToOriginal.get(endpoint)));
+ lock.readLock().lock();
+ try
+ {
+ return Optional.ofNullable((replacementToOriginal.get(endpoint)));
+ }
+ finally
+ {
+ lock.readLock().unlock();
+ }
  }
  
  public void removeBootst

cassandra git commit: Fix SafeMemoryWriterTest

2018-08-30 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/trunk f8d34d356 -> 8b1a6247e


Fix SafeMemoryWriterTest

patch by Robert Stupp; reviewed by Branimir Lambov for CASSANDRA-14681


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

Branch: refs/heads/trunk
Commit: 8b1a6247ec5aabad92a664ff2cbf6d6529d8ceb7
Parents: f8d34d3
Author: Robert Stupp 
Authored: Thu Aug 30 19:10:57 2018 +0200
Committer: Robert Stupp 
Committed: Thu Aug 30 19:10:57 2018 +0200

--
 .../cassandra/io/util/SafeMemoryWriterTest.java | 28 +---
 1 file changed, 24 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8b1a6247/test/unit/org/apache/cassandra/io/util/SafeMemoryWriterTest.java
--
diff --git a/test/unit/org/apache/cassandra/io/util/SafeMemoryWriterTest.java 
b/test/unit/org/apache/cassandra/io/util/SafeMemoryWriterTest.java
index 12c8c98..8b37c2d 100644
--- a/test/unit/org/apache/cassandra/io/util/SafeMemoryWriterTest.java
+++ b/test/unit/org/apache/cassandra/io/util/SafeMemoryWriterTest.java
@@ -24,8 +24,6 @@ import java.util.Random;
 import org.junit.Assert;
 import org.junit.Test;
 
-import sun.misc.VM;
-
 import static org.junit.Assert.assertEquals;
 
 public class SafeMemoryWriterTest
@@ -33,6 +31,28 @@ public class SafeMemoryWriterTest
 Random rand = new Random();
 static final int CHUNK = 54321;
 
+static final long maxDirectMemory;
+static
+{
+try
+{
+Class cVM;
+try
+{
+cVM = Class.forName("jdk.internal.misc.VM");
+}
+catch (ClassNotFoundException e)
+{
+cVM = Class.forName("sun.misc.VM");
+}
+maxDirectMemory = (Long) 
cVM.getDeclaredMethod("maxDirectMemory").invoke(null);
+}
+catch (Exception e)
+{
+throw new RuntimeException(e);
+}
+}
+
 @Test
 public void testTrim() throws IOException
 {
@@ -51,9 +71,9 @@ public class SafeMemoryWriterTest
 while (initialSize * 2 / 3 > 1024L * 1024L * 
DataOutputBuffer.DOUBLING_THRESHOLD)
 initialSize = initialSize * 2 / 3;
 
-if (VM.maxDirectMemory() * 2 / 3 < testSize)
+if (maxDirectMemory * 2 / 3 < testSize)
 {
-testSize = VM.maxDirectMemory() * 2 / 3;
+testSize = maxDirectMemory * 2 / 3;
 System.err.format("Insufficient direct memory for full test, 
reducing to: %,d %x\n", testSize, testSize);
 }
 


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[4/4] cassandra git commit: Make C* compile and run on Java 11 and Java 8

2018-07-26 Thread snazy
Make C* compile and run on Java 11 and Java 8

patch by Robert Stupp; reviewed by Jason Brown for CASSANDRA-9608


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

Branch: refs/heads/trunk
Commit: 6ba2fb9395226491872b41312d978a169f36fcdb
Parents: 176d4ba
Author: Robert Stupp 
Authored: Tue Sep 12 20:04:30 2017 +0200
Committer: Robert Stupp 
Committed: Thu Jul 26 18:20:00 2018 +0200

--
 .circleci/config.yml|   4 +-
 .gitignore  |   2 +
 CHANGES.txt |   1 +
 NEWS.txt|   5 +
 bin/cassandra   |  24 +-
 bin/cassandra.bat   |   2 +-
 bin/cassandra.in.sh | 100 +++-
 bin/debug-cql   |  12 -
 bin/fqltool |  12 -
 bin/nodetool|  14 +-
 bin/sstableloader   |  12 -
 bin/sstablescrub|  12 -
 bin/sstableupgrade  |  12 -
 bin/sstableutil |  12 -
 bin/sstableverify   |  12 -
 build.xml   | 230 -
 conf/cassandra-env.ps1  |  11 +-
 conf/cassandra-env.sh   |  76 ++
 conf/jvm-clients.options|  10 +
 conf/jvm-server.options | 191 ++
 conf/jvm.options| 254 ---
 conf/jvm11-clients.options  |  21 ++
 conf/jvm11-server.options   |  89 +++
 conf/jvm8-clients.options   |   9 +
 conf/jvm8-server.options|  76 ++
 debian/cassandra.in.sh  |  84 +-
 debian/cassandra.install|   2 +-
 ide/idea-iml-file.xml   |   5 +-
 ide/idea/misc.xml   |   2 +-
 ide/idea/workspace.xml  |   6 +-
 lib/asm-5.0.4.jar   | Bin 53297 -> 0 bytes
 lib/asm-6.2.jar | Bin 0 -> 111214 bytes
 lib/chronicle-bytes-1.10.1.jar  | Bin 273664 -> 0 bytes
 lib/chronicle-bytes-1.16.3.jar  | Bin 0 -> 289991 bytes
 lib/chronicle-core-1.16.3-SNAPSHOT.jar  | Bin 0 -> 218156 bytes
 lib/chronicle-core-1.9.21.jar   | Bin 199833 -> 0 bytes
 lib/chronicle-queue-4.16.3.jar  | Bin 0 -> 237198 bytes
 lib/chronicle-queue-4.6.55.jar  | Bin 215247 -> 0 bytes
 lib/chronicle-threads-1.16.0.jar| Bin 0 -> 50299 bytes
 lib/chronicle-threads-1.9.1.jar | Bin 40530 -> 0 bytes
 lib/chronicle-wire-1.10.1.jar   | Bin 419054 -> 0 bytes
 lib/chronicle-wire-1.16.1.jar   | Bin 0 -> 437898 bytes
 lib/ecj-4.4.2.jar   | Bin 2310271 -> 0 bytes
 lib/ecj-4.6.1.jar   | Bin 0 -> 2440899 bytes
 lib/jamm-0.3.0.jar  | Bin 21033 -> 0 bytes
 lib/jamm-0.3.2.jar  | Bin 0 -> 22572 bytes
 lib/licenses/asm-5.0.4.txt  |  29 ---
 lib/licenses/asm-6.2.txt|  29 +++
 lib/licenses/chronicle-bytes-1.10.1.txt |  14 -
 lib/licenses/chronicle-bytes-1.16.3.txt |  14 +
 lib/licenses/chronicle-core-1.16.3-SNAPSHOT.txt |  14 +
 lib/licenses/chronicle-core-1.9.21.txt  |  14 -
 lib/licenses/chronicle-queue-4.16.3.txt |  14 +
 lib/licenses/chronicle-queue-4.6.55.txt |  14 -
 lib/licenses/chronicle-threads-1.16.0.txt   |  14 +
 lib/licenses/chronicle-threads-1.9.1.txt|  14 -
 lib/licenses/chronicle-wire-1.10.1.txt  |  14 -
 lib/licenses/chronicle-wire-1.16.1.txt  |  14 +
 lib/licenses/ecj-4.4.2.txt  | 210 ---
 lib/licenses/ecj-4.6.1.txt  | 210 +++
 lib/licenses/jamm-0.3.0.txt | 202 ---
 lib/licenses/jamm-0.3.2.txt | 202 +++
 lib/licenses/ohc-0.4.4.txt  | 201 ---
 lib/licenses/ohc-0.5.1.txt  | 201 +++
 lib/ohc-core-0.4.4.jar  | Bin 135369 -> 0 bytes
 lib/ohc-core-0.5.1.jar  | Bin 0 -> 122716 bytes
 lib/ohc-core-j8-0.4.4.jar   | Bin 4995 -> 0 bytes
 

[2/4] cassandra git commit: Make C* compile and run on Java 11 and Java 8

2018-07-26 Thread snazy
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ba2fb93/lib/licenses/ohc-0.4.4.txt
--
diff --git a/lib/licenses/ohc-0.4.4.txt b/lib/licenses/ohc-0.4.4.txt
deleted file mode 100644
index eb6b5d3..000
--- a/lib/licenses/ohc-0.4.4.txt
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
-   Version 2.0, January 2004
-http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-  "License" shall mean the terms and conditions for use, reproduction,
-  and distribution as defined by Sections 1 through 9 of this document.
-
-  "Licensor" shall mean the copyright owner or entity authorized by
-  the copyright owner that is granting the License.
-
-  "Legal Entity" shall mean the union of the acting entity and all
-  other entities that control, are controlled by, or are under common
-  control with that entity. For the purposes of this definition,
-  "control" means (i) the power, direct or indirect, to cause the
-  direction or management of such entity, whether by contract or
-  otherwise, or (ii) ownership of fifty percent (50%) or more of the
-  outstanding shares, or (iii) beneficial ownership of such entity.
-
-  "You" (or "Your") shall mean an individual or Legal Entity
-  exercising permissions granted by this License.
-
-  "Source" form shall mean the preferred form for making modifications,
-  including but not limited to software source code, documentation
-  source, and configuration files.
-
-  "Object" form shall mean any form resulting from mechanical
-  transformation or translation of a Source form, including but
-  not limited to compiled object code, generated documentation,
-  and conversions to other media types.
-
-  "Work" shall mean the work of authorship, whether in Source or
-  Object form, made available under the License, as indicated by a
-  copyright notice that is included in or attached to the work
-  (an example is provided in the Appendix below).
-
-  "Derivative Works" shall mean any work, whether in Source or Object
-  form, that is based on (or derived from) the Work and for which the
-  editorial revisions, annotations, elaborations, or other modifications
-  represent, as a whole, an original work of authorship. For the purposes
-  of this License, Derivative Works shall not include works that remain
-  separable from, or merely link (or bind by name) to the interfaces of,
-  the Work and Derivative Works thereof.
-
-  "Contribution" shall mean any work of authorship, including
-  the original version of the Work and any modifications or additions
-  to that Work or Derivative Works thereof, that is intentionally
-  submitted to Licensor for inclusion in the Work by the copyright owner
-  or by an individual or Legal Entity authorized to submit on behalf of
-  the copyright owner. For the purposes of this definition, "submitted"
-  means any form of electronic, verbal, or written communication sent
-  to the Licensor or its representatives, including but not limited to
-  communication on electronic mailing lists, source code control systems,
-  and issue tracking systems that are managed by, or on behalf of, the
-  Licensor for the purpose of discussing and improving the Work, but
-  excluding communication that is conspicuously marked or otherwise
-  designated in writing by the copyright owner as "Not a Contribution."
-
-  "Contributor" shall mean Licensor and any individual or Legal Entity
-  on behalf of whom a Contribution has been received by Licensor and
-  subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-  this License, each Contributor hereby grants to You a perpetual,
-  worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-  copyright license to reproduce, prepare Derivative Works of,
-  publicly display, publicly perform, sublicense, and distribute the
-  Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-  this License, each Contributor hereby grants to You a perpetual,
-  worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-  (except as stated in this section) patent license to make, have made,
-  use, offer to sell, sell, import, and otherwise transfer the Work,
-  where such license applies only to those patent claims licensable
-  by such Contributor that are necessarily infringed by their
-  Contribution(s) alone or by combination of their Contribution(s)
-  with the Work to which such Contribution(s) was submitted. If You
-  

[3/4] cassandra git commit: Make C* compile and run on Java 11 and Java 8

2018-07-26 Thread snazy
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ba2fb93/conf/jvm8-server.options
--
diff --git a/conf/jvm8-server.options b/conf/jvm8-server.options
new file mode 100644
index 000..14d0261
--- /dev/null
+++ b/conf/jvm8-server.options
@@ -0,0 +1,76 @@
+###
+#  jvm8-server.options#
+# #
+# See jvm-server.options. This file is specific for Java 8 and newer. #
+###
+
+
+# GENERAL JVM SETTINGS #
+
+
+# allows lowering thread priority without being root on linux - probably
+# not necessary on Windows but doesn't harm anything.
+# see 
http://tech.stolsvik.com/2010/01/linux-java-thread-priorities-workaround.html
+-XX:ThreadPriorityPolicy=42
+
+#
+#  GC SETTINGS  #
+#
+
+### CMS Settings
+#-XX:+UseParNewGC
+#-XX:+UseConcMarkSweepGC
+#-XX:+CMSParallelRemarkEnabled
+#-XX:SurvivorRatio=8
+#-XX:MaxTenuringThreshold=1
+#-XX:CMSInitiatingOccupancyFraction=75
+#-XX:+UseCMSInitiatingOccupancyOnly
+#-XX:CMSWaitDuration=1
+#-XX:+CMSParallelInitialMarkEnabled
+#-XX:+CMSEdenChunksRecordAlways
+## some JVMs will fill up their heap when accessed via JMX, see CASSANDRA-6541
+#-XX:+CMSClassUnloadingEnabled
+
+### G1 Settings
+## Use the Hotspot garbage-first collector.
+-XX:+UseG1GC
+-XX:+ParallelRefProcEnabled
+
+#
+## Have the JVM do less remembered set work during STW, instead
+## preferring concurrent GC. Reduces p99.9 latency.
+-XX:G1RSetUpdatingPauseTimePercent=5
+#
+## Main G1GC tunable: lowering the pause target will lower throughput and vise 
versa.
+## 200ms is the JVM default and lowest viable setting
+## 1000ms increases throughput. Keep it smaller than the timeouts in 
cassandra.yaml.
+-XX:MaxGCPauseMillis=500
+
+## Optional G1 Settings
+# Save CPU time on large (>= 16GB) heaps by delaying region scanning
+# until the heap is 70% full. The default in Hotspot 8u40 is 40%.
+#-XX:InitiatingHeapOccupancyPercent=70
+
+# For systems with > 8 cores, the default ParallelGCThreads is 5/8 the number 
of logical cores.
+# Otherwise equal to the number of cores when 8 or less.
+# Machines with > 10 cores should try setting these to <= full cores.
+#-XX:ParallelGCThreads=16
+# By default, ConcGCThreads is 1/4 of ParallelGCThreads.
+# Setting both to the same value can reduce STW durations.
+#-XX:ConcGCThreads=16
+
+### GC logging options -- uncomment to enable
+
+-XX:+PrintGCDetails
+-XX:+PrintGCDateStamps
+-XX:+PrintHeapAtGC
+-XX:+PrintTenuringDistribution
+-XX:+PrintGCApplicationStoppedTime
+-XX:+PrintPromotionFailure
+#-XX:PrintFLSStatistics=1
+#-Xloggc:/var/log/cassandra/gc.log
+-XX:+UseGCLogFileRotation
+-XX:NumberOfGCLogFiles=10
+-XX:GCLogFileSize=10M
+
+# The newline in the end of file is intentional

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ba2fb93/debian/cassandra.in.sh
--
diff --git a/debian/cassandra.in.sh b/debian/cassandra.in.sh
index 8fcaf9c..552731d 100644
--- a/debian/cassandra.in.sh
+++ b/debian/cassandra.in.sh
@@ -27,8 +27,84 @@ CLASSPATH="$CLASSPATH:$EXTRA_CLASSPATH"
 
 
 # set JVM javaagent opts to avoid warnings/errors
-if [ "$JVM_VENDOR" != "OpenJDK" -o "$JVM_VERSION" \> "1.6.0" ] \
-  || [ "$JVM_VERSION" = "1.6.0" -a "$JVM_PATCH_VERSION" -ge 23 ]
-then
-JAVA_AGENT="$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.3.0.jar"
+JAVA_AGENT="$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.3.2.jar"
+
+
+#
+# Java executable and per-Java version JVM settings
+#
+
+# Use JAVA_HOME if set, otherwise look for java in PATH
+if [ -n "$JAVA_HOME" ]; then
+# Why we can't have nice things: Solaris combines x86 and x86_64
+# installations in the same tree, using an unconventional path for the
+# 64bit JVM.  Since we prefer 64bit, search the alternate path first,
+# (see https://issues.apache.org/jira/browse/CASSANDRA-4638).
+for java in "$JAVA_HOME"/bin/amd64/java "$JAVA_HOME"/bin/java; do
+if [ -x "$java" ]; then
+JAVA="$java"
+break
+fi
+done
+else
+JAVA=java
 fi
+
+if [ -z $JAVA ] ; then
+echo Unable to find java executable. Check JAVA_HOME and PATH environment 
variables. >&2
+exit 1;
+fi
+
+# Determine the sort of JVM we'll be running on.
+java_ver_output=`"${JAVA:-java}" -version 2>&1`
+jvmver=`echo "$java_ver_output" | grep '[openjdk|java] version' | awk -F'"' 
'NR==1 {print $2}' | cut -d\- -f1`
+JVM_VERSION=${jvmver%_*}
+
+JAVA_VERSION=11
+if [ "$JVM_VERSION" = "1.8.0" ]  ; then
+JVM_PATCH_VERSION=${jvmver#*_}
+if [ "$JVM_VERSION" \< "1.8" ] || [ "$JVM_VERSION" \> "1.8.2" ] ; then
+echo "Cassandra 4.0 

[1/4] cassandra git commit: Make C* compile and run on Java 11 and Java 8

2018-07-26 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/trunk 176d4bac2 -> 6ba2fb939


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ba2fb93/src/java/org/apache/cassandra/utils/memory/SlabAllocator.java
--
diff --git a/src/java/org/apache/cassandra/utils/memory/SlabAllocator.java 
b/src/java/org/apache/cassandra/utils/memory/SlabAllocator.java
index 1db4b7f..16cb45d 100644
--- a/src/java/org/apache/cassandra/utils/memory/SlabAllocator.java
+++ b/src/java/org/apache/cassandra/utils/memory/SlabAllocator.java
@@ -26,9 +26,9 @@ import java.util.concurrent.atomic.AtomicReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.cassandra.io.util.FileUtils;
 import org.apache.cassandra.utils.ByteBufferUtil;
 import org.apache.cassandra.utils.concurrent.OpOrder;
-import sun.nio.ch.DirectBuffer;
 
 /**
 + * The SlabAllocator is a bump-the-pointer allocator that allocates
@@ -116,7 +116,7 @@ public class SlabAllocator extends MemtableBufferAllocator
 public void setDiscarded()
 {
 for (Region region : offHeapRegions)
-((DirectBuffer) region.data).cleaner().clean();
+FileUtils.clean(region.data);
 super.setDiscarded();
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ba2fb93/src/java11/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java
--
diff --git 
a/src/java11/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java 
b/src/java11/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java
new file mode 100644
index 000..ac1a11d
--- /dev/null
+++ 
b/src/java11/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.cassandra.db.partitions;
+
+import java.util.concurrent.locks.ReentrantLock;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.cassandra.db.DecoratedKey;
+
+/**
+ * Java 11 version for the partition-locks in {@link AtomicBTreePartition}.
+ */
+public abstract class AtomicBTreePartitionBase extends AbstractBTreePartition
+{
+private static final Logger logger = 
LoggerFactory.getLogger(AtomicBTreePartitionBase.class);
+
+protected AtomicBTreePartitionBase(DecoratedKey partitionKey)
+{
+super(partitionKey);
+}
+
+// Replacement for Unsafe.monitorEnter/monitorExit.
+private final ReentrantLock lock = new ReentrantLock();
+
+static
+{
+logger.info("Initializing Java 11 support for AtomicBTreePartition");
+
+if (Runtime.version().version().get(0) < 11)
+throw new RuntimeException("Java 11 required, but found " + 
Runtime.version());
+}
+
+protected final void acquireLock()
+{
+lock.lock();
+}
+
+protected final void releaseLock()
+{
+lock.unlock();
+}
+}

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ba2fb93/src/java8/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java
--
diff --git 
a/src/java8/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java 
b/src/java8/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java
new file mode 100644
index 000..32209e9
--- /dev/null
+++ b/src/java8/org/apache/cassandra/db/partitions/AtomicBTreePartitionBase.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 

cassandra-dtest git commit: Fix jmxutils.py

2018-07-26 Thread snazy
Repository: cassandra-dtest
Updated Branches:
  refs/heads/master f210e532e -> f45a06b2e


Fix jmxutils.py

patch by Robert Stupp; reviewed by Philip Thompson and Jason Brown for 
CASSANDRA-9608


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

Branch: refs/heads/master
Commit: f45a06b2efd08e9971d29b0e15c9ba388e4ae6bd
Parents: f210e53
Author: Robert Stupp 
Authored: Wed Jul 25 16:03:35 2018 +0200
Committer: Robert Stupp 
Committed: Wed Jul 25 16:03:35 2018 +0200

--
 tools/jmxutils.py | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/f45a06b2/tools/jmxutils.py
--
diff --git a/tools/jmxutils.py b/tools/jmxutils.py
index 8c78022..b0d6c68 100644
--- a/tools/jmxutils.py
+++ b/tools/jmxutils.py
@@ -1,3 +1,4 @@
+import glob
 import json
 import os
 import subprocess
@@ -13,7 +14,6 @@ logger = logging.getLogger(__name__)
 
 JOLOKIA_JAR = os.path.join('lib', 'jolokia-jvm-1.2.3-agent.jar')
 CLASSPATH_SEP = ';' if common.is_win() else ':'
-JVM_OPTIONS = "jvm.options"
 
 
 def jolokia_classpath():
@@ -162,15 +162,16 @@ def remove_perf_disable_shared_mem(node):
 edits cassandra-env.sh (or the Windows equivalent), or jvm.options file on 
3.2+ to remove that option.
 """
 if node.get_cassandra_version() >= LooseVersion('3.2'):
-conf_file = os.path.join(node.get_conf_dir(), JVM_OPTIONS)
 pattern = '\-XX:\+PerfDisableSharedMem'
 replacement = '#-XX:+PerfDisableSharedMem'
+for f in glob.glob(os.path.join(node.get_conf_dir(), 
common.JVM_OPTS_PATTERN)):
+if os.path.isfile(f):
+common.replace_in_file(f, pattern, replacement)
 else:
 conf_file = node.envfilename()
 pattern = 'PerfDisableSharedMem'
 replacement = ''
-
-common.replace_in_file(conf_file, pattern, replacement)
+common.replace_in_file(conf_file, pattern, replacement)
 
 
 class JolokiaAgent(object):


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



cassandra git commit: Fix cqlshtests

2018-02-22 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/trunk cc4367700 -> 1b82de8c9


Fix cqlshtests

patch by Alex Petrov; reviewed by Robert Stupp for CASSANDRA-14007


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

Branch: refs/heads/trunk
Commit: 1b82de8c9fe62cf78f07cf54fe32b561058eebe5
Parents: cc43677
Author: Alex Petrov 
Authored: Thu Feb 22 18:29:54 2018 +0100
Committer: Robert Stupp 
Committed: Thu Feb 22 18:30:50 2018 +0100

--
 pylib/cqlshlib/test/test_keyspace_init.cql | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1b82de8c/pylib/cqlshlib/test/test_keyspace_init.cql
--
diff --git a/pylib/cqlshlib/test/test_keyspace_init.cql 
b/pylib/cqlshlib/test/test_keyspace_init.cql
index c64163a..26e8dae 100644
--- a/pylib/cqlshlib/test/test_keyspace_init.cql
+++ b/pylib/cqlshlib/test/test_keyspace_init.cql
@@ -63,12 +63,12 @@ CREATE TABLE empty_table (
 
 
 
-CREATE COLUMNFAMILY dynamic_columns (
+CREATE TABLE dynamic_columns (
 somekey int,
 column1 float,
 value text,
 PRIMARY KEY(somekey, column1)
-) WITH COMPACT STORAGE;
+);
 
 INSERT INTO dynamic_columns (somekey, column1, value) VALUES (1, 1.2, 'one 
point two');
 INSERT INTO dynamic_columns (somekey, column1, value) VALUES (2, 2.3, 'two 
point three');


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra-dtest] Git Push Summary

2017-12-13 Thread snazy
Repository: cassandra-dtest
Updated Branches:
  refs/heads/schema-migration-upgrade-bug [deleted] 777c9ab43

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



cassandra-dtest git commit: Verify that no migration storm happens during an upgrade from 3.0 to 3.11

2017-12-13 Thread snazy
Repository: cassandra-dtest
Updated Branches:
  refs/heads/master 3d2a6cc73 -> e67ef2b80


Verify that no migration storm happens during an upgrade from 3.0 to 3.11

patch by Robert Stupp; reviewed by Andrés de la Peña for CASSANDRA-14109


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

Branch: refs/heads/master
Commit: e67ef2b80a45ae02cc15f4e1a6c57cc68c09b0f8
Parents: 3d2a6cc
Author: Robert Stupp 
Authored: Fri Dec 8 22:29:08 2017 +0100
Committer: Robert Stupp 
Committed: Wed Dec 13 14:12:34 2017 +0100

--
 upgrade_tests/upgrade_schema_agreement_test.py | 258 
 1 file changed, 258 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/e67ef2b8/upgrade_tests/upgrade_schema_agreement_test.py
--
diff --git a/upgrade_tests/upgrade_schema_agreement_test.py 
b/upgrade_tests/upgrade_schema_agreement_test.py
new file mode 100644
index 000..8541411
--- /dev/null
+++ b/upgrade_tests/upgrade_schema_agreement_test.py
@@ -0,0 +1,258 @@
+import re
+import time
+
+from ccmlib.node import TimeoutError
+from dtest import Tester, debug
+
+
+class TestSchemaAgreementUpgrade(Tester):
+"""
+Verifies that upgrades do not produce migration storms.
+
+For upgrades from 3.0 to 3.x we have encountered that the beloved 'cdc' 
column
+caused rolling upgrades to produce migration storms, because the schema 
digest calculated
+by 3.11 differs from that in 3.0, because 3.11 included the 'cdc' column 
in the digest
+calculation.
+
+This test verifies that (after some grace time, i.e. nodes in status 
NORMAL) neither the
+upgraded node nor the other nodes perform schema pulls (migration tasks) 
resulting in a
+"migration storm".
+
+A few schema migrations however happen before all nodes are in status 
NORMAL. This is not ideal,
+but legit. In an ideal world, those should not happen - but we would have 
to do the schema
+changes atomically - and currently there is just nothing like a concurrent 
schema change.
+
+The tests run for a quite some time, about 5 minutes per test.
+But there's some debug output for your entertainment - enjoy.
+
+The node.start/stop calls pass wait_other_notice=False intentionally, 
because there seem to
+be issues in 3.0 to thoroughly detect and _log_ the status change - i.e. 
the wait_other_notice
+check doesn't seem to be reliable - at least not in this test.
+"""
+
+# The number of seconds we wait for schema migration log entries to verify
+migration_check_time = 30
+
+def __init__(self, *args, **kwargs):
+self.ignore_log_patterns = [
+# This one occurs if we do a non-rolling upgrade, the node
+# it's trying to send the migration to hasn't started yet,
+# and when it does, it gets replayed and everything is fine.
+r'Can\'t send migration request: node.*is down',
+]
+
+Tester.__init__(self, *args, **kwargs)
+
+def _prepare(self, version, num_nodes=3):
+cluster = self.cluster
+
+# Forcing cluster version on purpose
+cluster.set_install_dir(version=version)
+cluster.populate(num_nodes).start()
+
+return cluster
+
+def _set_verify_log_mark(self, nodes):
+for node in nodes:
+node.verify_log_mark = node.mark_log(filename='debug.log')
+
+def _expect_no_schema_migrations(self, nodes):
+"""
+Inspects the debug.log files from the given nodes whether any log 
about schema migration is present.
+"""
+
+# Verify that there are _no_ log messages like:
+expressions = [" - [pP]ulling schema from endpoint",
+   " - [Ss]ubmitting migration task",
+   " - [Pp]ulled schema from endpoint"]
+debug("Inspecting log files of {}...".format([n.name for n in nodes]))
+all_matchings = ""
+for node in nodes:
+try:
+matchings = node.watch_log_for(expressions, 
from_mark=node.verify_log_mark, timeout=0, filename='debug.log')
+all_matchings = all_matchings + "\n{}: {}".format(node.name, 
matchings)
+except TimeoutError:
+# good
+debug("  {}: log files don't show schema migration messages 
(good)".format(node.name))
+if all_matchings != "":
+msg = "Expected no schema migration log entries, but 
got:{}".format(all_matchings)
+debug(msg)  # debug message for the 

cassandra-dtest git commit: Verify that no migration storm happens during an upgrade from 3.0 to 3.11

2017-12-13 Thread snazy
Repository: cassandra-dtest
Updated Branches:
  refs/heads/schema-migration-upgrade-bug [created] 777c9ab43


Verify that no migration storm happens during an upgrade from 3.0 to 3.11

patch by Robert Stupp; reviewed by Andrés de la Peña for CASSANDRA-14109


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

Branch: refs/heads/schema-migration-upgrade-bug
Commit: 777c9ab431e9fc2c344e7e4ee41a505a659df2d8
Parents: 3d2a6cc
Author: Robert Stupp 
Authored: Fri Dec 8 22:29:08 2017 +0100
Committer: Robert Stupp 
Committed: Wed Dec 13 14:10:44 2017 +0100

--
 upgrade_tests/upgrade_schema_agreement_test.py | 258 
 1 file changed, 258 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/777c9ab4/upgrade_tests/upgrade_schema_agreement_test.py
--
diff --git a/upgrade_tests/upgrade_schema_agreement_test.py 
b/upgrade_tests/upgrade_schema_agreement_test.py
new file mode 100644
index 000..8541411
--- /dev/null
+++ b/upgrade_tests/upgrade_schema_agreement_test.py
@@ -0,0 +1,258 @@
+import re
+import time
+
+from ccmlib.node import TimeoutError
+from dtest import Tester, debug
+
+
+class TestSchemaAgreementUpgrade(Tester):
+"""
+Verifies that upgrades do not produce migration storms.
+
+For upgrades from 3.0 to 3.x we have encountered that the beloved 'cdc' 
column
+caused rolling upgrades to produce migration storms, because the schema 
digest calculated
+by 3.11 differs from that in 3.0, because 3.11 included the 'cdc' column 
in the digest
+calculation.
+
+This test verifies that (after some grace time, i.e. nodes in status 
NORMAL) neither the
+upgraded node nor the other nodes perform schema pulls (migration tasks) 
resulting in a
+"migration storm".
+
+A few schema migrations however happen before all nodes are in status 
NORMAL. This is not ideal,
+but legit. In an ideal world, those should not happen - but we would have 
to do the schema
+changes atomically - and currently there is just nothing like a concurrent 
schema change.
+
+The tests run for a quite some time, about 5 minutes per test.
+But there's some debug output for your entertainment - enjoy.
+
+The node.start/stop calls pass wait_other_notice=False intentionally, 
because there seem to
+be issues in 3.0 to thoroughly detect and _log_ the status change - i.e. 
the wait_other_notice
+check doesn't seem to be reliable - at least not in this test.
+"""
+
+# The number of seconds we wait for schema migration log entries to verify
+migration_check_time = 30
+
+def __init__(self, *args, **kwargs):
+self.ignore_log_patterns = [
+# This one occurs if we do a non-rolling upgrade, the node
+# it's trying to send the migration to hasn't started yet,
+# and when it does, it gets replayed and everything is fine.
+r'Can\'t send migration request: node.*is down',
+]
+
+Tester.__init__(self, *args, **kwargs)
+
+def _prepare(self, version, num_nodes=3):
+cluster = self.cluster
+
+# Forcing cluster version on purpose
+cluster.set_install_dir(version=version)
+cluster.populate(num_nodes).start()
+
+return cluster
+
+def _set_verify_log_mark(self, nodes):
+for node in nodes:
+node.verify_log_mark = node.mark_log(filename='debug.log')
+
+def _expect_no_schema_migrations(self, nodes):
+"""
+Inspects the debug.log files from the given nodes whether any log 
about schema migration is present.
+"""
+
+# Verify that there are _no_ log messages like:
+expressions = [" - [pP]ulling schema from endpoint",
+   " - [Ss]ubmitting migration task",
+   " - [Pp]ulled schema from endpoint"]
+debug("Inspecting log files of {}...".format([n.name for n in nodes]))
+all_matchings = ""
+for node in nodes:
+try:
+matchings = node.watch_log_for(expressions, 
from_mark=node.verify_log_mark, timeout=0, filename='debug.log')
+all_matchings = all_matchings + "\n{}: {}".format(node.name, 
matchings)
+except TimeoutError:
+# good
+debug("  {}: log files don't show schema migration messages 
(good)".format(node.name))
+if all_matchings != "":
+msg = "Expected no schema migration log entries, but 
got:{}".format(all_matchings)
+

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

2017-12-13 Thread snazy
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/3e4e7d95
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3e4e7d95
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3e4e7d95

Branch: refs/heads/trunk
Commit: 3e4e7d9546d69a0e1c807b3e2d585d3a659500bc
Parents: 0d8199b e646e50
Author: Robert Stupp 
Authored: Wed Dec 13 14:00:11 2017 +0100
Committer: Robert Stupp 
Committed: Wed Dec 13 14:00:11 2017 +0100

--

--



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[1/4] cassandra git commit: Prevent continuous schema exchange between 3.0 to 3.11 nodes

2017-12-13 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.11 f6381db8e -> e646e5032
  refs/heads/trunk 0d8199bab -> 7a40abb6a


Prevent continuous schema exchange between 3.0 to 3.11 nodes

patch by Robert Stupp; reviewed by Andrés de la Peña for CASSANDRA-14109


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

Branch: refs/heads/cassandra-3.11
Commit: e646e5032b68622f7ec1dd0c53137be08baabed9
Parents: f6381db
Author: Robert Stupp 
Authored: Wed Dec 13 13:58:53 2017 +0100
Committer: Robert Stupp 
Committed: Wed Dec 13 13:58:53 2017 +0100

--
 CHANGES.txt |  1 +
 NEWS.txt|  9 +++
 .../org/apache/cassandra/config/Schema.java | 79 ++--
 src/java/org/apache/cassandra/db/Columns.java   |  7 ++
 .../cassandra/db/SchemaCheckVerbHandler.java|  9 ++-
 .../apache/cassandra/db/rows/AbstractRow.java   | 10 ++-
 .../db/rows/RangeTombstoneBoundMarker.java  |  7 ++
 .../db/rows/RangeTombstoneBoundaryMarker.java   |  7 ++
 .../apache/cassandra/db/rows/RowIterators.java  | 21 +-
 .../apache/cassandra/db/rows/Unfiltered.java| 12 +++
 .../org/apache/cassandra/gms/EndpointState.java | 23 ++
 src/java/org/apache/cassandra/gms/Gossiper.java | 65 +---
 .../cassandra/hints/HintsDispatchTrigger.java   |  3 +-
 .../apache/cassandra/schema/SchemaKeyspace.java | 15 +++-
 .../cassandra/service/MigrationManager.java | 58 +-
 .../cassandra/service/StorageService.java   | 25 +++
 .../cassandra/utils/CassandraVersion.java   |  5 ++
 17 files changed, 300 insertions(+), 56 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e646e503/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index eaf312f..60794f0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.2
+ * Prevent continuous schema exchange between 3.0 and 3.11 nodes 
(CASSANDRA-14109)
  * Fix imbalanced disks when replacing node with same address with JBOD 
(CASSANDRA-14084)
  * Reload compaction strategies when disk boundaries are invalidated 
(CASSANDRA-13948)
  * Remove OpenJDK log warning (CASSANDRA-13916)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e646e503/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 0c32278..f4b15e7 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -25,6 +25,15 @@ Upgrading
 - Cassandra is not logging anymore by default an Heap histogram on 
OutOfMemoryError. To enable that behavior
   set the 'cassandra.printHeapHistogramOnOutOfMemoryError' System property 
to 'true'. See CASSANDRA-13006
   for more details.
+- Upgrades from 3.0 might have produced unnecessary schema migrations while
+  there was at least one 3.0 node in the cluster. It is therefore highly
+  recommended to upgrade from 3.0 to at least 3.11.2. The root cause of
+  this schema mismatch was a difference in the way how schema digests were 
computed
+  in 3.0 and 3.11.2. To mitigate this issue, 3.11.2 and newer announce
+  3.0 compatible digests as long as there is at least one 3.0 node in the
+  cluster. Once all nodes have been upgraded, the "real" schema version 
will be
+  announced. Note: this fix is only necessary in 3.11.2 and therefore only 
applies
+  to 3.11. (CASSANDRA-14109)
 
 Materialized Views
 ---

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e646e503/src/java/org/apache/cassandra/config/Schema.java
--
diff --git a/src/java/org/apache/cassandra/config/Schema.java 
b/src/java/org/apache/cassandra/config/Schema.java
index 8fc83df..253a66b 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -22,6 +22,7 @@ import java.util.stream.Collectors;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Sets;
+import org.cliffc.high_scale_lib.NonBlockingHashMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -33,6 +34,7 @@ import org.apache.cassandra.db.commitlog.CommitLog;
 import org.apache.cassandra.db.compaction.CompactionManager;
 import org.apache.cassandra.db.marshal.AbstractType;
 import org.apache.cassandra.db.marshal.UserType;
+import org.apache.cassandra.gms.Gossiper;
 import org.apache.cassandra.index.Index;
 import org.apache.cassandra.io.sstable.Descriptor;
 import 

[2/4] cassandra git commit: Prevent continuous schema exchange between 3.0 to 3.11 nodes

2017-12-13 Thread snazy
Prevent continuous schema exchange between 3.0 to 3.11 nodes

patch by Robert Stupp; reviewed by Andrés de la Peña for CASSANDRA-14109


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

Branch: refs/heads/trunk
Commit: e646e5032b68622f7ec1dd0c53137be08baabed9
Parents: f6381db
Author: Robert Stupp 
Authored: Wed Dec 13 13:58:53 2017 +0100
Committer: Robert Stupp 
Committed: Wed Dec 13 13:58:53 2017 +0100

--
 CHANGES.txt |  1 +
 NEWS.txt|  9 +++
 .../org/apache/cassandra/config/Schema.java | 79 ++--
 src/java/org/apache/cassandra/db/Columns.java   |  7 ++
 .../cassandra/db/SchemaCheckVerbHandler.java|  9 ++-
 .../apache/cassandra/db/rows/AbstractRow.java   | 10 ++-
 .../db/rows/RangeTombstoneBoundMarker.java  |  7 ++
 .../db/rows/RangeTombstoneBoundaryMarker.java   |  7 ++
 .../apache/cassandra/db/rows/RowIterators.java  | 21 +-
 .../apache/cassandra/db/rows/Unfiltered.java| 12 +++
 .../org/apache/cassandra/gms/EndpointState.java | 23 ++
 src/java/org/apache/cassandra/gms/Gossiper.java | 65 +---
 .../cassandra/hints/HintsDispatchTrigger.java   |  3 +-
 .../apache/cassandra/schema/SchemaKeyspace.java | 15 +++-
 .../cassandra/service/MigrationManager.java | 58 +-
 .../cassandra/service/StorageService.java   | 25 +++
 .../cassandra/utils/CassandraVersion.java   |  5 ++
 17 files changed, 300 insertions(+), 56 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e646e503/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index eaf312f..60794f0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.2
+ * Prevent continuous schema exchange between 3.0 and 3.11 nodes 
(CASSANDRA-14109)
  * Fix imbalanced disks when replacing node with same address with JBOD 
(CASSANDRA-14084)
  * Reload compaction strategies when disk boundaries are invalidated 
(CASSANDRA-13948)
  * Remove OpenJDK log warning (CASSANDRA-13916)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e646e503/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 0c32278..f4b15e7 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -25,6 +25,15 @@ Upgrading
 - Cassandra is not logging anymore by default an Heap histogram on 
OutOfMemoryError. To enable that behavior
   set the 'cassandra.printHeapHistogramOnOutOfMemoryError' System property 
to 'true'. See CASSANDRA-13006
   for more details.
+- Upgrades from 3.0 might have produced unnecessary schema migrations while
+  there was at least one 3.0 node in the cluster. It is therefore highly
+  recommended to upgrade from 3.0 to at least 3.11.2. The root cause of
+  this schema mismatch was a difference in the way how schema digests were 
computed
+  in 3.0 and 3.11.2. To mitigate this issue, 3.11.2 and newer announce
+  3.0 compatible digests as long as there is at least one 3.0 node in the
+  cluster. Once all nodes have been upgraded, the "real" schema version 
will be
+  announced. Note: this fix is only necessary in 3.11.2 and therefore only 
applies
+  to 3.11. (CASSANDRA-14109)
 
 Materialized Views
 ---

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e646e503/src/java/org/apache/cassandra/config/Schema.java
--
diff --git a/src/java/org/apache/cassandra/config/Schema.java 
b/src/java/org/apache/cassandra/config/Schema.java
index 8fc83df..253a66b 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -22,6 +22,7 @@ import java.util.stream.Collectors;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Sets;
+import org.cliffc.high_scale_lib.NonBlockingHashMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -33,6 +34,7 @@ import org.apache.cassandra.db.commitlog.CommitLog;
 import org.apache.cassandra.db.compaction.CompactionManager;
 import org.apache.cassandra.db.marshal.AbstractType;
 import org.apache.cassandra.db.marshal.UserType;
+import org.apache.cassandra.gms.Gossiper;
 import org.apache.cassandra.index.Index;
 import org.apache.cassandra.io.sstable.Descriptor;
 import org.apache.cassandra.locator.LocalStrategy;
@@ -40,7 +42,6 @@ import org.apache.cassandra.schema.*;
 import org.apache.cassandra.service.MigrationManager;
 import 

[4/4] cassandra git commit: Bring code improvements of CASSANDRA-14109 into trunk (but not the change itself)

2017-12-13 Thread snazy
Bring code improvements of CASSANDRA-14109 into trunk (but not the change 
itself)

patch by Robert Stupp; reviewed by Andrés de la Peña for CASSANDRA-14109


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

Branch: refs/heads/trunk
Commit: 7a40abb6a5108688fb1b10c375bb751cbb782ea4
Parents: 3e4e7d9
Author: Robert Stupp 
Authored: Wed Dec 13 14:00:38 2017 +0100
Committer: Robert Stupp 
Committed: Wed Dec 13 14:00:38 2017 +0100

--
 .../org/apache/cassandra/gms/EndpointState.java | 27 +--
 src/java/org/apache/cassandra/gms/Gossiper.java | 31 -
 .../cassandra/hints/HintsDispatchTrigger.java   |  3 +-
 .../cassandra/schema/MigrationManager.java  | 48 ++--
 .../org/apache/cassandra/schema/Schema.java | 30 
 .../cassandra/service/StorageService.java   |  4 +-
 6 files changed, 100 insertions(+), 43 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7a40abb6/src/java/org/apache/cassandra/gms/EndpointState.java
--
diff --git a/src/java/org/apache/cassandra/gms/EndpointState.java 
b/src/java/org/apache/cassandra/gms/EndpointState.java
index 70f2a68..847041f 100644
--- a/src/java/org/apache/cassandra/gms/EndpointState.java
+++ b/src/java/org/apache/cassandra/gms/EndpointState.java
@@ -18,18 +18,19 @@
 package org.apache.cassandra.gms;
 
 import java.io.*;
-import java.util.Collections;
-import java.util.EnumMap;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
 
+import javax.annotation.Nullable;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.cassandra.db.TypeSizes;
 import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.io.util.DataInputPlus;
 import org.apache.cassandra.io.util.DataOutputPlus;
+import org.apache.cassandra.utils.CassandraVersion;
+
 /**
  * This abstraction represents both the HeartBeatState and the 
ApplicationState in an EndpointState
  * instance. Any state for a given endpoint can be retrieved from this 
instance.
@@ -154,6 +155,24 @@ public class EndpointState
 return pieces[0];
 }
 
+@Nullable
+public UUID getSchemaVersion()
+{
+VersionedValue applicationState = 
getApplicationState(ApplicationState.SCHEMA);
+return applicationState != null
+   ? UUID.fromString(applicationState.value)
+   : null;
+}
+
+@Nullable
+public CassandraVersion getReleaseVersion()
+{
+VersionedValue applicationState = 
getApplicationState(ApplicationState.RELEASE_VERSION);
+return applicationState != null
+   ? new CassandraVersion(applicationState.value)
+   : null;
+}
+
 public String toString()
 {
 return "EndpointState: HeartBeatState = " + hbState + ", AppStateMap = 
" + applicationState.get();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7a40abb6/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index 15dad71..e675d92 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -25,6 +25,7 @@ import java.util.Map.Entry;
 import java.util.concurrent.*;
 import java.util.concurrent.locks.ReentrantLock;
 
+import javax.annotation.Nullable;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
@@ -852,20 +853,6 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 return endpointStateMap.get(ep);
 }
 
-public boolean valuesEqual(InetAddress ep1, InetAddress ep2, 
ApplicationState as)
-{
-EndpointState state1 = getEndpointStateForEndpoint(ep1);
-EndpointState state2 = getEndpointStateForEndpoint(ep2);
-
-if (state1 == null || state2 == null)
-return false;
-
-VersionedValue value1 = state1.getApplicationState(as);
-VersionedValue value2 = state2.getApplicationState(as);
-
-return !(value1 == null || value2 == null) && 
value1.value.equals(value2.value);
-}
-
 public Set> getEndpointStates()
 {
 return endpointStateMap.entrySet();
@@ -1624,16 +1611,18 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 return System.currentTimeMillis() + 

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

2017-09-01 Thread snazy
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/e5f3bb6e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e5f3bb6e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e5f3bb6e

Branch: refs/heads/trunk
Commit: e5f3bb6e583a4f71a2522a040a93468404dfb653
Parents: fb0e001 bed7fa5
Author: Robert Stupp 
Authored: Fri Sep 1 19:16:29 2017 +0200
Committer: Robert Stupp 
Committed: Fri Sep 1 19:16:29 2017 +0200

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/utils/btree/BTree.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5f3bb6e/CHANGES.txt
--
diff --cc CHANGES.txt
index 78c2947,c4a3170..023ff06
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,134 -1,6 +1,135 @@@
 +4.0
 + * Add stress profile yaml with LWT (CASSANDRA-7960)
 + * Reduce memory copies and object creations when acting on ByteBufs 
(CASSANDRA-13789)
 + * simplify mx4j configuration (Cassandra-13578)
 + * Fix trigger example on 4.0 (CASSANDRA-13796)
 + * force minumum timeout value (CASSANDRA-9375)
 + * use netty for streaming (CASSANDRA-12229)
 + * Use netty for internode messaging (CASSANDRA-8457)
 + * Add bytes repaired/unrepaired to nodetool tablestats (CASSANDRA-13774)
 + * Don't delete incremental repair sessions if they still have sstables 
(CASSANDRA-13758)
 + * Fix pending repair manager index out of bounds check (CASSANDRA-13769)
 + * Don't use RangeFetchMapCalculator when RF=1 (CASSANDRA-13576)
 + * Don't optimise trivial ranges in RangeFetchMapCalculator (CASSANDRA-13664)
 + * Use an ExecutorService for repair commands instead of new 
Thread(..).start() (CASSANDRA-13594)
 + * Fix race / ref leak in anticompaction (CASSANDRA-13688)
 + * Expose tasks queue length via JMX (CASSANDRA-12758)
 + * Fix race / ref leak in PendingRepairManager (CASSANDRA-13751)
 + * Enable ppc64le runtime as unsupported architecture (CASSANDRA-13615)
 + * Improve sstablemetadata output (CASSANDRA-11483)
 + * Support for migrating legacy users to roles has been dropped 
(CASSANDRA-13371)
 + * Introduce error metrics for repair (CASSANDRA-13387)
 + * Refactoring to primitive functional interfaces in AuthCache 
(CASSANDRA-13732)
 + * Update metrics to 3.1.5 (CASSANDRA-13648)
 + * batch_size_warn_threshold_in_kb can now be set at runtime (CASSANDRA-13699)
 + * Avoid always rebuilding secondary indexes at startup (CASSANDRA-13725)
 + * Upgrade JMH from 1.13 to 1.19 (CASSANDRA-13727)
 + * Upgrade SLF4J from 1.7.7 to 1.7.25 (CASSANDRA-12996)
 + * Default for start_native_transport now true if not set in config 
(CASSANDRA-13656)
 + * Don't add localhost to the graph when calculating where to stream from 
(CASSANDRA-13583)
 + * Make CDC availability more deterministic via hard-linking (CASSANDRA-12148)
 + * Allow skipping equality-restricted clustering columns in ORDER BY clause 
(CASSANDRA-10271)
 + * Use common nowInSec for validation compactions (CASSANDRA-13671)
 + * Improve handling of IR prepare failures (CASSANDRA-13672)
 + * Send IR coordinator messages synchronously (CASSANDRA-13673)
 + * Flush system.repair table before IR finalize promise (CASSANDRA-13660)
 + * Fix column filter creation for wildcard queries (CASSANDRA-13650)
 + * Add 'nodetool getbatchlogreplaythrottle' and 'nodetool 
setbatchlogreplaythrottle' (CASSANDRA-13614)
 + * fix race condition in PendingRepairManager (CASSANDRA-13659)
 + * Allow noop incremental repair state transitions (CASSANDRA-13658)
 + * Run repair with down replicas (CASSANDRA-10446)
 + * Added started & completed repair metrics (CASSANDRA-13598)
 + * Added started & completed repair metrics (CASSANDRA-13598)
 + * Improve secondary index (re)build failure and concurrency handling 
(CASSANDRA-10130)
 + * Improve calculation of available disk space for compaction 
(CASSANDRA-13068)
 + * Change the accessibility of RowCacheSerializer for third party row cache 
plugins (CASSANDRA-13579)
 + * Allow sub-range repairs for a preview of repaired data (CASSANDRA-13570)
 + * NPE in IR cleanup when columnfamily has no sstables (CASSANDRA-13585)
 + * Fix Randomness of stress values (CASSANDRA-12744)
 + * Allow selecting Map values and Set elements (CASSANDRA-7396)
 + * Fast and garbage-free Streaming Histogram (CASSANDRA-13444)
 + * Update repairTime for keyspaces on completion (CASSANDRA-13539)
 + * Add configurable upper bound for validation executor threads 
(CASSANDRA-13521)
 + * Bring back maxHintTTL propery (CASSANDRA-12982)
 + * Add testing guidelines (CASSANDRA-13497)
 + * Add more repair metrics (CASSANDRA-13531)
 + * RangeStreamer should be smarter when 

[1/3] cassandra git commit: BTree.Builder memory leak

2017-09-01 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.11 cd3aca036 -> bed7fa5ef
  refs/heads/trunk fb0e0019e -> e5f3bb6e5


BTree.Builder memory leak

patch by Robert Stupp; reviewed by Jeremiah Jordan for CASSANDRA-13754


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

Branch: refs/heads/cassandra-3.11
Commit: bed7fa5ef8492d1ff3852cf299622a5ad4e0b621
Parents: cd3aca0
Author: Robert Stupp 
Authored: Fri Sep 1 19:11:32 2017 +0200
Committer: Robert Stupp 
Committed: Fri Sep 1 19:12:01 2017 +0200

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/utils/btree/BTree.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bed7fa5e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e5ccf45..c4a3170 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.1
+ * BTree.Builder memory leak (CASSANDRA-13754)
  * Revert CASSANDRA-10368 of supporting non-pk column filtering due to 
correctness (CASSANDRA-13798)
  * Fix cassandra-stress hang issues when an error during cluster connection 
happens (CASSANDRA-12938)
  * Better bootstrap failure message when blocked by (potential) range movement 
(CASSANDRA-13744)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bed7fa5e/src/java/org/apache/cassandra/utils/btree/BTree.java
--
diff --git a/src/java/org/apache/cassandra/utils/btree/BTree.java 
b/src/java/org/apache/cassandra/utils/btree/BTree.java
index 1a5d9ae..a4519b9 100644
--- a/src/java/org/apache/cassandra/utils/btree/BTree.java
+++ b/src/java/org/apache/cassandra/utils/btree/BTree.java
@@ -866,7 +866,7 @@ public class BTree
 private void cleanup()
 {
 quickResolver = null;
-Arrays.fill(values, 0, count, null);
+Arrays.fill(values, null);
 count = 0;
 detected = true;
 auto = true;


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[2/3] cassandra git commit: BTree.Builder memory leak

2017-09-01 Thread snazy
BTree.Builder memory leak

patch by Robert Stupp; reviewed by Jeremiah Jordan for CASSANDRA-13754


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

Branch: refs/heads/trunk
Commit: bed7fa5ef8492d1ff3852cf299622a5ad4e0b621
Parents: cd3aca0
Author: Robert Stupp 
Authored: Fri Sep 1 19:11:32 2017 +0200
Committer: Robert Stupp 
Committed: Fri Sep 1 19:12:01 2017 +0200

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/utils/btree/BTree.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bed7fa5e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e5ccf45..c4a3170 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.1
+ * BTree.Builder memory leak (CASSANDRA-13754)
  * Revert CASSANDRA-10368 of supporting non-pk column filtering due to 
correctness (CASSANDRA-13798)
  * Fix cassandra-stress hang issues when an error during cluster connection 
happens (CASSANDRA-12938)
  * Better bootstrap failure message when blocked by (potential) range movement 
(CASSANDRA-13744)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bed7fa5e/src/java/org/apache/cassandra/utils/btree/BTree.java
--
diff --git a/src/java/org/apache/cassandra/utils/btree/BTree.java 
b/src/java/org/apache/cassandra/utils/btree/BTree.java
index 1a5d9ae..a4519b9 100644
--- a/src/java/org/apache/cassandra/utils/btree/BTree.java
+++ b/src/java/org/apache/cassandra/utils/btree/BTree.java
@@ -866,7 +866,7 @@ public class BTree
 private void cleanup()
 {
 quickResolver = null;
-Arrays.fill(values, 0, count, null);
+Arrays.fill(values, null);
 count = 0;
 detected = true;
 auto = true;


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[2/3] cassandra git commit: Properly evict pstmts from prepared statements cache

2017-06-28 Thread snazy
Properly evict pstmts from prepared statements cache

patch by Robert Stupp; reviewed by Benjamin Lerer for CASSANDRA-13641


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

Branch: refs/heads/trunk
Commit: 9562b9b69e08b84ec1e8e431a846548fa8a83b44
Parents: bb7e522
Author: Robert Stupp 
Authored: Wed Jun 28 21:15:03 2017 +0200
Committer: Robert Stupp 
Committed: Wed Jun 28 21:15:03 2017 +0200

--
 CHANGES.txt |   1 +
 .../apache/cassandra/cql3/QueryProcessor.java   |   9 +-
 .../org/apache/cassandra/db/SystemKeyspace.java |   6 ++
 test/conf/cassandra.yaml|   1 +
 .../cassandra/cql3/PstmtPersistenceTest.java| 108 ++-
 5 files changed, 100 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9562b9b6/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4297a15..88aa1ef 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.1
+ * Properly evict pstmts from prepared statements cache (CASSANDRA-13641)
 Merged from 3.0:
  * Fix secondary index queries on COMPACT tables (CASSANDRA-13627)
  * Nodetool listsnapshots output is missing a newline, if there are no 
snapshots (CASSANDRA-13568)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9562b9b6/src/java/org/apache/cassandra/cql3/QueryProcessor.java
--
diff --git a/src/java/org/apache/cassandra/cql3/QueryProcessor.java 
b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
index f5ce7e4..0e0ba3c 100644
--- a/src/java/org/apache/cassandra/cql3/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
@@ -88,6 +88,7 @@ public class QueryProcessor implements QueryHandler
  .listener((md5Digest, prepared) -> {
  metrics.preparedStatementsEvicted.inc();
  lastMinuteEvictionsCount.incrementAndGet();
+ 
SystemKeyspace.removePreparedStatement(md5Digest);
  }).build();
 
 thriftPreparedStatements = new 
ConcurrentLinkedHashMap.Builder()
@@ -162,11 +163,17 @@ public class QueryProcessor implements QueryHandler
 logger.info("Preloaded {} prepared statements", count);
 }
 
+/**
+ * Clears the prepared statement cache.
+ * @param memoryOnly {@code true} if only the in memory caches must be 
cleared, {@code false} otherwise.
+ */
 @VisibleForTesting
-public static void clearPrepraredStatements()
+public static void clearPreparedStatements(boolean memoryOnly)
 {
 preparedStatements.clear();
 thriftPreparedStatements.clear();
+if (!memoryOnly)
+SystemKeyspace.resetPreparedStatements();
 }
 
 private static QueryState internalQueryState()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9562b9b6/src/java/org/apache/cassandra/db/SystemKeyspace.java
--
diff --git a/src/java/org/apache/cassandra/db/SystemKeyspace.java 
b/src/java/org/apache/cassandra/db/SystemKeyspace.java
index 82c9752..6c45329 100644
--- a/src/java/org/apache/cassandra/db/SystemKeyspace.java
+++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java
@@ -1488,6 +1488,12 @@ public final class SystemKeyspace
 key.byteBuffer());
 }
 
+public static void resetPreparedStatements()
+{
+ColumnFamilyStore availableRanges = 
Keyspace.open(SchemaConstants.SYSTEM_KEYSPACE_NAME).getColumnFamilyStore(PREPARED_STATEMENTS);
+availableRanges.truncateBlocking();
+}
+
 public static List> loadPreparedStatements()
 {
 String query = String.format("SELECT logged_keyspace, query_string 
FROM %s.%s", SchemaConstants.SYSTEM_KEYSPACE_NAME, PREPARED_STATEMENTS);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9562b9b6/test/conf/cassandra.yaml
--
diff --git a/test/conf/cassandra.yaml b/test/conf/cassandra.yaml
index cf02634..96ca9a0 100644
--- a/test/conf/cassandra.yaml
+++ b/test/conf/cassandra.yaml
@@ -44,3 +44,4 @@ row_cache_class_name: org.apache.cassandra.cache.OHCProvider
 row_cache_size_in_mb: 16
 enable_user_defined_functions: true
 enable_scripted_user_defined_functions: true
+prepared_statements_cache_size_mb: 1


[1/3] cassandra git commit: Properly evict pstmts from prepared statements cache

2017-06-28 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.11 bb7e522b4 -> 9562b9b69
  refs/heads/trunk 26e025804 -> 9c6f87c35


Properly evict pstmts from prepared statements cache

patch by Robert Stupp; reviewed by Benjamin Lerer for CASSANDRA-13641


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

Branch: refs/heads/cassandra-3.11
Commit: 9562b9b69e08b84ec1e8e431a846548fa8a83b44
Parents: bb7e522
Author: Robert Stupp 
Authored: Wed Jun 28 21:15:03 2017 +0200
Committer: Robert Stupp 
Committed: Wed Jun 28 21:15:03 2017 +0200

--
 CHANGES.txt |   1 +
 .../apache/cassandra/cql3/QueryProcessor.java   |   9 +-
 .../org/apache/cassandra/db/SystemKeyspace.java |   6 ++
 test/conf/cassandra.yaml|   1 +
 .../cassandra/cql3/PstmtPersistenceTest.java| 108 ++-
 5 files changed, 100 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9562b9b6/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4297a15..88aa1ef 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.1
+ * Properly evict pstmts from prepared statements cache (CASSANDRA-13641)
 Merged from 3.0:
  * Fix secondary index queries on COMPACT tables (CASSANDRA-13627)
  * Nodetool listsnapshots output is missing a newline, if there are no 
snapshots (CASSANDRA-13568)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9562b9b6/src/java/org/apache/cassandra/cql3/QueryProcessor.java
--
diff --git a/src/java/org/apache/cassandra/cql3/QueryProcessor.java 
b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
index f5ce7e4..0e0ba3c 100644
--- a/src/java/org/apache/cassandra/cql3/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
@@ -88,6 +88,7 @@ public class QueryProcessor implements QueryHandler
  .listener((md5Digest, prepared) -> {
  metrics.preparedStatementsEvicted.inc();
  lastMinuteEvictionsCount.incrementAndGet();
+ 
SystemKeyspace.removePreparedStatement(md5Digest);
  }).build();
 
 thriftPreparedStatements = new 
ConcurrentLinkedHashMap.Builder()
@@ -162,11 +163,17 @@ public class QueryProcessor implements QueryHandler
 logger.info("Preloaded {} prepared statements", count);
 }
 
+/**
+ * Clears the prepared statement cache.
+ * @param memoryOnly {@code true} if only the in memory caches must be 
cleared, {@code false} otherwise.
+ */
 @VisibleForTesting
-public static void clearPrepraredStatements()
+public static void clearPreparedStatements(boolean memoryOnly)
 {
 preparedStatements.clear();
 thriftPreparedStatements.clear();
+if (!memoryOnly)
+SystemKeyspace.resetPreparedStatements();
 }
 
 private static QueryState internalQueryState()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9562b9b6/src/java/org/apache/cassandra/db/SystemKeyspace.java
--
diff --git a/src/java/org/apache/cassandra/db/SystemKeyspace.java 
b/src/java/org/apache/cassandra/db/SystemKeyspace.java
index 82c9752..6c45329 100644
--- a/src/java/org/apache/cassandra/db/SystemKeyspace.java
+++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java
@@ -1488,6 +1488,12 @@ public final class SystemKeyspace
 key.byteBuffer());
 }
 
+public static void resetPreparedStatements()
+{
+ColumnFamilyStore availableRanges = 
Keyspace.open(SchemaConstants.SYSTEM_KEYSPACE_NAME).getColumnFamilyStore(PREPARED_STATEMENTS);
+availableRanges.truncateBlocking();
+}
+
 public static List> loadPreparedStatements()
 {
 String query = String.format("SELECT logged_keyspace, query_string 
FROM %s.%s", SchemaConstants.SYSTEM_KEYSPACE_NAME, PREPARED_STATEMENTS);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9562b9b6/test/conf/cassandra.yaml
--
diff --git a/test/conf/cassandra.yaml b/test/conf/cassandra.yaml
index cf02634..96ca9a0 100644
--- a/test/conf/cassandra.yaml
+++ b/test/conf/cassandra.yaml
@@ -44,3 +44,4 @@ row_cache_class_name: org.apache.cassandra.cache.OHCProvider
 row_cache_size_in_mb: 

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

2017-06-28 Thread snazy
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/9c6f87c3
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9c6f87c3
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9c6f87c3

Branch: refs/heads/trunk
Commit: 9c6f87c35f364ec6a88775cb3d0cf143e36635e7
Parents: 26e0258 9562b9b
Author: Robert Stupp 
Authored: Wed Jun 28 21:17:06 2017 +0200
Committer: Robert Stupp 
Committed: Wed Jun 28 21:17:06 2017 +0200

--
 CHANGES.txt |   1 +
 .../apache/cassandra/cql3/QueryProcessor.java   |  20 +++-
 .../org/apache/cassandra/db/SystemKeyspace.java |   6 +
 test/conf/cassandra.yaml|   1 +
 .../cassandra/cql3/PstmtPersistenceTest.java| 110 ++-
 5 files changed, 107 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9c6f87c3/CHANGES.txt
--
diff --cc CHANGES.txt
index 04640ab,88aa1ef..6ffd11a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,90 -1,8 +1,91 @@@
 +4.0
 + * Improve secondary index (re)build failure and concurrency handling 
(CASSANDRA-10130)
 + * Improve calculation of available disk space for compaction 
(CASSANDRA-13068)
 + * Change the accessibility of RowCacheSerializer for third party row cache 
plugins (CASSANDRA-13579)
 + * Allow sub-range repairs for a preview of repaired data (CASSANDRA-13570)
 + * NPE in IR cleanup when columnfamily has no sstables (CASSANDRA-13585)
 + * Fix Randomness of stress values (CASSANDRA-12744)
 + * Allow selecting Map values and Set elements (CASSANDRA-7396)
 + * Fast and garbage-free Streaming Histogram (CASSANDRA-13444)
 + * Update repairTime for keyspaces on completion (CASSANDRA-13539)
 + * Add configurable upper bound for validation executor threads 
(CASSANDRA-13521)
 + * Bring back maxHintTTL propery (CASSANDRA-12982)
 + * Add testing guidelines (CASSANDRA-13497)
 + * Add more repair metrics (CASSANDRA-13531)
 + * RangeStreamer should be smarter when picking endpoints for streaming 
(CASSANDRA-4650)
 + * Avoid rewrapping an exception thrown for cache load functions 
(CASSANDRA-13367)
 + * Log time elapsed for each incremental repair phase (CASSANDRA-13498)
 + * Add multiple table operation support to cassandra-stress (CASSANDRA-8780)
 + * Fix incorrect cqlsh results when selecting same columns multiple times 
(CASSANDRA-13262)
 + * Fix WriteResponseHandlerTest is sensitive to test execution order 
(CASSANDRA-13421)
 + * Improve incremental repair logging (CASSANDRA-13468)
 + * Start compaction when incremental repair finishes (CASSANDRA-13454)
 + * Add repair streaming preview (CASSANDRA-13257)
 + * Cleanup isIncremental/repairedAt usage (CASSANDRA-13430)
 + * Change protocol to allow sending key space independent of query string 
(CASSANDRA-10145)
 + * Make gc_log and gc_warn settable at runtime (CASSANDRA-12661)
 + * Take number of files in L0 in account when estimating remaining compaction 
tasks (CASSANDRA-13354)
 + * Skip building views during base table streams on range movements 
(CASSANDRA-13065)
 + * Improve error messages for +/- operations on maps and tuples 
(CASSANDRA-13197)
 + * Remove deprecated repair JMX APIs (CASSANDRA-11530)
 + * Fix version check to enable streaming keep-alive (CASSANDRA-12929)
 + * Make it possible to monitor an ideal consistency level separate from 
actual consistency level (CASSANDRA-13289)
 + * Outbound TCP connections ignore internode authenticator (CASSANDRA-13324)
 + * Upgrade junit from 4.6 to 4.12 (CASSANDRA-13360)
 + * Cleanup ParentRepairSession after repairs (CASSANDRA-13359)
 + * Upgrade snappy-java to 1.1.2.6 (CASSANDRA-13336)
 + * Incremental repair not streaming correct sstables (CASSANDRA-13328)
 + * Upgrade the jna version to 4.3.0 (CASSANDRA-13300)
 + * Add the currentTimestamp, currentDate, currentTime and currentTimeUUID 
functions (CASSANDRA-13132)
 + * Remove config option index_interval (CASSANDRA-10671)
 + * Reduce lock contention for collection types and serializers 
(CASSANDRA-13271)
 + * Make it possible to override MessagingService.Verb ids (CASSANDRA-13283)
 + * Avoid synchronized on prepareForRepair in ActiveRepairService 
(CASSANDRA-9292)
 + * Adds the ability to use uncompressed chunks in compressed files 
(CASSANDRA-10520)
 + * Don't flush sstables when streaming for incremental repair 
(CASSANDRA-13226)
 + * Remove unused method (CASSANDRA-13227)
 + * Fix minor bugs related to #9143 (CASSANDRA-13217)
 + * Output warning if user increases RF (CASSANDRA-13079)
 + * Remove pre-3.0 streaming compatibility code for 4.0 (CASSANDRA-13081)
 + * Add support for + and - operations on dates (CASSANDRA-11936)
 + * Fix 

[2/6] cassandra git commit: UDA fails without input rows

2017-05-02 Thread snazy
UDA fails without input rows

patch by Robert Stupp; reviewed by Benjamin Lerer for CASSANDRA-13399


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

Branch: refs/heads/cassandra-3.11
Commit: b77e754a0cbaa9225d100a4361c3893c2d481611
Parents: 6c840c0
Author: Robert Stupp 
Authored: Tue May 2 16:12:10 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:12:10 2017 -0700

--
 .../validation/operations/AggregationTest.java  | 46 
 1 file changed, 46 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b77e754a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
index 485a19b..b5db77e 100644
--- 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
+++ 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
@@ -25,6 +25,7 @@ import java.nio.ByteBuffer;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Calendar;
+import java.util.Collections;
 import java.util.Date;
 import java.util.Locale;
 import java.util.TimeZone;
@@ -929,6 +930,51 @@ public class AggregationTest extends CQLTester
 }
 
 @Test
+public void testJavaAggregateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b int)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(a int, b int) " +
+   "CALLED ON NULL INPUT " +
+   "RETURNS int " +
+   "LANGUAGE java " +
+   "AS 'return 
Integer.valueOf((a!=null?a.intValue():0) + b.intValue());'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(int) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE int");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), row(new 
Object[]{null}));
+}
+
+@Test
+public void testJavaAggregateStateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b uuid)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(state map, type uuid) " +
+   "RETURNS NULL ON NULL INPUT " +
+   "RETURNS map " +
+   "LANGUAGE java " +
+   "AS 'return state;'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(uuid) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE map " +
+   "INITCOND {}");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), 
row(Collections.emptyMap()));
+}
+
+@Test
 public void testJavaAggregateComplex() throws Throwable
 {
 createTable("CREATE TABLE %s (a int primary key, b int)");


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[3/6] cassandra git commit: UDA fails without input rows

2017-05-02 Thread snazy
UDA fails without input rows

patch by Robert Stupp; reviewed by Benjamin Lerer for CASSANDRA-13399


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

Branch: refs/heads/trunk
Commit: b77e754a0cbaa9225d100a4361c3893c2d481611
Parents: 6c840c0
Author: Robert Stupp 
Authored: Tue May 2 16:12:10 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:12:10 2017 -0700

--
 .../validation/operations/AggregationTest.java  | 46 
 1 file changed, 46 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b77e754a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
index 485a19b..b5db77e 100644
--- 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
+++ 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
@@ -25,6 +25,7 @@ import java.nio.ByteBuffer;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Calendar;
+import java.util.Collections;
 import java.util.Date;
 import java.util.Locale;
 import java.util.TimeZone;
@@ -929,6 +930,51 @@ public class AggregationTest extends CQLTester
 }
 
 @Test
+public void testJavaAggregateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b int)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(a int, b int) " +
+   "CALLED ON NULL INPUT " +
+   "RETURNS int " +
+   "LANGUAGE java " +
+   "AS 'return 
Integer.valueOf((a!=null?a.intValue():0) + b.intValue());'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(int) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE int");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), row(new 
Object[]{null}));
+}
+
+@Test
+public void testJavaAggregateStateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b uuid)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(state map, type uuid) " +
+   "RETURNS NULL ON NULL INPUT " +
+   "RETURNS map " +
+   "LANGUAGE java " +
+   "AS 'return state;'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(uuid) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE map " +
+   "INITCOND {}");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), 
row(Collections.emptyMap()));
+}
+
+@Test
 public void testJavaAggregateComplex() throws Throwable
 {
 createTable("CREATE TABLE %s (a int primary key, b int)");


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[1/6] cassandra git commit: UDA fails without input rows

2017-05-02 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 6c840c0cd -> b77e754a0
  refs/heads/cassandra-3.11 ca034eacf -> 388c961e4
  refs/heads/trunk d4933a019 -> 675829564


UDA fails without input rows

patch by Robert Stupp; reviewed by Benjamin Lerer for CASSANDRA-13399


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

Branch: refs/heads/cassandra-3.0
Commit: b77e754a0cbaa9225d100a4361c3893c2d481611
Parents: 6c840c0
Author: Robert Stupp 
Authored: Tue May 2 16:12:10 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:12:10 2017 -0700

--
 .../validation/operations/AggregationTest.java  | 46 
 1 file changed, 46 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b77e754a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
index 485a19b..b5db77e 100644
--- 
a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
+++ 
b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
@@ -25,6 +25,7 @@ import java.nio.ByteBuffer;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Calendar;
+import java.util.Collections;
 import java.util.Date;
 import java.util.Locale;
 import java.util.TimeZone;
@@ -929,6 +930,51 @@ public class AggregationTest extends CQLTester
 }
 
 @Test
+public void testJavaAggregateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b int)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(a int, b int) " +
+   "CALLED ON NULL INPUT " +
+   "RETURNS int " +
+   "LANGUAGE java " +
+   "AS 'return 
Integer.valueOf((a!=null?a.intValue():0) + b.intValue());'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(int) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE int");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), row(new 
Object[]{null}));
+}
+
+@Test
+public void testJavaAggregateStateEmpty() throws Throwable
+{
+createTable("CREATE TABLE %s (a int primary key, b uuid)");
+
+String fState = createFunction(KEYSPACE,
+   "int, int",
+   "CREATE FUNCTION %s(state map, type uuid) " +
+   "RETURNS NULL ON NULL INPUT " +
+   "RETURNS map " +
+   "LANGUAGE java " +
+   "AS 'return state;'");
+
+String a = createAggregate(KEYSPACE,
+   "int, int",
+   "CREATE AGGREGATE %s(uuid) " +
+   "SFUNC " + shortFunctionName(fState) + " " +
+   "STYPE map " +
+   "INITCOND {}");
+
+assertRows(execute("SELECT " + a + "(b) FROM %s"), 
row(Collections.emptyMap()));
+}
+
+@Test
 public void testJavaAggregateComplex() throws Throwable
 {
 createTable("CREATE TABLE %s (a int primary key, b int)");


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



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

2017-05-02 Thread snazy
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/388c961e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/388c961e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/388c961e

Branch: refs/heads/cassandra-3.11
Commit: 388c961e4bb8f0a414c6aa700c67cd76eaf01046
Parents: ca034ea b77e754
Author: Robert Stupp 
Authored: Tue May 2 16:12:45 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:12:45 2017 -0700

--
 CHANGES.txt |  1 +
 .../cassandra/cql3/functions/UDAggregate.java   | 21 +
 .../validation/operations/AggregationTest.java  | 46 
 3 files changed, 60 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/388c961e/CHANGES.txt
--
diff --cc CHANGES.txt
index 1690e31,19cd39c..3844bfa
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,33 -1,4 +1,34 @@@
 -3.0.14
 +3.11.0
++ * UDA fails without input rows (CASSANDRA-13399)
 + * Fix compaction-stress by using daemonInitialization (CASSANDRA-13188)
 + * V5 protocol flags decoding broken (CASSANDRA-13443)
 + * Use write lock not read lock for removing sstables from compaction 
strategies. (CASSANDRA-13422)
 + * Use corePoolSize equal to maxPoolSize in JMXEnabledThreadPoolExecutors 
(CASSANDRA-13329)
 + * Avoid rebuilding SASI indexes containing no values (CASSANDRA-12962)
 + * Add charset to Analyser input stream (CASSANDRA-13151)
 + * 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)
 + * Delete illegal character from StandardTokenizerImpl.jflex (CASSANDRA-13417)
 + * Fix cqlsh automatic protocol downgrade regression (CASSANDRA-13307)
 + * Tracing payload not passed from QueryMessage to tracing session 
(CASSANDRA-12835)
 +Merged from 3.0:
   * Fail repair if insufficient responses received (CASSANDRA-13397)
   * Fix SSTableLoader fail when the loaded table contains dropped columns 
(CASSANDRA-13276)
   * Avoid name clashes in CassandraIndexTest (CASSANDRA-13427)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/388c961e/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
--
diff --cc src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
index 87c955f,96e19de..1a3174c
--- a/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
+++ b/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
@@@ -156,21 -150,18 +156,15 @@@ public class UDAggregate extends Abstra
  private long stateFunctionCount;
  private long stateFunctionDuration;
  
 -private ByteBuffer state;
 -{
 -reset();
 -}
 +private Object state;
 +private boolean needsInit = true;
  
 -public void addInput(int protocolVersion, List 
values) throws InvalidRequestException
 +public void addInput(ProtocolVersion protocolVersion, 
List values) throws InvalidRequestException
  {
- if (needsInit)
- {
- state = initcond != null ? 
UDHelper.deserialize(stateTypeCodec, protocolVersion, initcond.duplicate()) : 
null;
- stateFunctionDuration = 0;
- stateFunctionCount = 0;
- needsInit = false;
-   

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

2017-05-02 Thread snazy
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/67582956
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67582956
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67582956

Branch: refs/heads/trunk
Commit: 6758295648d21cabf2e4f1f4f9f244bf8bd4a8c2
Parents: d4933a0 388c961
Author: Robert Stupp 
Authored: Tue May 2 16:13:09 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:13:09 2017 -0700

--
 CHANGES.txt |  1 +
 .../cassandra/cql3/functions/UDAggregate.java   | 21 +
 .../validation/operations/AggregationTest.java  | 46 
 3 files changed, 60 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/67582956/CHANGES.txt
--
diff --cc CHANGES.txt
index 79ecb99,3844bfa..77edb25
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,66 -1,5 +1,67 @@@
 +4.0
 + * Fix WriteResponseHandlerTest is sensitive to test execution order 
(CASSANDRA-13421)
 + * Improve incremental repair logging (CASSANDRA-13468)
 + * Start compaction when incremental repair finishes (CASSANDRA-13454)
 + * Add repair streaming preview (CASSANDRA-13257)
 + * Cleanup isIncremental/repairedAt usage (CASSANDRA-13430)
 + * Change protocol to allow sending key space independent of query string 
(CASSANDRA-10145)
 + * Make gc_log and gc_warn settable at runtime (CASSANDRA-12661)
 + * Take number of files in L0 in account when estimating remaining compaction 
tasks (CASSANDRA-13354)
 + * Skip building views during base table streams on range movements 
(CASSANDRA-13065)
 + * Improve error messages for +/- operations on maps and tuples 
(CASSANDRA-13197)
 + * Remove deprecated repair JMX APIs (CASSANDRA-11530)
 + * Fix version check to enable streaming keep-alive (CASSANDRA-12929)
 + * Make it possible to monitor an ideal consistency level separate from 
actual consistency level (CASSANDRA-13289)
 + * Outbound TCP connections ignore internode authenticator (CASSANDRA-13324)
 + * Upgrade junit from 4.6 to 4.12 (CASSANDRA-13360)
 + * Cleanup ParentRepairSession after repairs (CASSANDRA-13359)
 + * Incremental repair not streaming correct sstables (CASSANDRA-13328)
 + * Upgrade the jna version to 4.3.0 (CASSANDRA-13300)
 + * Add the currentTimestamp, currentDate, currentTime and currentTimeUUID 
functions (CASSANDRA-13132)
 + * Remove config option index_interval (CASSANDRA-10671)
 + * Reduce lock contention for collection types and serializers 
(CASSANDRA-13271)
 + * Make it possible to override MessagingService.Verb ids (CASSANDRA-13283)
 + * Avoid synchronized on prepareForRepair in ActiveRepairService 
(CASSANDRA-9292)
 + * Adds the ability to use uncompressed chunks in compressed files 
(CASSANDRA-10520)
 + * Don't flush sstables when streaming for incremental repair 
(CASSANDRA-13226)
 + * Remove unused method (CASSANDRA-13227)
 + * Fix minor bugs related to #9143 (CASSANDRA-13217)
 + * Output warning if user increases RF (CASSANDRA-13079)
 + * Remove pre-3.0 streaming compatibility code for 4.0 (CASSANDRA-13081)
 + * Add support for + and - operations on dates (CASSANDRA-11936)
 + * Fix consistency of incrementally repaired data (CASSANDRA-9143)
 + * Increase commitlog version (CASSANDRA-13161)
 + * Make TableMetadata immutable, optimize Schema (CASSANDRA-9425)
 + * Refactor ColumnCondition (CASSANDRA-12981)
 + * Parallelize streaming of different keyspaces (CASSANDRA-4663)
 + * Improved compactions metrics (CASSANDRA-13015)
 + * Speed-up start-up sequence by avoiding un-needed flushes (CASSANDRA-13031)
 + * Use Caffeine (W-TinyLFU) for on-heap caches (CASSANDRA-10855)
 + * Thrift removal (CASSANDRA-5)
 + * Remove pre-3.0 compatibility code for 4.0 (CASSANDRA-12716)
 + * Add column definition kind to dropped columns in schema (CASSANDRA-12705)
 + * Add (automate) Nodetool Documentation (CASSANDRA-12672)
 + * Update bundled cqlsh python driver to 3.7.0 (CASSANDRA-12736)
 + * Reject invalid replication settings when creating or altering a keyspace 
(CASSANDRA-12681)
 + * Clean up the SSTableReader#getScanner API wrt removal of RateLimiter 
(CASSANDRA-12422)
 + * Use new token allocation for non bootstrap case as well (CASSANDRA-13080)
 + * Avoid byte-array copy when key cache is disabled (CASSANDRA-13084)
 + * Require forceful decommission if number of nodes is less than replication 
factor (CASSANDRA-12510)
 + * Allow IN restrictions on column families with collections (CASSANDRA-12654)
 + * Log message size in trace message in OutboundTcpConnection 
(CASSANDRA-13028)
 + * Add timeUnit Days for cassandra-stress (CASSANDRA-13029)
 + * Add mutation size and batch metrics 

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

2017-05-02 Thread snazy
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/388c961e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/388c961e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/388c961e

Branch: refs/heads/trunk
Commit: 388c961e4bb8f0a414c6aa700c67cd76eaf01046
Parents: ca034ea b77e754
Author: Robert Stupp 
Authored: Tue May 2 16:12:45 2017 -0700
Committer: Robert Stupp 
Committed: Tue May 2 16:12:45 2017 -0700

--
 CHANGES.txt |  1 +
 .../cassandra/cql3/functions/UDAggregate.java   | 21 +
 .../validation/operations/AggregationTest.java  | 46 
 3 files changed, 60 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/388c961e/CHANGES.txt
--
diff --cc CHANGES.txt
index 1690e31,19cd39c..3844bfa
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,33 -1,4 +1,34 @@@
 -3.0.14
 +3.11.0
++ * UDA fails without input rows (CASSANDRA-13399)
 + * Fix compaction-stress by using daemonInitialization (CASSANDRA-13188)
 + * V5 protocol flags decoding broken (CASSANDRA-13443)
 + * Use write lock not read lock for removing sstables from compaction 
strategies. (CASSANDRA-13422)
 + * Use corePoolSize equal to maxPoolSize in JMXEnabledThreadPoolExecutors 
(CASSANDRA-13329)
 + * Avoid rebuilding SASI indexes containing no values (CASSANDRA-12962)
 + * Add charset to Analyser input stream (CASSANDRA-13151)
 + * 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)
 + * Delete illegal character from StandardTokenizerImpl.jflex (CASSANDRA-13417)
 + * Fix cqlsh automatic protocol downgrade regression (CASSANDRA-13307)
 + * Tracing payload not passed from QueryMessage to tracing session 
(CASSANDRA-12835)
 +Merged from 3.0:
   * Fail repair if insufficient responses received (CASSANDRA-13397)
   * Fix SSTableLoader fail when the loaded table contains dropped columns 
(CASSANDRA-13276)
   * Avoid name clashes in CassandraIndexTest (CASSANDRA-13427)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/388c961e/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
--
diff --cc src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
index 87c955f,96e19de..1a3174c
--- a/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
+++ b/src/java/org/apache/cassandra/cql3/functions/UDAggregate.java
@@@ -156,21 -150,18 +156,15 @@@ public class UDAggregate extends Abstra
  private long stateFunctionCount;
  private long stateFunctionDuration;
  
 -private ByteBuffer state;
 -{
 -reset();
 -}
 +private Object state;
 +private boolean needsInit = true;
  
 -public void addInput(int protocolVersion, List 
values) throws InvalidRequestException
 +public void addInput(ProtocolVersion protocolVersion, 
List values) throws InvalidRequestException
  {
- if (needsInit)
- {
- state = initcond != null ? 
UDHelper.deserialize(stateTypeCodec, protocolVersion, initcond.duplicate()) : 
null;
- stateFunctionDuration = 0;
- stateFunctionCount = 0;
- needsInit = false;
-

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

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

Branch: refs/heads/trunk
Commit: 7da45312aa7a26070d32ca3d153d86f1ea202a19
Parents: 1f53326 0a438d5
Author: Robert Stupp 
Authored: Thu Apr 13 11:06:37 2017 +0200
Committer: Robert Stupp 
Committed: Thu Apr 13 11:06:37 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7da45312/CHANGES.txt
--
diff --cc CHANGES.txt
index dd33fcf,5516bbd..dae275f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,60 -1,5 +1,61 @@@
 +4.0
 + * Change protocol to allow sending key space independent of query string 
(CASSANDRA-10145)
 + * Make gc_log and gc_warn settable at runtime (CASSANDRA-12661)
 + * Take number of files in L0 in account when estimating remaining compaction 
tasks (CASSANDRA-13354)
 + * Skip building views during base table streams on range movements 
(CASSANDRA-13065)
 + * Improve error messages for +/- operations on maps and tuples 
(CASSANDRA-13197)
 + * Remove deprecated repair JMX APIs (CASSANDRA-11530)
 + * Fix version check to enable streaming keep-alive (CASSANDRA-12929)
 + * Make it possible to monitor an ideal consistency level separate from 
actual consistency level (CASSANDRA-13289)
 + * Outbound TCP connections ignore internode authenticator (CASSANDRA-13324)
 + * Upgrade junit from 4.6 to 4.12 (CASSANDRA-13360)
 + * Cleanup ParentRepairSession after repairs (CASSANDRA-13359)
 + * Incremental repair not streaming correct sstables (CASSANDRA-13328)
 + * Upgrade the jna version to 4.3.0 (CASSANDRA-13300)
 + * Add the currentTimestamp, currentDate, currentTime and currentTimeUUID 
functions (CASSANDRA-13132)
 + * Remove config option index_interval (CASSANDRA-10671)
 + * Reduce lock contention for collection types and serializers 
(CASSANDRA-13271)
 + * Make it possible to override MessagingService.Verb ids (CASSANDRA-13283)
 + * Avoid synchronized on prepareForRepair in ActiveRepairService 
(CASSANDRA-9292)
 + * Adds the ability to use uncompressed chunks in compressed files 
(CASSANDRA-10520)
 + * Don't flush sstables when streaming for incremental repair 
(CASSANDRA-13226)
 + * Remove unused method (CASSANDRA-13227)
 + * Fix minor bugs related to #9143 (CASSANDRA-13217)
 + * Output warning if user increases RF (CASSANDRA-13079)
 + * Remove pre-3.0 streaming compatibility code for 4.0 (CASSANDRA-13081)
 + * Add support for + and - operations on dates (CASSANDRA-11936)
 + * Fix consistency of incrementally repaired data (CASSANDRA-9143)
 + * Increase commitlog version (CASSANDRA-13161)
 + * Make TableMetadata immutable, optimize Schema (CASSANDRA-9425)
 + * Refactor ColumnCondition (CASSANDRA-12981)
 + * Parallelize streaming of different keyspaces (CASSANDRA-4663)
 + * Improved compactions metrics (CASSANDRA-13015)
 + * Speed-up start-up sequence by avoiding un-needed flushes (CASSANDRA-13031)
 + * Use Caffeine (W-TinyLFU) for on-heap caches (CASSANDRA-10855)
 + * Thrift removal (CASSANDRA-5)
 + * Remove pre-3.0 compatibility code for 4.0 (CASSANDRA-12716)
 + * Add column definition kind to dropped columns in schema (CASSANDRA-12705)
 + * Add (automate) Nodetool Documentation (CASSANDRA-12672)
 + * Update bundled cqlsh python driver to 3.7.0 (CASSANDRA-12736)
 + * Reject invalid replication settings when creating or altering a keyspace 
(CASSANDRA-12681)
 + * Clean up the SSTableReader#getScanner API wrt removal of RateLimiter 
(CASSANDRA-12422)
 + * Use new token allocation for non bootstrap case as well (CASSANDRA-13080)
 + * Avoid byte-array copy when key cache is disabled (CASSANDRA-13084)
 + * Require forceful decommission if number of nodes is less than replication 
factor (CASSANDRA-12510)
 + * Allow IN restrictions on column families with collections (CASSANDRA-12654)
 + * Log message size in trace message in OutboundTcpConnection 
(CASSANDRA-13028)
 + * Add timeUnit Days for cassandra-stress (CASSANDRA-13029)
 + * Add mutation size and batch metrics (CASSANDRA-12649)
 + * Add method to get size of endpoints to TokenMetadata (CASSANDRA-12999)
 + * Expose time spent waiting in thread pool queue (CASSANDRA-8398)
 + * Conditionally update index built status to avoid unnecessary flushes 
(CASSANDRA-12969)
 + * cqlsh auto completion: refactor definition of compaction strategy options 
(CASSANDRA-12946)
 + * Add support for arithmetic operators (CASSANDRA-11935)
 + 

[1/3] cassandra git commit: V5 protocol flags decoding broken

2017-04-13 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.11 fe8e21109 -> 0a438d59e
  refs/heads/trunk 1f533260a -> 7da45312a


V5 protocol flags decoding broken

patch by Robert Stupp; reviewed by Stefania for CASSANDRA-13443


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

Branch: refs/heads/cassandra-3.11
Commit: 0a438d59e65ee79bca7ffc44b8b958e62448e5c3
Parents: fe8e211
Author: Robert Stupp 
Authored: Thu Apr 13 11:06:29 2017 +0200
Committer: Robert Stupp 
Committed: Thu Apr 13 11:06:29 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a438d59/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 7998e10..5516bbd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.0
+ * V5 protocol flags decoding broken (CASSANDRA-13443)
  * Use write lock not read lock for removing sstables from compaction 
strategies. (CASSANDRA-13422)
  * Use corePoolSize equal to maxPoolSize in JMXEnabledThreadPoolExecutors 
(CASSANDRA-13329)
  * Avoid rebuilding SASI indexes containing no values (CASSANDRA-12962)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a438d59/src/java/org/apache/cassandra/cql3/QueryOptions.java
--
diff --git a/src/java/org/apache/cassandra/cql3/QueryOptions.java 
b/src/java/org/apache/cassandra/cql3/QueryOptions.java
index 1ba8f89..f1787a7 100644
--- a/src/java/org/apache/cassandra/cql3/QueryOptions.java
+++ b/src/java/org/apache/cassandra/cql3/QueryOptions.java
@@ -403,7 +403,7 @@ public abstract class QueryOptions
 ConsistencyLevel consistency = CBUtil.readConsistencyLevel(body);
 EnumSet flags = 
Flag.deserialize(version.isGreaterOrEqualTo(ProtocolVersion.V5)
? 
(int)body.readUnsignedInt()
-   : (int)body.readByte());
+   : 
(int)body.readUnsignedByte());
 
 List values = Collections.emptyList();
 List names = null;



[2/3] cassandra git commit: V5 protocol flags decoding broken

2017-04-13 Thread snazy
V5 protocol flags decoding broken

patch by Robert Stupp; reviewed by Stefania for CASSANDRA-13443


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

Branch: refs/heads/trunk
Commit: 0a438d59e65ee79bca7ffc44b8b958e62448e5c3
Parents: fe8e211
Author: Robert Stupp 
Authored: Thu Apr 13 11:06:29 2017 +0200
Committer: Robert Stupp 
Committed: Thu Apr 13 11:06:29 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a438d59/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 7998e10..5516bbd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.0
+ * V5 protocol flags decoding broken (CASSANDRA-13443)
  * Use write lock not read lock for removing sstables from compaction 
strategies. (CASSANDRA-13422)
  * Use corePoolSize equal to maxPoolSize in JMXEnabledThreadPoolExecutors 
(CASSANDRA-13329)
  * Avoid rebuilding SASI indexes containing no values (CASSANDRA-12962)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a438d59/src/java/org/apache/cassandra/cql3/QueryOptions.java
--
diff --git a/src/java/org/apache/cassandra/cql3/QueryOptions.java 
b/src/java/org/apache/cassandra/cql3/QueryOptions.java
index 1ba8f89..f1787a7 100644
--- a/src/java/org/apache/cassandra/cql3/QueryOptions.java
+++ b/src/java/org/apache/cassandra/cql3/QueryOptions.java
@@ -403,7 +403,7 @@ public abstract class QueryOptions
 ConsistencyLevel consistency = CBUtil.readConsistencyLevel(body);
 EnumSet flags = 
Flag.deserialize(version.isGreaterOrEqualTo(ProtocolVersion.V5)
? 
(int)body.readUnsignedInt()
-   : (int)body.readByte());
+   : 
(int)body.readUnsignedByte());
 
 List values = Collections.emptyList();
 List names = null;



cassandra git commit: Change protocol to allow sending key space independent of query string

2017-04-12 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/trunk 1096f9f5e -> 1f533260a


Change protocol to allow sending key space independent of query string

patch by Sandeep Tamhankar; reviewed by Tyler Hobbs + Robert Stupp for 
CASSANDRA-10145


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

Branch: refs/heads/trunk
Commit: 1f533260a01552790aff0f5f2f8f2f0aee8dbf10
Parents: 1096f9f
Author: Sandeep Tamhankar 
Authored: Wed Apr 12 20:56:35 2017 +0200
Committer: Robert Stupp 
Committed: Wed Apr 12 20:56:35 2017 +0200

--
 CHANGES.txt |  1 +
 doc/native_protocol_v5.spec | 25 +-
 .../cassandra/cql3/BatchQueryOptions.java   |  5 ++
 .../CustomPayloadMirroringQueryHandler.java |  5 +-
 .../org/apache/cassandra/cql3/QueryHandler.java |  3 +-
 .../org/apache/cassandra/cql3/QueryOptions.java | 37 +---
 .../apache/cassandra/cql3/QueryProcessor.java   | 24 ++
 .../cassandra/cql3/statements/CFStatement.java  |  8 +-
 .../cql3/statements/ParsedStatement.java|  2 +-
 .../apache/cassandra/service/ClientState.java   | 24 ++
 .../org/apache/cassandra/transport/Client.java  |  4 +-
 .../cassandra/transport/SimpleClient.java   |  2 +-
 .../transport/messages/BatchMessage.java|  3 +-
 .../transport/messages/PrepareMessage.java  | 43 +-
 .../org/apache/cassandra/cql3/CQLTester.java|  2 +-
 .../cassandra/transport/MessagePayloadTest.java | 89 +++-
 .../cassandra/transport/SerDeserTest.java   | 32 +--
 17 files changed, 249 insertions(+), 60 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f533260/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4f3cb3b..dd33fcf 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0
+ * Change protocol to allow sending key space independent of query string 
(CASSANDRA-10145)
  * Make gc_log and gc_warn settable at runtime (CASSANDRA-12661)
  * Take number of files in L0 in account when estimating remaining compaction 
tasks (CASSANDRA-13354)
  * Skip building views during base table streams on range movements 
(CASSANDRA-13065)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f533260/doc/native_protocol_v5.spec
--
diff --git a/doc/native_protocol_v5.spec b/doc/native_protocol_v5.spec
index ac3373c..320f6c0 100644
--- a/doc/native_protocol_v5.spec
+++ b/doc/native_protocol_v5.spec
@@ -332,7 +332,7 @@ Table of Contents
 
   where  is a [long string] representing the query and
must be
-
[[name_1]...[name_n]][][][][]
+
[[name_1]...[name_n]][][][][][]
   where:
 -  is the [consistency] level for the operation.
 -  is a [int] whose bits define the options for this query and
@@ -375,6 +375,9 @@ Table of Contents
   since the names for the expected values was returned during 
preparation,
   a client can always provide values in the right order without 
any names
   and using this flag, while supported, is almost surely 
inefficient.
+0x80: With keyspace. If set,  must be present.  is 
a
+  [string] indicating the keyspace that the query should be 
executed in.
+  It supercedes the keyspace that the connection is bound to, if 
any.
 
   Note that the consistency is ignored by some queries (USE, CREATE, ALTER,
   TRUNCATE, ...).
@@ -385,8 +388,17 @@ Table of Contents
 
 4.1.5. PREPARE
 
-  Prepare a query for later execution (through EXECUTE). The body consists of
-  the CQL query to prepare as a [long string].
+  Prepare a query for later execution (through EXECUTE). The body of the 
message must be:
+[]
+  where:
+-  is a [long string] representing the CQL query.
+-  is a [int] whose bits define the options for this statement and 
in particular
+  influence what the remainder of the message contains.
+  A flag is set if the bit corresponding to its `mask` is set. Supported
+  flags are, given their mask:
+0x01: With keyspace. If set,  must be present.  is 
a
+  [string] indicating the keyspace that the query should be 
executed in.
+  It supercedes the keyspace that the connection is bound to, if 
any.
 
   The server will respond with a RESULT message with a `prepared` kind (0x0004,
   see Section 4.2.5).
@@ -408,7 +420,7 @@ Table of Contents
   Allows executing a list of queries (prepared or not) as a batch (note that
   only DML 

[03/10] cassandra git commit: Fix weightedSize() for row-cache reported by JMX and NodeTool

2017-04-09 Thread snazy
Fix weightedSize() for row-cache reported by JMX and NodeTool

patch by Fuud; reviewed by Robert Stupp for CASSANDRA-13393


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

Branch: refs/heads/cassandra-3.11
Commit: 470f15be652ffb3c471161d6fb10c8893ff59e46
Parents: 194329d
Author: Fuud 
Authored: Sun Apr 9 10:54:25 2017 +0200
Committer: Robert Stupp 
Committed: Sun Apr 9 10:54:25 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/470f15be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6ea2d59..366db50 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.10
+ * Fix weightedSize() for row-cache reported by JMX and NodeTool 
(CASSANDRA-13393)
  * Fix JVM metric paths (CASSANDRA-13103)
  * Honor truststore-password parameter in cassandra-stress (CASSANDRA-12773)
  * Discard in-flight shadow round responses (CASSANDRA-12653)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/470f15be/src/java/org/apache/cassandra/cache/OHCProvider.java
--
diff --git a/src/java/org/apache/cassandra/cache/OHCProvider.java 
b/src/java/org/apache/cassandra/cache/OHCProvider.java
index 9b1c8cf..ab2745a 100644
--- a/src/java/org/apache/cassandra/cache/OHCProvider.java
+++ b/src/java/org/apache/cassandra/cache/OHCProvider.java
@@ -100,7 +100,7 @@ public class OHCProvider implements 
CacheProvider
 
 public long weightedSize()
 {
-return ohCache.size();
+return ohCache.memUsed();
 }
 
 public void clear()



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

2017-04-09 Thread snazy
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/58e8008a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/58e8008a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/58e8008a

Branch: refs/heads/cassandra-3.11
Commit: 58e8008a50ed9fddf87e92b2199894ce11156f2a
Parents: fee2a3a 470f15b
Author: Robert Stupp 
Authored: Sun Apr 9 10:55:13 2017 +0200
Committer: Robert Stupp 
Committed: Sun Apr 9 10:58:15 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/58e8008a/CHANGES.txt
--
diff --cc CHANGES.txt
index 7b577dd,366db50..c5e517f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,24 -1,6 +1,25 @@@
 -2.2.10
 +3.0.13
 + * Fix startup problems due to schema tables not completely flushed 
(CASSANDRA-12213)
 + * 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)
 + * Use the Kernel32 library to retrieve the PID on Windows and fix startup 
checks (CASSANDRA-1)
 + * Fix code to not exchange schema across major versions (CASSANDRA-13274)
 + * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
 + * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
 + * Fix CONTAINS filtering for null collections (CASSANDRA-13246)
 + * Applying: Use a unique metric reservoir per test run when using 
Cassandra-wide metrics residing in MBeans (CASSANDRA-13216)
 + * Propagate row deletions in 2i tables on upgrade (CASSANDRA-13320)
 + * Slice.isEmpty() returns false for some empty slices (CASSANDRA-13305)
 + * Add formatted row output to assertEmpty in CQL Tester (CASSANDRA-13238)
 + * Legacy caching options can prevent 3.0 upgrade (CASSANDRA-13384)
 + * Nodetool upgradesstables/scrub/compact ignores system tables 
(CASSANDRA-13410)
 + * Fix NPE issue in StorageService (CASSANDRA-13060)
 +Merged from 2.2:
+  * Fix weightedSize() for row-cache reported by JMX and NodeTool 
(CASSANDRA-13393)
 - * Fix JVM metric paths (CASSANDRA-13103)
   * Honor truststore-password parameter in cassandra-stress (CASSANDRA-12773)
   * Discard in-flight shadow round responses (CASSANDRA-12653)
   * Don't anti-compact repaired data to avoid inconsistencies (CASSANDRA-13153)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/58e8008a/src/java/org/apache/cassandra/cache/OHCProvider.java
--



[01/10] cassandra git commit: Fix weightedSize() for row-cache reported by JMX and NodeTool

2017-04-09 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 194329d3c -> 470f15be6
  refs/heads/cassandra-3.0 fee2a3a09 -> 58e8008a5
  refs/heads/cassandra-3.11 99881b971 -> c38e618d6
  refs/heads/trunk 7fa1577c2 -> 333ebd67a


Fix weightedSize() for row-cache reported by JMX and NodeTool

patch by Fuud; reviewed by Robert Stupp for CASSANDRA-13393


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

Branch: refs/heads/cassandra-2.2
Commit: 470f15be652ffb3c471161d6fb10c8893ff59e46
Parents: 194329d
Author: Fuud 
Authored: Sun Apr 9 10:54:25 2017 +0200
Committer: Robert Stupp 
Committed: Sun Apr 9 10:54:25 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/470f15be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6ea2d59..366db50 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.10
+ * Fix weightedSize() for row-cache reported by JMX and NodeTool 
(CASSANDRA-13393)
  * Fix JVM metric paths (CASSANDRA-13103)
  * Honor truststore-password parameter in cassandra-stress (CASSANDRA-12773)
  * Discard in-flight shadow round responses (CASSANDRA-12653)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/470f15be/src/java/org/apache/cassandra/cache/OHCProvider.java
--
diff --git a/src/java/org/apache/cassandra/cache/OHCProvider.java 
b/src/java/org/apache/cassandra/cache/OHCProvider.java
index 9b1c8cf..ab2745a 100644
--- a/src/java/org/apache/cassandra/cache/OHCProvider.java
+++ b/src/java/org/apache/cassandra/cache/OHCProvider.java
@@ -100,7 +100,7 @@ public class OHCProvider implements 
CacheProvider
 
 public long weightedSize()
 {
-return ohCache.size();
+return ohCache.memUsed();
 }
 
 public void clear()



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

2017-04-09 Thread snazy
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/58e8008a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/58e8008a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/58e8008a

Branch: refs/heads/trunk
Commit: 58e8008a50ed9fddf87e92b2199894ce11156f2a
Parents: fee2a3a 470f15b
Author: Robert Stupp 
Authored: Sun Apr 9 10:55:13 2017 +0200
Committer: Robert Stupp 
Committed: Sun Apr 9 10:58:15 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/58e8008a/CHANGES.txt
--
diff --cc CHANGES.txt
index 7b577dd,366db50..c5e517f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,24 -1,6 +1,25 @@@
 -2.2.10
 +3.0.13
 + * Fix startup problems due to schema tables not completely flushed 
(CASSANDRA-12213)
 + * 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)
 + * Use the Kernel32 library to retrieve the PID on Windows and fix startup 
checks (CASSANDRA-1)
 + * Fix code to not exchange schema across major versions (CASSANDRA-13274)
 + * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
 + * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
 + * Fix CONTAINS filtering for null collections (CASSANDRA-13246)
 + * Applying: Use a unique metric reservoir per test run when using 
Cassandra-wide metrics residing in MBeans (CASSANDRA-13216)
 + * Propagate row deletions in 2i tables on upgrade (CASSANDRA-13320)
 + * Slice.isEmpty() returns false for some empty slices (CASSANDRA-13305)
 + * Add formatted row output to assertEmpty in CQL Tester (CASSANDRA-13238)
 + * Legacy caching options can prevent 3.0 upgrade (CASSANDRA-13384)
 + * Nodetool upgradesstables/scrub/compact ignores system tables 
(CASSANDRA-13410)
 + * Fix NPE issue in StorageService (CASSANDRA-13060)
 +Merged from 2.2:
+  * Fix weightedSize() for row-cache reported by JMX and NodeTool 
(CASSANDRA-13393)
 - * Fix JVM metric paths (CASSANDRA-13103)
   * Honor truststore-password parameter in cassandra-stress (CASSANDRA-12773)
   * Discard in-flight shadow round responses (CASSANDRA-12653)
   * Don't anti-compact repaired data to avoid inconsistencies (CASSANDRA-13153)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/58e8008a/src/java/org/apache/cassandra/cache/OHCProvider.java
--



[04/10] cassandra git commit: Fix weightedSize() for row-cache reported by JMX and NodeTool

2017-04-09 Thread snazy
Fix weightedSize() for row-cache reported by JMX and NodeTool

patch by Fuud; reviewed by Robert Stupp for CASSANDRA-13393


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

Branch: refs/heads/trunk
Commit: 470f15be652ffb3c471161d6fb10c8893ff59e46
Parents: 194329d
Author: Fuud 
Authored: Sun Apr 9 10:54:25 2017 +0200
Committer: Robert Stupp 
Committed: Sun Apr 9 10:54:25 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/470f15be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6ea2d59..366db50 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.10
+ * Fix weightedSize() for row-cache reported by JMX and NodeTool 
(CASSANDRA-13393)
  * Fix JVM metric paths (CASSANDRA-13103)
  * Honor truststore-password parameter in cassandra-stress (CASSANDRA-12773)
  * Discard in-flight shadow round responses (CASSANDRA-12653)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/470f15be/src/java/org/apache/cassandra/cache/OHCProvider.java
--
diff --git a/src/java/org/apache/cassandra/cache/OHCProvider.java 
b/src/java/org/apache/cassandra/cache/OHCProvider.java
index 9b1c8cf..ab2745a 100644
--- a/src/java/org/apache/cassandra/cache/OHCProvider.java
+++ b/src/java/org/apache/cassandra/cache/OHCProvider.java
@@ -100,7 +100,7 @@ public class OHCProvider implements 
CacheProvider
 
 public long weightedSize()
 {
-return ohCache.size();
+return ohCache.memUsed();
 }
 
 public void clear()



[02/10] cassandra git commit: Fix weightedSize() for row-cache reported by JMX and NodeTool

2017-04-09 Thread snazy
Fix weightedSize() for row-cache reported by JMX and NodeTool

patch by Fuud; reviewed by Robert Stupp for CASSANDRA-13393


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

Branch: refs/heads/cassandra-3.0
Commit: 470f15be652ffb3c471161d6fb10c8893ff59e46
Parents: 194329d
Author: Fuud 
Authored: Sun Apr 9 10:54:25 2017 +0200
Committer: Robert Stupp 
Committed: Sun Apr 9 10:54:25 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/470f15be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6ea2d59..366db50 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.10
+ * Fix weightedSize() for row-cache reported by JMX and NodeTool 
(CASSANDRA-13393)
  * Fix JVM metric paths (CASSANDRA-13103)
  * Honor truststore-password parameter in cassandra-stress (CASSANDRA-12773)
  * Discard in-flight shadow round responses (CASSANDRA-12653)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/470f15be/src/java/org/apache/cassandra/cache/OHCProvider.java
--
diff --git a/src/java/org/apache/cassandra/cache/OHCProvider.java 
b/src/java/org/apache/cassandra/cache/OHCProvider.java
index 9b1c8cf..ab2745a 100644
--- a/src/java/org/apache/cassandra/cache/OHCProvider.java
+++ b/src/java/org/apache/cassandra/cache/OHCProvider.java
@@ -100,7 +100,7 @@ public class OHCProvider implements 
CacheProvider
 
 public long weightedSize()
 {
-return ohCache.size();
+return ohCache.memUsed();
 }
 
 public void clear()



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

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

Branch: refs/heads/trunk
Commit: c38e618d69ac30868ae0f413320ffc8e0f27c9be
Parents: 99881b9 58e8008
Author: Robert Stupp 
Authored: Sun Apr 9 10:58:56 2017 +0200
Committer: Robert Stupp 
Committed: Sun Apr 9 10:58:56 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c38e618d/CHANGES.txt
--
diff --cc CHANGES.txt
index a34db06,c5e517f..a7b464a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -42,30 -15,11 +42,31 @@@ Merged from 3.0
   * Propagate row deletions in 2i tables on upgrade (CASSANDRA-13320)
   * Slice.isEmpty() returns false for some empty slices (CASSANDRA-13305)
   * Add formatted row output to assertEmpty in CQL Tester (CASSANDRA-13238)
 - * Legacy caching options can prevent 3.0 upgrade (CASSANDRA-13384)
 + * Prevent data loss on upgrade 2.1 - 3.0 by adding component separator to 
LogRecord absolute path (CASSANDRA-13294)
 + * Improve testing on macOS by eliminating sigar logging (CASSANDRA-13233)
 + * Cqlsh copy-from should error out when csv contains invalid data for 
collections (CASSANDRA-13071)
 + * Fix "multiple versions of ant detected..." when running ant test 
(CASSANDRA-13232)
 + * Coalescing strategy sleeps too much (CASSANDRA-13090)
 + * Faster StreamingHistogram (CASSANDRA-13038)
 + * Legacy deserializer can create unexpected boundary range tombstones 
(CASSANDRA-13237)
 + * Remove unnecessary assertion from AntiCompactionTest (CASSANDRA-13070)
 + * Fix cqlsh COPY for dates before 1900 (CASSANDRA-13185)
 + * Use keyspace replication settings on system.size_estimates table 
(CASSANDRA-9639)
 + * Add vm.max_map_count StartupCheck (CASSANDRA-13008)
 + * Hint related logging should include the IP address of the destination in 
addition to
 +   host ID (CASSANDRA-13205)
 + * Reloading logback.xml does not work (CASSANDRA-13173)
 + * Lightweight transactions temporarily fail after upgrade from 2.1 to 3.0 
(CASSANDRA-13109)
 + * Duplicate rows after upgrading from 2.1.16 to 3.0.10/3.9 (CASSANDRA-13125)
 + * Fix UPDATE queries with empty IN restrictions (CASSANDRA-13152)
 + * Fix handling of partition with partition-level deletion plus
 +   live rows in sstabledump (CASSANDRA-13177)
 + * Provide user workaround when system_schema.columns does not contain entries
 +   for a table that's in system_schema.tables (CASSANDRA-13180)
   * Nodetool upgradesstables/scrub/compact ignores system tables 
(CASSANDRA-13410)
 - * Fix NPE issue in StorageService (CASSANDRA-13060)
  Merged from 2.2:
+  * Fix weightedSize() for row-cache reported by JMX and NodeTool 
(CASSANDRA-13393)
 + * Fix JVM metric names (CASSANDRA-13103)
   * Honor truststore-password parameter in cassandra-stress (CASSANDRA-12773)
   * Discard in-flight shadow round responses (CASSANDRA-12653)
   * Don't anti-compact repaired data to avoid inconsistencies (CASSANDRA-13153)



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

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

Branch: refs/heads/cassandra-3.11
Commit: c38e618d69ac30868ae0f413320ffc8e0f27c9be
Parents: 99881b9 58e8008
Author: Robert Stupp 
Authored: Sun Apr 9 10:58:56 2017 +0200
Committer: Robert Stupp 
Committed: Sun Apr 9 10:58:56 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c38e618d/CHANGES.txt
--
diff --cc CHANGES.txt
index a34db06,c5e517f..a7b464a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -42,30 -15,11 +42,31 @@@ Merged from 3.0
   * Propagate row deletions in 2i tables on upgrade (CASSANDRA-13320)
   * Slice.isEmpty() returns false for some empty slices (CASSANDRA-13305)
   * Add formatted row output to assertEmpty in CQL Tester (CASSANDRA-13238)
 - * Legacy caching options can prevent 3.0 upgrade (CASSANDRA-13384)
 + * Prevent data loss on upgrade 2.1 - 3.0 by adding component separator to 
LogRecord absolute path (CASSANDRA-13294)
 + * Improve testing on macOS by eliminating sigar logging (CASSANDRA-13233)
 + * Cqlsh copy-from should error out when csv contains invalid data for 
collections (CASSANDRA-13071)
 + * Fix "multiple versions of ant detected..." when running ant test 
(CASSANDRA-13232)
 + * Coalescing strategy sleeps too much (CASSANDRA-13090)
 + * Faster StreamingHistogram (CASSANDRA-13038)
 + * Legacy deserializer can create unexpected boundary range tombstones 
(CASSANDRA-13237)
 + * Remove unnecessary assertion from AntiCompactionTest (CASSANDRA-13070)
 + * Fix cqlsh COPY for dates before 1900 (CASSANDRA-13185)
 + * Use keyspace replication settings on system.size_estimates table 
(CASSANDRA-9639)
 + * Add vm.max_map_count StartupCheck (CASSANDRA-13008)
 + * Hint related logging should include the IP address of the destination in 
addition to
 +   host ID (CASSANDRA-13205)
 + * Reloading logback.xml does not work (CASSANDRA-13173)
 + * Lightweight transactions temporarily fail after upgrade from 2.1 to 3.0 
(CASSANDRA-13109)
 + * Duplicate rows after upgrading from 2.1.16 to 3.0.10/3.9 (CASSANDRA-13125)
 + * Fix UPDATE queries with empty IN restrictions (CASSANDRA-13152)
 + * Fix handling of partition with partition-level deletion plus
 +   live rows in sstabledump (CASSANDRA-13177)
 + * Provide user workaround when system_schema.columns does not contain entries
 +   for a table that's in system_schema.tables (CASSANDRA-13180)
   * Nodetool upgradesstables/scrub/compact ignores system tables 
(CASSANDRA-13410)
 - * Fix NPE issue in StorageService (CASSANDRA-13060)
  Merged from 2.2:
+  * Fix weightedSize() for row-cache reported by JMX and NodeTool 
(CASSANDRA-13393)
 + * Fix JVM metric names (CASSANDRA-13103)
   * Honor truststore-password parameter in cassandra-stress (CASSANDRA-12773)
   * Discard in-flight shadow round responses (CASSANDRA-12653)
   * Don't anti-compact repaired data to avoid inconsistencies (CASSANDRA-13153)



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

2017-04-09 Thread snazy
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/333ebd67
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/333ebd67
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/333ebd67

Branch: refs/heads/trunk
Commit: 333ebd67a0ee7497f0c2f62372befbd01515a3c2
Parents: 7fa1577 c38e618
Author: Robert Stupp 
Authored: Sun Apr 9 10:59:18 2017 +0200
Committer: Robert Stupp 
Committed: Sun Apr 9 10:59:18 2017 +0200

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


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/333ebd67/src/java/org/apache/cassandra/cache/OHCProvider.java
--



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

2017-04-09 Thread snazy
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/58e8008a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/58e8008a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/58e8008a

Branch: refs/heads/cassandra-3.0
Commit: 58e8008a50ed9fddf87e92b2199894ce11156f2a
Parents: fee2a3a 470f15b
Author: Robert Stupp 
Authored: Sun Apr 9 10:55:13 2017 +0200
Committer: Robert Stupp 
Committed: Sun Apr 9 10:58:15 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/58e8008a/CHANGES.txt
--
diff --cc CHANGES.txt
index 7b577dd,366db50..c5e517f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,24 -1,6 +1,25 @@@
 -2.2.10
 +3.0.13
 + * Fix startup problems due to schema tables not completely flushed 
(CASSANDRA-12213)
 + * 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)
 + * Use the Kernel32 library to retrieve the PID on Windows and fix startup 
checks (CASSANDRA-1)
 + * Fix code to not exchange schema across major versions (CASSANDRA-13274)
 + * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
 + * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
 + * Fix CONTAINS filtering for null collections (CASSANDRA-13246)
 + * Applying: Use a unique metric reservoir per test run when using 
Cassandra-wide metrics residing in MBeans (CASSANDRA-13216)
 + * Propagate row deletions in 2i tables on upgrade (CASSANDRA-13320)
 + * Slice.isEmpty() returns false for some empty slices (CASSANDRA-13305)
 + * Add formatted row output to assertEmpty in CQL Tester (CASSANDRA-13238)
 + * Legacy caching options can prevent 3.0 upgrade (CASSANDRA-13384)
 + * Nodetool upgradesstables/scrub/compact ignores system tables 
(CASSANDRA-13410)
 + * Fix NPE issue in StorageService (CASSANDRA-13060)
 +Merged from 2.2:
+  * Fix weightedSize() for row-cache reported by JMX and NodeTool 
(CASSANDRA-13393)
 - * Fix JVM metric paths (CASSANDRA-13103)
   * Honor truststore-password parameter in cassandra-stress (CASSANDRA-12773)
   * Discard in-flight shadow round responses (CASSANDRA-12653)
   * Don't anti-compact repaired data to avoid inconsistencies (CASSANDRA-13153)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/58e8008a/src/java/org/apache/cassandra/cache/OHCProvider.java
--



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

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

Branch: refs/heads/trunk
Commit: c8241659ec7272c530be92f79ac89046980a2f4a
Parents: ccef21f 5b77e04
Author: Robert Stupp 
Authored: Mon Apr 3 11:32:56 2017 +0100
Committer: Robert Stupp 
Committed: Mon Apr 3 11:32:56 2017 +0100

--
 .../cql3/functions/ThreadAwareSecurityManager.java  | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)
--




[2/6] cassandra git commit: Ninja: code comments for logback ReconfigureOnChangeFilter customization

2017-04-03 Thread snazy
Ninja: code comments for logback ReconfigureOnChangeFilter customization


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

Branch: refs/heads/cassandra-3.11
Commit: f45f55b55e2a2f3985baec22275fb51f2b5b1f6a
Parents: ac1b7c1
Author: Robert Stupp 
Authored: Mon Apr 3 11:32:22 2017 +0100
Committer: Robert Stupp 
Committed: Mon Apr 3 11:32:22 2017 +0100

--
 .../cql3/functions/ThreadAwareSecurityManager.java  | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f45f55b5/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
--
diff --git 
a/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java 
b/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
index 3d97790..13d1945 100644
--- 
a/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
+++ 
b/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
@@ -78,6 +78,15 @@ public final class ThreadAwareSecurityManager extends 
SecurityManager
 return;
 System.setSecurityManager(new ThreadAwareSecurityManager());
 
+// The default logback configuration in conf/logback.xml allows 
reloading the
+// configuration when the configuration file has changed (every 60 
seconds by default).
+// This requires logback to use file I/O APIs. But file I/O is not 
allowed from UDFs.
+// I.e. if logback decides to check for a modification of the config 
file while
+// executiing a sandbox thread, the UDF execution and therefore the 
whole request
+// execution will fail with an AccessControlException.
+// To work around this, a custom ReconfigureOnChangeFilter is 
installed, that simply
+// prevents this configuration file check and possible reload of the 
configration,
+// while executing sandboxed UDF code.
 Logger l = LoggerFactory.getLogger(ThreadAwareSecurityManager.class);
 ch.qos.logback.classic.Logger logbackLogger = 
(ch.qos.logback.classic.Logger) l;
 LoggerContext ctx = logbackLogger.getLoggerContext();
@@ -98,7 +107,8 @@ public final class ThreadAwareSecurityManager extends 
SecurityManager
 }
 
 /**
- * The purpose of this class is
+ * The purpose of this class is to prevent logback from checking for 
config file change,
+ * if the current thread is executing a sandboxed thread to avoid {@link 
AccessControlException}s.
  */
 private static class SMAwareReconfigureOnChangeFilter extends 
ReconfigureOnChangeFilter
 {



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

2017-04-03 Thread snazy
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/5b77e04a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5b77e04a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5b77e04a

Branch: refs/heads/cassandra-3.11
Commit: 5b77e04a640d4da8b594948d308ecb8323512962
Parents: 8862759 f45f55b
Author: Robert Stupp 
Authored: Mon Apr 3 11:32:49 2017 +0100
Committer: Robert Stupp 
Committed: Mon Apr 3 11:32:49 2017 +0100

--
 .../cql3/functions/ThreadAwareSecurityManager.java  | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b77e04a/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
--



[1/6] cassandra git commit: Ninja: code comments for logback ReconfigureOnChangeFilter customization

2017-04-03 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 ac1b7c17d -> f45f55b55
  refs/heads/cassandra-3.11 88627598c -> 5b77e04a6
  refs/heads/trunk ccef21fef -> c8241659e


Ninja: code comments for logback ReconfigureOnChangeFilter customization


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

Branch: refs/heads/cassandra-3.0
Commit: f45f55b55e2a2f3985baec22275fb51f2b5b1f6a
Parents: ac1b7c1
Author: Robert Stupp 
Authored: Mon Apr 3 11:32:22 2017 +0100
Committer: Robert Stupp 
Committed: Mon Apr 3 11:32:22 2017 +0100

--
 .../cql3/functions/ThreadAwareSecurityManager.java  | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f45f55b5/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
--
diff --git 
a/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java 
b/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
index 3d97790..13d1945 100644
--- 
a/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
+++ 
b/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
@@ -78,6 +78,15 @@ public final class ThreadAwareSecurityManager extends 
SecurityManager
 return;
 System.setSecurityManager(new ThreadAwareSecurityManager());
 
+// The default logback configuration in conf/logback.xml allows 
reloading the
+// configuration when the configuration file has changed (every 60 
seconds by default).
+// This requires logback to use file I/O APIs. But file I/O is not 
allowed from UDFs.
+// I.e. if logback decides to check for a modification of the config 
file while
+// executiing a sandbox thread, the UDF execution and therefore the 
whole request
+// execution will fail with an AccessControlException.
+// To work around this, a custom ReconfigureOnChangeFilter is 
installed, that simply
+// prevents this configuration file check and possible reload of the 
configration,
+// while executing sandboxed UDF code.
 Logger l = LoggerFactory.getLogger(ThreadAwareSecurityManager.class);
 ch.qos.logback.classic.Logger logbackLogger = 
(ch.qos.logback.classic.Logger) l;
 LoggerContext ctx = logbackLogger.getLoggerContext();
@@ -98,7 +107,8 @@ public final class ThreadAwareSecurityManager extends 
SecurityManager
 }
 
 /**
- * The purpose of this class is
+ * The purpose of this class is to prevent logback from checking for 
config file change,
+ * if the current thread is executing a sandboxed thread to avoid {@link 
AccessControlException}s.
  */
 private static class SMAwareReconfigureOnChangeFilter extends 
ReconfigureOnChangeFilter
 {



[3/6] cassandra git commit: Ninja: code comments for logback ReconfigureOnChangeFilter customization

2017-04-03 Thread snazy
Ninja: code comments for logback ReconfigureOnChangeFilter customization


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

Branch: refs/heads/trunk
Commit: f45f55b55e2a2f3985baec22275fb51f2b5b1f6a
Parents: ac1b7c1
Author: Robert Stupp 
Authored: Mon Apr 3 11:32:22 2017 +0100
Committer: Robert Stupp 
Committed: Mon Apr 3 11:32:22 2017 +0100

--
 .../cql3/functions/ThreadAwareSecurityManager.java  | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f45f55b5/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
--
diff --git 
a/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java 
b/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
index 3d97790..13d1945 100644
--- 
a/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
+++ 
b/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
@@ -78,6 +78,15 @@ public final class ThreadAwareSecurityManager extends 
SecurityManager
 return;
 System.setSecurityManager(new ThreadAwareSecurityManager());
 
+// The default logback configuration in conf/logback.xml allows 
reloading the
+// configuration when the configuration file has changed (every 60 
seconds by default).
+// This requires logback to use file I/O APIs. But file I/O is not 
allowed from UDFs.
+// I.e. if logback decides to check for a modification of the config 
file while
+// executiing a sandbox thread, the UDF execution and therefore the 
whole request
+// execution will fail with an AccessControlException.
+// To work around this, a custom ReconfigureOnChangeFilter is 
installed, that simply
+// prevents this configuration file check and possible reload of the 
configration,
+// while executing sandboxed UDF code.
 Logger l = LoggerFactory.getLogger(ThreadAwareSecurityManager.class);
 ch.qos.logback.classic.Logger logbackLogger = 
(ch.qos.logback.classic.Logger) l;
 LoggerContext ctx = logbackLogger.getLoggerContext();
@@ -98,7 +107,8 @@ public final class ThreadAwareSecurityManager extends 
SecurityManager
 }
 
 /**
- * The purpose of this class is
+ * The purpose of this class is to prevent logback from checking for 
config file change,
+ * if the current thread is executing a sandboxed thread to avoid {@link 
AccessControlException}s.
  */
 private static class SMAwareReconfigureOnChangeFilter extends 
ReconfigureOnChangeFilter
 {



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

2017-04-03 Thread snazy
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/5b77e04a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5b77e04a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5b77e04a

Branch: refs/heads/trunk
Commit: 5b77e04a640d4da8b594948d308ecb8323512962
Parents: 8862759 f45f55b
Author: Robert Stupp 
Authored: Mon Apr 3 11:32:49 2017 +0100
Committer: Robert Stupp 
Committed: Mon Apr 3 11:32:49 2017 +0100

--
 .../cql3/functions/ThreadAwareSecurityManager.java  | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5b77e04a/src/java/org/apache/cassandra/cql3/functions/ThreadAwareSecurityManager.java
--



[2/9] cassandra git commit: DataOutputBuffer.asNewBuffer broken

2017-03-28 Thread snazy
DataOutputBuffer.asNewBuffer broken

patch by Robert Stupp; reviewed by Stefania for CASSANDRA-13298


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

Branch: refs/heads/trunk
Commit: 62abe46c5efc47812899219f2e38af94c34fa49a
Parents: c0ac928
Author: Robert Stupp 
Authored: Tue Mar 28 09:32:18 2017 +0200
Committer: Robert Stupp 
Committed: Tue Mar 28 09:32:18 2017 +0200

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java | 2 +-
 src/java/org/apache/cassandra/io/util/DataOutputBuffer.java  | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 98ed992..f3b27be 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.0
+ * 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)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
--
diff --git a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java 
b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
index b95a310..64d7dd1 100644
--- a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
+++ b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
@@ -274,7 +274,7 @@ public class PartitionUpdate extends AbstractBTreePartition
 try (DataOutputBuffer out = new DataOutputBuffer())
 {
 serializer.serialize(update, out, version);
-return out.asNewBuffer();
+return out.buffer();
 }
 catch (IOException e)
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
--
diff --git a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java 
b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
index 63f87ea..144edad 100644
--- a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
+++ b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
@@ -229,7 +229,7 @@ public class DataOutputBuffer extends 
BufferedDataOutputStreamPlus
 
 public ByteBuffer asNewBuffer()
 {
-return ByteBuffer.wrap(getData(), 0, getLength());
+return ByteBuffer.wrap(toByteArray());
 }
 
 public byte[] toByteArray()



[5/9] cassandra git commit: Fix code to not exchange schema across major versions

2017-03-28 Thread snazy
Fix code to not exchange schema across major versions

patch by Robert Stupp; reviewed by Sylvain Lebresne for CASSANDRA-13274


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

Branch: refs/heads/trunk
Commit: 6da41ed047ed5ef8a5d11e7a60e73dfeb129a72a
Parents: 5262bb1
Author: Robert Stupp 
Authored: Tue Mar 28 09:35:49 2017 +0200
Committer: Robert Stupp 
Committed: Tue Mar 28 09:35:49 2017 +0200

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/net/MessagingService.java | 12 
 2 files changed, 9 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b1bb01..0af7a7d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix code to not exchange schema across major versions (CASSANDRA-13274)
  * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
  * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
  * Fix CONTAINS filtering for null collections (CASSANDRA-13246)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index e8095d3..4aaf49b 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -903,9 +903,6 @@ public final class MessagingService implements 
MessagingServiceMBean
  */
 public int setVersion(InetAddress endpoint, int version)
 {
-// We can't talk to someone from the future
-version = Math.min(version, current_version);
-
 logger.trace("Setting version {} for {}", version, endpoint);
 
 if (version < VERSION_22)
@@ -926,7 +923,7 @@ public final class MessagingService implements 
MessagingServiceMBean
 {
 logger.trace("Resetting version for {}", endpoint);
 Integer removed = versions.remove(endpoint);
-if (removed != null && removed <= VERSION_30)
+if (removed != null && Math.min(removed, current_version) <= 
VERSION_30)
 refreshAllNodeMinVersions();
 }
 
@@ -951,6 +948,10 @@ public final class MessagingService implements 
MessagingServiceMBean
 allNodesAtLeast30 = !anyNodeLowerThan30;
 }
 
+/**
+ * Returns the messaging-version as announced by the given node but capped
+ * to the min of the version as announced by the node and {@link 
#current_version}.
+ */
 public int getVersion(InetAddress endpoint)
 {
 Integer v = versions.get(endpoint);
@@ -969,6 +970,9 @@ public final class MessagingService implements 
MessagingServiceMBean
 return getVersion(InetAddress.getByName(endpoint));
 }
 
+/**
+ * Returns the messaging-version exactly as announced by the given 
endpoint.
+ */
 public int getRawVersion(InetAddress endpoint)
 {
 Integer v = versions.get(endpoint);



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

2017-03-28 Thread snazy
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/52fc62f1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/52fc62f1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/52fc62f1

Branch: refs/heads/cassandra-3.11
Commit: 52fc62f18f01336f9412509a7924b92278fe33df
Parents: 62abe46 6da41ed
Author: Robert Stupp 
Authored: Tue Mar 28 09:36:47 2017 +0200
Committer: Robert Stupp 
Committed: Tue Mar 28 09:37:05 2017 +0200

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/net/MessagingService.java | 12 
 2 files changed, 9 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/52fc62f1/CHANGES.txt
--
diff --cc CHANGES.txt
index f3b27be,0af7a7d..038befb
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,5 +1,22 @@@
 -3.0.13
 +3.11.0
 + * 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 code to not exchange schema across major versions (CASSANDRA-13274)
   * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
   * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
   * Fix CONTAINS filtering for null collections (CASSANDRA-13246)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/52fc62f1/src/java/org/apache/cassandra/net/MessagingService.java
--



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

2017-03-28 Thread snazy
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/a0477617
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a0477617
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a0477617

Branch: refs/heads/trunk
Commit: a04776173a70dac66de939a26ea50544d5a45986
Parents: 35042ee 52fc62f
Author: Robert Stupp 
Authored: Tue Mar 28 09:46:07 2017 +0200
Committer: Robert Stupp 
Committed: Tue Mar 28 09:47:27 2017 +0200

--
 CHANGES.txt | 1 +
 NEWS.txt| 2 ++
 src/java/org/apache/cassandra/net/MessagingService.java | 9 +++--
 3 files changed, 10 insertions(+), 2 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0477617/NEWS.txt
--
diff --cc NEWS.txt
index cfb48e2,4c2e217..9048121
--- a/NEWS.txt
+++ b/NEWS.txt
@@@ -13,39 -13,6 +13,41 @@@ restore snapshots created with the prev
  'sstableloader' tool. You can upgrade the file format of your snapshots
  using the provided 'sstableupgrade' tool.
  
 +4.0
 +===
 +
 +New features
 +
 +   - The currentTimestamp, currentDate, currentTime and currentTimeUUID 
functions have been added.
 + See CASSANDRA-13132
 +   - Support for arithmetic operations between `timestamp`/`date` and 
`duration` has been added.
 + See CASSANDRA-11936
 +   - Support for arithmetic operations on number has been added. See 
CASSANDRA-11935
 +
 +Upgrading
 +-
 +- Cassandra 4.0 removed support for the deprecated Thrift interface. 
Amongst
 +  Tother things, this imply the removal of all yaml option related to 
thrift
 +  ('start_rpc', rpc_port, ...).
 +- Cassandra 4.0 removed support for any pre-3.0 format. This means you
 +  cannot upgrade from a 2.x version to 4.0 directly, you have to upgrade 
to
 +  a 3.0.x/3.x version first (and run upgradesstable). In particular, this
 +  mean Cassandra 4.0 cannot load or read pre-3.0 sstables in any way: you
 +  will need to upgrade those sstable in 3.0.x/3.x first.
++- Upgrades from 3.0.x or 3.x are supported since 3.0.13 or 3.11.0, 
previous
++  versions will causes issues during rolling upgrades (CASSANDRA-13274).
 +- Cassandra will no longer allow invalid keyspace replication options, 
such
 +  as invalid datacenter names for NetworkTopologyStrategy. Operators MUST
 +  add new nodes to a datacenter before they can set set ALTER or CREATE
 +  keyspace replication policies using that datacenter. Existing keyspaces
 +  will continue to operate, but CREATE and ALTER will validate that all
 +  datacenters specified exist in the cluster.
 +- Cassandra 4.0 fixes a problem with incremental repair which caused 
repaired
 +  data to be inconsistent between nodes. The fix changes the behavior of 
both
 +  full and incremental repairs. For full repairs, data is no longer marked
 +  repaired. For incremental repairs, anticompaction is run at the 
beginning
 +  of the repair, instead of at the end.
 +- Config option index_interval has been removed (it was deprecated since 
2.0)
  
  3.11.0
  ==

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0477617/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --cc src/java/org/apache/cassandra/net/MessagingService.java
index b7d4329,0e81c06..b3e7b61
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@@ -1122,20 -1071,55 +1122,22 @@@ public final class MessagingService imp
   */
  public int setVersion(InetAddress endpoint, int version)
  {
- // We can't talk to someone from the future
- version = Math.min(version, current_version);
  logger.trace("Setting version {} for {}", version, endpoint);
  
 -if (version < VERSION_22)
 -allNodesAtLeast22 = false;
 -if (version < VERSION_30)
 -allNodesAtLeast30 = false;
 -
  Integer v = versions.put(endpoint, version);
 -
 -// if the version was increased to 2.2 or later see if the min 
version across the cluster has changed
 -if (v != null && (v < VERSION_30 && version >= VERSION_22))
 -refreshAllNodeMinVersions();
 -
  return v == null ? version : v;
  }
  
  public void resetVersion(InetAddress endpoint)
  {
  logger.trace("Resetting version for {}", 

[7/9] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-03-28 Thread snazy
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/52fc62f1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/52fc62f1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/52fc62f1

Branch: refs/heads/trunk
Commit: 52fc62f18f01336f9412509a7924b92278fe33df
Parents: 62abe46 6da41ed
Author: Robert Stupp 
Authored: Tue Mar 28 09:36:47 2017 +0200
Committer: Robert Stupp 
Committed: Tue Mar 28 09:37:05 2017 +0200

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/net/MessagingService.java | 12 
 2 files changed, 9 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/52fc62f1/CHANGES.txt
--
diff --cc CHANGES.txt
index f3b27be,0af7a7d..038befb
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,5 +1,22 @@@
 -3.0.13
 +3.11.0
 + * 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 code to not exchange schema across major versions (CASSANDRA-13274)
   * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
   * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
   * Fix CONTAINS filtering for null collections (CASSANDRA-13246)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/52fc62f1/src/java/org/apache/cassandra/net/MessagingService.java
--



[4/9] cassandra git commit: Fix code to not exchange schema across major versions

2017-03-28 Thread snazy
Fix code to not exchange schema across major versions

patch by Robert Stupp; reviewed by Sylvain Lebresne for CASSANDRA-13274


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

Branch: refs/heads/cassandra-3.11
Commit: 6da41ed047ed5ef8a5d11e7a60e73dfeb129a72a
Parents: 5262bb1
Author: Robert Stupp 
Authored: Tue Mar 28 09:35:49 2017 +0200
Committer: Robert Stupp 
Committed: Tue Mar 28 09:35:49 2017 +0200

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/net/MessagingService.java | 12 
 2 files changed, 9 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b1bb01..0af7a7d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix code to not exchange schema across major versions (CASSANDRA-13274)
  * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
  * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
  * Fix CONTAINS filtering for null collections (CASSANDRA-13246)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index e8095d3..4aaf49b 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -903,9 +903,6 @@ public final class MessagingService implements 
MessagingServiceMBean
  */
 public int setVersion(InetAddress endpoint, int version)
 {
-// We can't talk to someone from the future
-version = Math.min(version, current_version);
-
 logger.trace("Setting version {} for {}", version, endpoint);
 
 if (version < VERSION_22)
@@ -926,7 +923,7 @@ public final class MessagingService implements 
MessagingServiceMBean
 {
 logger.trace("Resetting version for {}", endpoint);
 Integer removed = versions.remove(endpoint);
-if (removed != null && removed <= VERSION_30)
+if (removed != null && Math.min(removed, current_version) <= 
VERSION_30)
 refreshAllNodeMinVersions();
 }
 
@@ -951,6 +948,10 @@ public final class MessagingService implements 
MessagingServiceMBean
 allNodesAtLeast30 = !anyNodeLowerThan30;
 }
 
+/**
+ * Returns the messaging-version as announced by the given node but capped
+ * to the min of the version as announced by the node and {@link 
#current_version}.
+ */
 public int getVersion(InetAddress endpoint)
 {
 Integer v = versions.get(endpoint);
@@ -969,6 +970,9 @@ public final class MessagingService implements 
MessagingServiceMBean
 return getVersion(InetAddress.getByName(endpoint));
 }
 
+/**
+ * Returns the messaging-version exactly as announced by the given 
endpoint.
+ */
 public int getRawVersion(InetAddress endpoint)
 {
 Integer v = versions.get(endpoint);



[6/9] cassandra git commit: Fix code to not exchange schema across major versions

2017-03-28 Thread snazy
Fix code to not exchange schema across major versions

patch by Robert Stupp; reviewed by Sylvain Lebresne for CASSANDRA-13274


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

Branch: refs/heads/cassandra-3.0
Commit: 6da41ed047ed5ef8a5d11e7a60e73dfeb129a72a
Parents: 5262bb1
Author: Robert Stupp 
Authored: Tue Mar 28 09:35:49 2017 +0200
Committer: Robert Stupp 
Committed: Tue Mar 28 09:35:49 2017 +0200

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/net/MessagingService.java | 12 
 2 files changed, 9 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b1bb01..0af7a7d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix code to not exchange schema across major versions (CASSANDRA-13274)
  * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
  * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
  * Fix CONTAINS filtering for null collections (CASSANDRA-13246)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index e8095d3..4aaf49b 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -903,9 +903,6 @@ public final class MessagingService implements 
MessagingServiceMBean
  */
 public int setVersion(InetAddress endpoint, int version)
 {
-// We can't talk to someone from the future
-version = Math.min(version, current_version);
-
 logger.trace("Setting version {} for {}", version, endpoint);
 
 if (version < VERSION_22)
@@ -926,7 +923,7 @@ public final class MessagingService implements 
MessagingServiceMBean
 {
 logger.trace("Resetting version for {}", endpoint);
 Integer removed = versions.remove(endpoint);
-if (removed != null && removed <= VERSION_30)
+if (removed != null && Math.min(removed, current_version) <= 
VERSION_30)
 refreshAllNodeMinVersions();
 }
 
@@ -951,6 +948,10 @@ public final class MessagingService implements 
MessagingServiceMBean
 allNodesAtLeast30 = !anyNodeLowerThan30;
 }
 
+/**
+ * Returns the messaging-version as announced by the given node but capped
+ * to the min of the version as announced by the node and {@link 
#current_version}.
+ */
 public int getVersion(InetAddress endpoint)
 {
 Integer v = versions.get(endpoint);
@@ -969,6 +970,9 @@ public final class MessagingService implements 
MessagingServiceMBean
 return getVersion(InetAddress.getByName(endpoint));
 }
 
+/**
+ * Returns the messaging-version exactly as announced by the given 
endpoint.
+ */
 public int getRawVersion(InetAddress endpoint)
 {
 Integer v = versions.get(endpoint);



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

2017-03-28 Thread snazy
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/35042eef
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/35042eef
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/35042eef

Branch: refs/heads/trunk
Commit: 35042eefea9f9ea79142f7b8d7159266ad84d283
Parents: c86de2a 62abe46
Author: Robert Stupp 
Authored: Tue Mar 28 09:32:32 2017 +0200
Committer: Robert Stupp 
Committed: Tue Mar 28 09:32:32 2017 +0200

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java | 2 +-
 src/java/org/apache/cassandra/io/util/DataOutputBuffer.java  | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/35042eef/CHANGES.txt
--
diff --cc CHANGES.txt
index 4482c98,f3b27be..23a9ef4
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,52 -1,5 +1,53 @@@
 +4.0
 + * Outbound TCP connections ignore internode authenticator (CASSANDRA-13324)
 + * Upgrade junit from 4.6 to 4.12 (CASSANDRA-13360)
 + * Cleanup ParentRepairSession after repairs (CASSANDRA-13359)
 + * Incremental repair not streaming correct sstables (CASSANDRA-13328)
 + * Upgrade the jna version to 4.3.0 (CASSANDRA-13300)
 + * Add the currentTimestamp, currentDate, currentTime and currentTimeUUID 
functions (CASSANDRA-13132)
 + * Remove config option index_interval (CASSANDRA-10671)
 + * Reduce lock contention for collection types and serializers 
(CASSANDRA-13271)
 + * Make it possible to override MessagingService.Verb ids (CASSANDRA-13283)
 + * Avoid synchronized on prepareForRepair in ActiveRepairService 
(CASSANDRA-9292)
 + * Adds the ability to use uncompressed chunks in compressed files 
(CASSANDRA-10520)
 + * Don't flush sstables when streaming for incremental repair 
(CASSANDRA-13226)
 + * Remove unused method (CASSANDRA-13227)
 + * Fix minor bugs related to #9143 (CASSANDRA-13217)
 + * Output warning if user increases RF (CASSANDRA-13079)
 + * Remove pre-3.0 streaming compatibility code for 4.0 (CASSANDRA-13081)
 + * Add support for + and - operations on dates (CASSANDRA-11936)
 + * Fix consistency of incrementally repaired data (CASSANDRA-9143)
 + * Increase commitlog version (CASSANDRA-13161)
 + * Make TableMetadata immutable, optimize Schema (CASSANDRA-9425)
 + * Refactor ColumnCondition (CASSANDRA-12981)
 + * Parallelize streaming of different keyspaces (CASSANDRA-4663)
 + * Improved compactions metrics (CASSANDRA-13015)
 + * Speed-up start-up sequence by avoiding un-needed flushes (CASSANDRA-13031)
 + * Use Caffeine (W-TinyLFU) for on-heap caches (CASSANDRA-10855)
 + * Thrift removal (CASSANDRA-5)
 + * Remove pre-3.0 compatibility code for 4.0 (CASSANDRA-12716)
 + * Add column definition kind to dropped columns in schema (CASSANDRA-12705)
 + * Add (automate) Nodetool Documentation (CASSANDRA-12672)
 + * Update bundled cqlsh python driver to 3.7.0 (CASSANDRA-12736)
 + * Reject invalid replication settings when creating or altering a keyspace 
(CASSANDRA-12681)
 + * Clean up the SSTableReader#getScanner API wrt removal of RateLimiter 
(CASSANDRA-12422)
 + * Use new token allocation for non bootstrap case as well (CASSANDRA-13080)
 + * Avoid byte-array copy when key cache is disabled (CASSANDRA-13084)
 + * Require forceful decommission if number of nodes is less than replication 
factor (CASSANDRA-12510)
 + * Allow IN restrictions on column families with collections (CASSANDRA-12654)
 + * Log message size in trace message in OutboundTcpConnection 
(CASSANDRA-13028)
 + * Add timeUnit Days for cassandra-stress (CASSANDRA-13029)
 + * Add mutation size and batch metrics (CASSANDRA-12649)
 + * Add method to get size of endpoints to TokenMetadata (CASSANDRA-12999)
 + * Expose time spent waiting in thread pool queue (CASSANDRA-8398)
 + * Conditionally update index built status to avoid unnecessary flushes 
(CASSANDRA-12969)
 + * cqlsh auto completion: refactor definition of compaction strategy options 
(CASSANDRA-12946)
 + * Add support for arithmetic operators (CASSANDRA-11935)
 + * Add histogram for delay to deliver hints (CASSANDRA-13234)
 +
 +
  3.11.0
+  * 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)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/35042eef/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java

[1/9] cassandra git commit: DataOutputBuffer.asNewBuffer broken

2017-03-28 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 5262bb17b -> 6da41ed04
  refs/heads/cassandra-3.11 c0ac928d9 -> 52fc62f18
  refs/heads/trunk c86de2a98 -> a04776173


DataOutputBuffer.asNewBuffer broken

patch by Robert Stupp; reviewed by Stefania for CASSANDRA-13298


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

Branch: refs/heads/cassandra-3.11
Commit: 62abe46c5efc47812899219f2e38af94c34fa49a
Parents: c0ac928
Author: Robert Stupp 
Authored: Tue Mar 28 09:32:18 2017 +0200
Committer: Robert Stupp 
Committed: Tue Mar 28 09:32:18 2017 +0200

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java | 2 +-
 src/java/org/apache/cassandra/io/util/DataOutputBuffer.java  | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 98ed992..f3b27be 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.0
+ * 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)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
--
diff --git a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java 
b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
index b95a310..64d7dd1 100644
--- a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
+++ b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
@@ -274,7 +274,7 @@ public class PartitionUpdate extends AbstractBTreePartition
 try (DataOutputBuffer out = new DataOutputBuffer())
 {
 serializer.serialize(update, out, version);
-return out.asNewBuffer();
+return out.buffer();
 }
 catch (IOException e)
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
--
diff --git a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java 
b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
index 63f87ea..144edad 100644
--- a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
+++ b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
@@ -229,7 +229,7 @@ public class DataOutputBuffer extends 
BufferedDataOutputStreamPlus
 
 public ByteBuffer asNewBuffer()
 {
-return ByteBuffer.wrap(getData(), 0, getLength());
+return ByteBuffer.wrap(toByteArray());
 }
 
 public byte[] toByteArray()



cassandra git commit: Upgrade junit from 4.6 to 4.12

2017-03-23 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/trunk a87b15d1d -> 6a8f15031


Upgrade junit from 4.6 to 4.12

patch by Jay Zhuang; reviewed by Robert Stupp for CASSANDRA-13360


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

Branch: refs/heads/trunk
Commit: 6a8f15031569bcf8adf5344db9c701b1a6d2a802
Parents: a87b15d
Author: Jay Zhuang 
Authored: Thu Mar 23 11:00:05 2017 +0100
Committer: Robert Stupp 
Committed: Thu Mar 23 11:00:05 2017 +0100

--
 CHANGES.txt | 1 +
 build.xml   | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6a8f1503/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c1d5e94..6897fb0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0
+ * Upgrade junit from 4.6 to 4.12 (CASSANDRA-13360)
  * Cleanup ParentRepairSession after repairs (CASSANDRA-13359)
  * Incremental repair not streaming correct sstables (CASSANDRA-13328)
  * Upgrade the jna version to 4.3.0 (CASSANDRA-13300)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6a8f1503/build.xml
--
diff --git a/build.xml b/build.xml
index 058b879..73d3051 100644
--- a/build.xml
+++ b/build.xml
@@ -383,7 +383,7 @@
   
 
   
-  
+  
   
  
   



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

2017-03-08 Thread snazy
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/7755a324
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7755a324
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7755a324

Branch: refs/heads/trunk
Commit: 7755a324e028ab834d6755d34b156a3a9d9ee460
Parents: 66e2c1b 1248d36
Author: Robert Stupp 
Authored: Wed Mar 8 13:57:18 2017 +0100
Committer: Robert Stupp 
Committed: Wed Mar 8 13:57:18 2017 +0100

--
 .../apache/cassandra/net/MessagingService.java  | 23 +++-
 1 file changed, 17 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7755a324/src/java/org/apache/cassandra/net/MessagingService.java
--



[3/6] cassandra git commit: IOException (No such file or directory) closing MessagingService's server socket (locally)

2017-03-08 Thread snazy
IOException (No such file or directory) closing MessagingService's server 
socket (locally)

patch by Robert Stupp; reviewed by Michael Kjellman for CASSANDRA-12513


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

Branch: refs/heads/trunk
Commit: 1ae84195116eb346522c59042df8a2156a3f19f0
Parents: 71c1f98
Author: Robert Stupp 
Authored: Wed Mar 8 13:55:45 2017 +0100
Committer: Robert Stupp 
Committed: Wed Mar 8 13:55:45 2017 +0100

--
 .../apache/cassandra/net/MessagingService.java  | 23 +++-
 1 file changed, 17 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1ae84195/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index c784b15..31ea09e 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -812,7 +812,7 @@ public final class MessagingService implements 
MessagingServiceMBean
 catch (IOException e)
 {
 // see 
https://issues.apache.org/jira/browse/CASSANDRA-10545
-handleIOException(e);
+handleIOExceptionOnClose(e);
 }
 }
 catch (IOException e)
@@ -1102,7 +1102,8 @@ public final class MessagingService implements 
MessagingServiceMBean
 catch (IOException e)
 {
 // see https://issues.apache.org/jira/browse/CASSANDRA-8220
-handleIOException(e);
+// see https://issues.apache.org/jira/browse/CASSANDRA-12513
+handleIOExceptionOnClose(e);
 }
 for (Closeable connection : connections)
 {
@@ -1116,12 +1117,22 @@ public final class MessagingService implements 
MessagingServiceMBean
 }
 }
 
-private static void handleIOException(IOException e) throws IOException
+private static void handleIOExceptionOnClose(IOException e) throws 
IOException
 {
 // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
-// see https://bugs.openjdk.java.net/browse/JDK-8050499
-if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
-throw e;
+// see https://bugs.openjdk.java.net/browse/JDK-8050499;
+// also CASSANDRA-12513
+if ("Mac OS X".equals(System.getProperty("os.name")))
+{
+switch (e.getMessage())
+{
+case "Unknown error: 316":
+case "No such file or directory":
+return;
+}
+}
+
+throw e;
 }
 
 public Map getLargeMessagePendingTasks()



[1/6] cassandra git commit: IOException (No such file or directory) closing MessagingService's server socket (locally)

2017-03-08 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 71c1f9866 -> 1ae841951
  refs/heads/cassandra-3.11 2b62cb997 -> 1248d3620
  refs/heads/trunk 66e2c1b90 -> 7755a324e


IOException (No such file or directory) closing MessagingService's server 
socket (locally)

patch by Robert Stupp; reviewed by Michael Kjellman for CASSANDRA-12513


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

Branch: refs/heads/cassandra-3.0
Commit: 1ae84195116eb346522c59042df8a2156a3f19f0
Parents: 71c1f98
Author: Robert Stupp 
Authored: Wed Mar 8 13:55:45 2017 +0100
Committer: Robert Stupp 
Committed: Wed Mar 8 13:55:45 2017 +0100

--
 .../apache/cassandra/net/MessagingService.java  | 23 +++-
 1 file changed, 17 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1ae84195/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index c784b15..31ea09e 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -812,7 +812,7 @@ public final class MessagingService implements 
MessagingServiceMBean
 catch (IOException e)
 {
 // see 
https://issues.apache.org/jira/browse/CASSANDRA-10545
-handleIOException(e);
+handleIOExceptionOnClose(e);
 }
 }
 catch (IOException e)
@@ -1102,7 +1102,8 @@ public final class MessagingService implements 
MessagingServiceMBean
 catch (IOException e)
 {
 // see https://issues.apache.org/jira/browse/CASSANDRA-8220
-handleIOException(e);
+// see https://issues.apache.org/jira/browse/CASSANDRA-12513
+handleIOExceptionOnClose(e);
 }
 for (Closeable connection : connections)
 {
@@ -1116,12 +1117,22 @@ public final class MessagingService implements 
MessagingServiceMBean
 }
 }
 
-private static void handleIOException(IOException e) throws IOException
+private static void handleIOExceptionOnClose(IOException e) throws 
IOException
 {
 // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
-// see https://bugs.openjdk.java.net/browse/JDK-8050499
-if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
-throw e;
+// see https://bugs.openjdk.java.net/browse/JDK-8050499;
+// also CASSANDRA-12513
+if ("Mac OS X".equals(System.getProperty("os.name")))
+{
+switch (e.getMessage())
+{
+case "Unknown error: 316":
+case "No such file or directory":
+return;
+}
+}
+
+throw e;
 }
 
 public Map getLargeMessagePendingTasks()



[2/6] cassandra git commit: IOException (No such file or directory) closing MessagingService's server socket (locally)

2017-03-08 Thread snazy
IOException (No such file or directory) closing MessagingService's server 
socket (locally)

patch by Robert Stupp; reviewed by Michael Kjellman for CASSANDRA-12513


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

Branch: refs/heads/cassandra-3.11
Commit: 1ae84195116eb346522c59042df8a2156a3f19f0
Parents: 71c1f98
Author: Robert Stupp 
Authored: Wed Mar 8 13:55:45 2017 +0100
Committer: Robert Stupp 
Committed: Wed Mar 8 13:55:45 2017 +0100

--
 .../apache/cassandra/net/MessagingService.java  | 23 +++-
 1 file changed, 17 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1ae84195/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index c784b15..31ea09e 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -812,7 +812,7 @@ public final class MessagingService implements 
MessagingServiceMBean
 catch (IOException e)
 {
 // see 
https://issues.apache.org/jira/browse/CASSANDRA-10545
-handleIOException(e);
+handleIOExceptionOnClose(e);
 }
 }
 catch (IOException e)
@@ -1102,7 +1102,8 @@ public final class MessagingService implements 
MessagingServiceMBean
 catch (IOException e)
 {
 // see https://issues.apache.org/jira/browse/CASSANDRA-8220
-handleIOException(e);
+// see https://issues.apache.org/jira/browse/CASSANDRA-12513
+handleIOExceptionOnClose(e);
 }
 for (Closeable connection : connections)
 {
@@ -1116,12 +1117,22 @@ public final class MessagingService implements 
MessagingServiceMBean
 }
 }
 
-private static void handleIOException(IOException e) throws IOException
+private static void handleIOExceptionOnClose(IOException e) throws 
IOException
 {
 // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
-// see https://bugs.openjdk.java.net/browse/JDK-8050499
-if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
-throw e;
+// see https://bugs.openjdk.java.net/browse/JDK-8050499;
+// also CASSANDRA-12513
+if ("Mac OS X".equals(System.getProperty("os.name")))
+{
+switch (e.getMessage())
+{
+case "Unknown error: 316":
+case "No such file or directory":
+return;
+}
+}
+
+throw e;
 }
 
 public Map getLargeMessagePendingTasks()



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

2017-03-08 Thread snazy
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/1248d362
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1248d362
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1248d362

Branch: refs/heads/trunk
Commit: 1248d3620cc13b62b26e192699fa5a874abf326f
Parents: 2b62cb9 1ae8419
Author: Robert Stupp 
Authored: Wed Mar 8 13:56:43 2017 +0100
Committer: Robert Stupp 
Committed: Wed Mar 8 13:56:43 2017 +0100

--
 .../apache/cassandra/net/MessagingService.java  | 23 +++-
 1 file changed, 17 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1248d362/src/java/org/apache/cassandra/net/MessagingService.java
--



  1   2   3   4   5   6   7   8   9   10   >