[cassandra-website] branch trunk updated: Added rustyrazorblade consulting to ecosystem page.

2023-10-09 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/trunk by this push:
 new 31eba98f Added rustyrazorblade consulting to ecosystem page.
31eba98f is described below

commit 31eba98f1b6dd4fdb9e0d09b12d71c275de79440
Author: Jon Haddad 
AuthorDate: Mon Oct 9 14:17:24 2023 -0700

Added rustyrazorblade consulting to ecosystem page.
---
 site-content/source/modules/ROOT/pages/ecosystem.adoc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/site-content/source/modules/ROOT/pages/ecosystem.adoc 
b/site-content/source/modules/ROOT/pages/ecosystem.adoc
index 7a763b68..d96cdbdf 100644
--- a/site-content/source/modules/ROOT/pages/ecosystem.adoc
+++ b/site-content/source/modules/ROOT/pages/ecosystem.adoc
@@ -337,6 +337,8 @@ 
https://www.instaclustr.com/services/[Instaclustr,window=blank]
 
 https://opencredo.com/about-us/[Open Credo,window=blank]
 
+https://rustyrazorblade.com/[RustyRazorBlade Consulting,window=blank]
+
 
 
 


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



[cassandra-sidecar] branch trunk updated: Fix checkstyle error in CassandraPod.java

2021-07-13 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/trunk by this push:
 new 16cd2a0  Fix checkstyle error in CassandraPod.java
16cd2a0 is described below

commit 16cd2a05531f2719814240e47a0b24ec8d39f7bb
Author: Saranya Krishnakumar 
AuthorDate: Tue Jul 13 12:21:13 2021 -0700

Fix checkstyle error in CassandraPod.java
---
 .../java/org/apache/cassandra/sidecar/common/testing/CassandraPod.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/testing/CassandraPod.java
 
b/cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/testing/CassandraPod.java
index 9014146..afa658e 100644
--- 
a/cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/testing/CassandraPod.java
+++ 
b/cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/testing/CassandraPod.java
@@ -193,7 +193,8 @@ class CassandraPod
 }
 
 started = 
namespacedPod.getStatus().getContainerStatuses().get(0).getStarted();
-if 
(namespacedPod.getStatus().getContainerStatuses().get(0).getReady() && started) 
{
+if 
(namespacedPod.getStatus().getContainerStatuses().get(0).getReady() && started)
+{
 logger.info("Pod startup OK");
 break;
 }

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



[cassandra-sidecar] branch master updated (c9da4b2 -> a4805a9)

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

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


from c9da4b2  Ninja-Fix: CHANGES.txt for CASSANDRASC-22
 add a4805a9  Support for multiple Cassandra versions

No new revisions were added by this update.

Summary of changes:
 .circleci/config.yml   |  49 ++-
 .circleci/setup-microk8.sh |  23 ++
 CHANGES.txt|   1 +
 README.md  |  45 ++-
 build.gradle   | 125 +--
 cassandra-integration-tests/build.gradle   |  44 +++
 .../cassandra/sidecar/common/StatusTest.java   |  51 +++
 .../common/testing/CassandraIntegrationTest.java   |  27 +-
 .../sidecar/common/testing/CassandraPod.java   | 363 
 .../common/testing/CassandraPodException.java  |  12 +
 .../common/testing/CassandraTestContext.java   |  56 
 .../common/testing/CassandraTestTemplate.java  | 176 ++
 .../sidecar/common/testing/DelegateTest.java   |  67 
 .../sidecar/common/testing/TestVersion.java|  31 +-
 .../common/testing/TestVersionSupplier.java|  44 +++
 cassandra40/build.gradle   |  18 +
 .../sidecar/cassandra40/Cassandra40Factory.java|  30 +-
 common/build.gradle|  38 +++
 .../cassandra/sidecar/common}/CQLSession.java  |  41 ++-
 .../sidecar/common/CassandraAdapterDelegate.java   | 196 +++
 .../sidecar/common/CassandraVersionProvider.java   | 109 ++
 .../sidecar/common/ICassandraAdapter.java  |  22 +-
 .../sidecar/common/ICassandraFactory.java  |  18 +-
 .../cassandra/sidecar/common/MinimumVersion.java   |  23 +-
 .../sidecar/common/MockCassandraFactory.java   |  18 +-
 .../cassandra/sidecar/common/NodeStatus.java   |  17 +-
 .../sidecar/common/SimpleCassandraVersion.java | 159 +
 .../org/apache/cassandra/sidecar/mocks/V30.java|  27 +-
 .../org/apache/cassandra/sidecar/mocks/V40.java|  27 +-
 .../org/apache/cassandra/sidecar/mocks/V41.java|  27 +-
 .../common/SimpleCassandraVersionProviderTest.java |  85 +
 .../sidecar/common/SimpleCassandraVersionTest.java | 121 +++
 containers/build.gradle|  76 +
 containers/src/Cassandra40/Dockerfile  |  18 +
 containers/src/docker-entrypoint.sh|  15 +
 containers/src/optimize-memory.sh  |  16 +
 docs/src/development.adoc  |  95 ++
 gradle.properties  |   5 +-
 gradle/wrapper/gradle-wrapper.properties   |   5 +-
 scripts/cleanup-pods.sh|  12 +
 scripts/setup-minikube.sh  |  30 ++
 settings.gradle|   5 +
 .../spotbugs-exclude.xml => spotbugs-exclude.xml   |   0
 .../sidecar/HealthServiceIntegrationTest.java  | 366 -
 .../cassandra/sidecar/CassandraSidecarDaemon.java  |   7 +-
 .../org/apache/cassandra/sidecar/MainModule.java   |  30 ++
 .../cassandra/sidecar/routes/HealthCheck.java  |  89 -
 .../cassandra/sidecar/routes/HealthService.java| 101 +-
 .../sidecar/AbstractHealthServiceTest.java |  37 ++-
 .../org/apache/cassandra/sidecar/TestModule.java   |  39 ++-
 .../apache/cassandra/sidecar/TestSslModule.java|  17 +
 51 files changed, 2266 insertions(+), 787 deletions(-)
 create mode 100755 .circleci/setup-microk8.sh
 create mode 100644 cassandra-integration-tests/build.gradle
 create mode 100644 
cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/StatusTest.java
 copy src/test/java/org/apache/cassandra/sidecar/HealthServiceTest.java => 
cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/testing/CassandraIntegrationTest.java
 (58%)
 create mode 100644 
cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/testing/CassandraPod.java
 create mode 100644 
cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/testing/CassandraPodException.java
 create mode 100644 
cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/testing/CassandraTestContext.java
 create mode 100644 
cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/testing/CassandraTestTemplate.java
 create mode 100644 
cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/testing/DelegateTest.java
 copy src/test/java/org/apache/cassandra/sidecar/mocks/MockHealthCheck.java => 
cassandra-integration-tests/src/test/java/org/apache/cassandra/sidecar/common/testing/TestVersion.java
 (56%)
 create mode 100644 
cassandra-integration-tests/src/test/java/org/apache/cassandra/sidec

[cassandra] branch trunk updated: Improving Cassandra configuration docs

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

rustyrazorblade 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 57a63f8  Improving Cassandra configuration docs
57a63f8 is described below

commit 57a63f8551448d10d39f67d138842e0c81414526
Author: polandll 
AuthorDate: Fri May 8 17:24:32 2020 -0700

Improving Cassandra configuration docs

* Update copyright date to 2020
* Add glossary
* Rearranged rackdc for better flow
* Add topologies properties file
* Add commitlog_archiving file
* Add logback.xml info
* jvm.options files
* Removed invalid reference to wiki from configuration file

Patch by Lorina Poland; Reviewed by Jon Haddad for CASSANDRA-15822
---
 conf/cassandra.yaml|5 +-
 doc/Dockerfile |2 +-
 doc/source/conf.py |2 +-
 doc/source/configuration/cass_cl_archive_file.rst  |   46 +
 doc/source/configuration/cass_env_sh_file.rst  |  132 ++
 doc/source/configuration/cass_jvm_options_file.rst |   10 +
 doc/source/configuration/cass_logback_xml_file.rst |  157 ++
 doc/source/configuration/cass_rackdc_file.rst  |   67 +
 doc/source/configuration/cass_topo_file.rst|   48 +
 doc/source/configuration/cass_yaml_file.rst| 2074 
 doc/source/configuration/index.rst |8 +-
 doc/source/getting_started/configuring.rst |   59 +-
 doc/source/glossary.rst|   35 +
 13 files changed, 2615 insertions(+), 30 deletions(-)

diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 6db9557..3a44a09 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -1,7 +1,7 @@
 # Cassandra storage config YAML
 
 # NOTE:
-#   See http://wiki.apache.org/cassandra/StorageConfiguration for
+#   See https://cassandra.apache.org/doc/latest/configuration/ for
 #   full explanations of configuration directives
 # /NOTE
 
@@ -20,8 +20,6 @@ cluster_name: 'Test Cluster'
 # Specifying initial_token will override this setting on the node's initial 
start,
 # on subsequent starts, this setting will apply even if initial token is set.
 #
-# If you already have a cluster with 1 token per node, and wish to migrate to 
-# multiple tokens per node, see http://wiki.apache.org/cassandra/Operations
 num_tokens: 256
 
 # Triggers automatic allocation of num_tokens tokens for this node. The 
allocation
@@ -47,7 +45,6 @@ num_tokens: 256
 # that do not have vnodes enabled.
 # initial_token:
 
-# See http://wiki.apache.org/cassandra/HintedHandoff
 # May either be "true" or "false" to enable globally
 hinted_handoff_enabled: true
 
diff --git a/doc/Dockerfile b/doc/Dockerfile
index 8999464..fcb4c41 100644
--- a/doc/Dockerfile
+++ b/doc/Dockerfile
@@ -13,7 +13,7 @@ RUN apt-get update && apt-get install -y 
software-properties-common
 RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | 
apt-key add - \
 && add-apt-repository --yes 
https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ \
 && apt-get update \
-&& apt-get install -y adoptopenjdk-8-hotspot ant
+&& apt-get install -y adoptopenjdk-11-hotspot ant
 
 
 RUN apt-get clean
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 7143b23..48f87a8 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -75,7 +75,7 @@ master_doc = 'index'
 
 # General information about the project.
 project = u'Apache Cassandra'
-copyright = u'2016, The Apache Cassandra team'
+copyright = u'2020, The Apache Cassandra team'
 author = u'The Apache Cassandra team'
 
 # The version info for the project you're documenting, acts as replacement for
diff --git a/doc/source/configuration/cass_cl_archive_file.rst 
b/doc/source/configuration/cass_cl_archive_file.rst
new file mode 100644
index 000..fc14440
--- /dev/null
+++ b/doc/source/configuration/cass_cl_archive_file.rst
@@ -0,0 +1,46 @@
+.. _cassandra-cl-archive:
+
+commitlog-archiving.properties file 
+
+
+The ``commitlog-archiving.properties`` configuration file can optionally set 
commands that are executed when archiving or restoring a commitlog segment. 
+
+===
+Options
+===
+
+``archive_command=``
+--
+One command can be inserted with %path and %name arguments. %path is the fully 
qualified path of the commitlog segment to archive. %name is the filename of 
the commitlog. STDOUT, STDIN, or multiple commands cannot be executed. If 
multiple commands are required, add a pointer to a script in this option.
+
+**Example:** archive_command=/bin/ln %path /backup/%name
+
+**Default value:** blank
+
+``restore_command=``
+--
+One command can be inserted with %from and %to arguments. %from i

[cassandra-sidecar] branch master updated (56f547f -> d57f2a4)

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

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


from 56f547f  Ninja fix to changelog
 add d57f2a4  Set up asciidoc based documentation.

No new revisions were added by this update.

Summary of changes:
 .circleci/config.yml  | 12 +++-
 CHANGES.txt   |  1 +
 build.gradle  | 11 ++-
 docs/build.gradle | 16 
 docs/src/development.adoc | 30 ++
 docs/src/user.adoc| 15 +++
 settings.gradle   |  4 
 7 files changed, 87 insertions(+), 2 deletions(-)
 create mode 100644 docs/build.gradle
 create mode 100644 docs/src/development.adoc
 create mode 100644 docs/src/user.adoc
 create mode 100644 settings.gradle


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



[cassandra-sidecar] branch master updated: Ninja fix to changelog

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

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


The following commit(s) were added to refs/heads/master by this push:
 new 56f547f  Ninja fix to changelog
56f547f is described below

commit 56f547f02ce431038ede6d5c75011c8138e1968d
Author: Jon Haddad 
AuthorDate: Thu Apr 23 16:33:21 2020 -0700

Ninja fix to changelog
---
 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index 7e12540..bc31a67 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,6 @@
 1.0.0
 -
+ * Gradle can now generate Deb packages, RPMs and Docker containers 
(CASSANDRASC-14)
  * Security patch to fix incorrect usage of yaml configuration (CASSANDRASC-12)
  * Build and Test with both Java 8 & 11 in Circle CI (CASSANDRA-15611)
  * Upgraded Gradle and replaced FindBugs with SpotBugs (CASSANDRA-15610)


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



[cassandra-sidecar] branch master updated: Gradle can now generate Deb packages, RPMs and Docker containers

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

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


The following commit(s) were added to refs/heads/master by this push:
 new 14770b6  Gradle can now generate Deb packages, RPMs and Docker 
containers
14770b6 is described below

commit 14770b6921f0dcc801a2428da65e41553d13ada4
Author: Jon Haddad 
AuthorDate: Tue Apr 21 16:00:09 2020 -0700

Gradle can now generate Deb packages, RPMs and Docker containers

Patch by Jon Haddad; Reviewed by Jake Luciani and Dinesh Joshi for 
CASSANDRASC-14
---
 .circleci/config.yml | 43 ++-
 build.gradle | 40 ++--
 gradle.properties|  1 +
 3 files changed, 81 insertions(+), 3 deletions(-)

diff --git a/.circleci/config.yml b/.circleci/config.yml
index 690b4a6..760af9d 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -12,6 +12,12 @@ aliases:
 working_directory: ~/repo
 environment:
   TERM: dumb
+  centos: 
+docker:
+  - image: centos:centos8
+working_directory: ~/repo
+environment:
+  TERM: dumb
 
 # we might modify this in the future to accept a parameter for the java 
package to install
 commands:
@@ -76,6 +82,35 @@ jobs:
   - store_test_results:
   path: ~/repo/build/test-results/
 
+  # ensures we can build and install deb packages
+  deb_build_install:
+<<: *base_job
+steps:
+  - checkout
+  - install_common
+  - install_java:
+  version: adoptopenjdk-11-hotspot
+  - run: ./gradlew buildDeb
+  - run: DEBIAN_FRONTEND=noninteractive sudo apt install -y 
./build/distributions/cassandra-sidecar*.deb
+  - run: test -f /opt/cassandra-sidecar/bin/cassandra-sidecar
+
+  # ensures we can build and install rpm packages
+  rpm_build_install:
+<<: *centos
+steps:
+  - checkout
+  - run: yum install -y java-11-openjdk-devel  # the image uses root by 
default, no need for sudo
+  - run: JAVA_HOME=/usr/lib/jvm/java-11-openjdk ./gradlew buildRpm
+  - run: yum install -y ./build/distributions/cassandra-sidecar*.rpm
+  - run: test -f /opt/cassandra-sidecar/bin/cassandra-sidecar
+
+  docker_build:
+<<: *base_job
+steps:
+  - checkout
+  - run: ./gradlew jibDockerBuild
+
+
 workflows:
   version: 2
 
@@ -85,4 +120,10 @@ workflows:
 
   test_java_11:
 jobs:
-  - java11
\ No newline at end of file
+  - java11
+
+  test_packaging:
+jobs:
+  - deb_build_install
+  - rpm_build_install
+  - docker_build
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 6aa46d5..7eea59e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,10 +15,15 @@ plugins {
 id 'jacoco'
 id "com.github.spotbugs" version "3.0.0"
 id 'org.hidetake.swagger.generator' version '2.16.0'
+
+// https://github.com/nebula-plugins/gradle-ospackage-plugin/wiki
+id "nebula.ospackage" version "8.3.0"
+id 'nebula.ospackage-application' version "8.3.0"
+id 'com.google.cloud.tools.jib' version '2.2.0'
 }
 
 group 'org.apache.cassandra'
-version '1.0-SNAPSHOT'
+version project.version
 
 sourceCompatibility = 1.8
 
@@ -28,7 +33,7 @@ repositories {
 
 // Take the application out once we're running via Cassandra
 mainClassName = "org.apache.cassandra.sidecar.CassandraSidecarDaemon"
-applicationName = 'CassandraSidecarDaemon'
+applicationName = 'cassandra-sidecar'
 
 // Config file location should be in file:/// format for local files,
 def confFile = "file:" + File.separator + File.separator + 
"APP_HOME_TO_REPLACE/conf/sidecar.yaml"
@@ -177,6 +182,37 @@ tasks.withType(com.github.spotbugs.SpotBugsTask) {
 reports.html.enabled = true
 }
 
+/**
+ * General configuration for linux packages.
+ * Can be overridden in the buildRpm and buildDeb configuration
+ * We can put dependencies here, such as java, but unfortunately since java is 
distributed
+ * in an inconsistent manner depending on the version you want (8 vs 11) we 
can't include Java
+ * as a requirement without the install breaking if you want to use a 
different version
+ */
+ospackage {
+packageName = "cassandra-sidecar"
+version = project.version
+// ospackage puts packages into /opt/[package] by default
+// which is _technically_ the right spot for packages
+link("/usr/local/bin/cassandra-sidecar", 
"/opt/cassandra-sidecar/bin/cassandra-sidecar")
+license "Apache License 2.0"
+description "Sidecar Management Tool for Apache Cassandra"
+os = LINUX
+user "root"
+}
+
+buildRpm {
+group = "build"
+}
+
+buildDeb {
+group = "build"
+}
+
+applicationDistribution.from("LICENSE.txt") {
+into

[cassandra] branch trunk updated: Correct Visibility and Improve Safety of Methods in LatencyMetrics

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

rustyrazorblade 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 c5eb532  Correct Visibility and Improve Safety of Methods in 
LatencyMetrics
c5eb532 is described below

commit c5eb532b63e80bb976d9dfdd4aa1c76f27f726e5
Author: Jeff Lai 
AuthorDate: Sat Feb 29 10:06:11 2020 -0500

Correct Visibility and Improve Safety of Methods in LatencyMetrics

patch by jefftt; reviewed by Jordan West and Jon Haddad for CASSANDRA-15597
---
 CHANGES.txt   |  1 +
 src/java/org/apache/cassandra/metrics/LatencyMetrics.java | 12 ++--
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 5dd25e4..5a9d3e1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Correct Visibility and Improve Safety of Methods in LatencyMetrics 
(CASSANDRA-15597)
  * Allow cqlsh to run with Python2.7/Python3.6+ 
(CASSANDRA-15659,CASSANDRA-15573)
  * Improve logging around incremental repair (CASSANDRA-15599)
  * Do not check cdc_raw_directory filesystem space if CDC disabled 
(CASSANDRA-15688)
diff --git a/src/java/org/apache/cassandra/metrics/LatencyMetrics.java 
b/src/java/org/apache/cassandra/metrics/LatencyMetrics.java
index 7d5d288..ab4c9a5 100644
--- a/src/java/org/apache/cassandra/metrics/LatencyMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/LatencyMetrics.java
@@ -37,7 +37,7 @@ import static 
org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics;
 public class LatencyMetrics
 {
 /** Latency */
-public final Timer latency;
+public final LatencyMetricsTimer latency;
 /** Total latency in micro sec */
 public final Counter totalLatency;
 
@@ -89,7 +89,7 @@ public class LatencyMetrics
 this.aliasFactory = aliasFactory;
 this.namePrefix = namePrefix;
 
-Timer timer = new LatencyMetrics.LatencyMetricsTimer(new 
DecayingEstimatedHistogramReservoir());
+LatencyMetricsTimer timer = new LatencyMetrics.LatencyMetricsTimer(new 
DecayingEstimatedHistogramReservoir());
 Counter counter = new LatencyMetricsCounter();
 
 if (aliasFactory == null)
@@ -122,12 +122,12 @@ public class LatencyMetrics
 }
 }
 
-public void addChildren(LatencyMetrics latencyMetric) 
+private void addChildren(LatencyMetrics latencyMetric)
 {
 this.children.add(latencyMetric);
 }
 
-public synchronized void removeChildren(LatencyMetrics toRelease)
+private synchronized void removeChildren(LatencyMetrics toRelease)
 {
 /*
 Merge details of removed children metrics and add them to our local 
copy to prevent metrics from going
@@ -135,7 +135,7 @@ public class LatencyMetrics
 Will not protect against simultaneous updates, but since these methods 
are used by linked parent instances only,
 they should not receive any updates.
  */
-((LatencyMetricsTimer) this.latency).releasedLatencyCount += 
toRelease.latency.getCount();
+this.latency.releasedLatencyCount += toRelease.latency.getCount();
 
 
DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot 
childSnapshot = 
(DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot) 
toRelease.latency.getSnapshot();
 
DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot 
snapshot = 
(DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot) 
this.latency.getSnapshot();
@@ -176,7 +176,7 @@ public class LatencyMetrics
 }
 }
 
-class LatencyMetricsTimer extends Timer 
+public class LatencyMetricsTimer extends Timer
 {
 
 long releasedLatencyCount = 0;


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



[cassandra] branch trunk updated: Updated the introductory section of the Installation page

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

rustyrazorblade 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 ca2dc1b  Updated the introductory section of the Installation page
ca2dc1b is described below

commit ca2dc1bfa9a7555d565c6b8a4fb957e35a5c0f13
Author: Erick Ramirez 
AuthorDate: Sun Apr 5 06:52:40 2020 +

Updated the introductory section of the Installation page

Patch by Erick Ramirez; Reviewed by Jon Haddad for CASSANDRA-15466
---
 doc/source/getting_started/installing.rst | 306 +-
 1 file changed, 262 insertions(+), 44 deletions(-)

diff --git a/doc/source/getting_started/installing.rst 
b/doc/source/getting_started/installing.rst
index a87589d..f3a22f2 100644
--- a/doc/source/getting_started/installing.rst
+++ b/doc/source/getting_started/installing.rst
@@ -19,88 +19,306 @@
 Installing Cassandra
 
 
+These are the instructions for deploying the supported releases of Apache 
Cassandra on Linux servers.
+
+Cassandra runs on a wide array of Linux distributions including (but not 
limited to):
+
+- Ubuntu, most notably LTS releases 16.04 to 18.04
+- CentOS & RedHat Enterprise Linux (RHEL) including 6.6 to 7.7
+- Amazon Linux AMIs including 2016.09 through to Linux 2
+- Debian versions 8 & 9
+- SUSE Enterprise Linux 12
+
+This is not an exhaustive list of operating system platforms, nor is it 
prescriptive. However users will be
+well-advised to conduct exhaustive tests of their own particularly for 
less-popular distributions of Linux.
+Deploying on older versions is not recommended unless you have previous 
experience with the older distribution
+in a production environment.
+
 Prerequisites
 ^
 
-- The latest version of Java 8, either the `Oracle Java Standard Edition 8
+- Install the latest version of Java 8, either the `Oracle Java Standard 
Edition 8
   <http://www.oracle.com/technetwork/java/javase/downloads/index.html>`__ or 
`OpenJDK 8 <http://openjdk.java.net/>`__. To
   verify that you have the correct version of java installed, type ``java 
-version``.
-
-- For using cqlsh, the latest version of `Python 2.7 
<https://www.python.org/downloads/>`__. To verify that you have
+- **NOTE**: *Experimental* support for Java 11 was added in Cassandra 4.0 
(`CASSANDRA-9608 <https://issues.apache.org/jira/browse/CASSANDRA-9608>`__).
+  Running Cassandra on Java 11 is *experimental*. Do so at your own risk. For 
more information, see
+  `NEWS.txt <https://github.com/apache/cassandra/blob/trunk/NEWS.txt>`__.
+- For using cqlsh, the latest version of `Python 2.7 
<https://www.python.org/downloads/>`__ or Python 3.6+. To verify that you have
   the correct version of Python installed, type ``python --version``.
 
-Installation from binary tarball files
-^^
+Choosing an installation method
+^^^
+
+For most users, installing the binary tarball is the simplest choice. The 
tarball unpacks all its contents
+into a single location with binaries and configuration files located in their 
own subdirectories. The most
+obvious attribute of the tarball installation is it does not require ``root`` 
permissions and can be
+installed on any Linux distribution.
+
+Packaged installations require ``root`` permissions. Install the RPM build on 
CentOS and RHEL-based
+distributions if you want to install Cassandra using YUM. Install the Debian 
build on Ubuntu and other
+Debian-based distributions if you want to install Cassandra using APT. Note 
that both the YUM and APT
+methods required ``root`` permissions and will install the binaries and 
configuration files as the
+``cassandra`` OS user.
+
+Installing the binary tarball
+^
+
+1. Verify the version of Java installed. For example:
+
+::
+
+   $ java -version
+   openjdk version "1.8.0_222"
+   OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~16.04.1-b10)
+   OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
+
+2. Download the binary tarball from one of the mirrors on the `Apache 
Cassandra Download <http://cassandra.apache.org/download/>`__
+   site. For example, to download 4.0:
+
+::
+
+   $ curl -OL 
http://apache.mirror.digitalpacific.com.au/cassandra/4.0.0/apache-cassandra-4.0.0-bin.tar.gz
+
+NOTE: The mirrors only host the latest versions of each major supported 
release. To download an earlier
+version of Cassandra, visit the `Apache Archives 
<http://archive.apache.org/dist/cassandra/>`__.
+
+3. OPTIONAL: Verify the integrity of the downloaded tarball using one of the 
methods `here <https://www.apache.org/dyn/closer.cgi#verify>`__.
+   For example, to verify the hash of the downloaded file using GPG:
+
+::
+
+   $ gpg --print-md SHA256 apache-cas

[cassandra] branch trunk updated: Add client request size metrics

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

rustyrazorblade 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 165081a  Add client request size metrics
165081a is described below

commit 165081afdaf82ff36a1ccf46f933faf6f76ec102
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Tue Apr 7 09:57:31 2020 -0700

Add client request size metrics

Patch by Jon Haddad; Reviewed by David Capwell for CASSANDRA-15704
---
 CHANGES.txt|  1 +
 .../metrics/ClientRequestSizeMetrics.java  | 36 
 src/java/org/apache/cassandra/transport/Frame.java |  8 +++
 .../cassandra/transport/ServerMetricsTest.java | 65 ++
 4 files changed, 110 insertions(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index 88ba6cb..878770b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Add client request size server metrics (CASSANDRA-15704)
  * Add additional logging around FileUtils and compaction leftover cleanup 
(CASSANDRA-15705)
  * Mark system_views/system_virtual_schema as non-alterable keyspaces in cqlsh 
(CASSANDRA-15711)
  * Fail incremental repair if an old version sstable is involved 
(CASSANDRA-15612)
diff --git 
a/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java 
b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
new file mode 100644
index 000..41fb162
--- /dev/null
+++ b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
@@ -0,0 +1,36 @@
+/*
+  * 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.metrics;
+
+
+import static org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics;
+
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Histogram;
+
+/**
+ * Metrics to track the size of incoming and outgoing bytes at Cassandra 
server.
+ */
+public class ClientRequestSizeMetrics
+{
+private static final String TYPE = "ClientRequestSize";
+public static final Counter totalBytesRead = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "IncomingBytes", 
null));
+public static final Counter totalBytesWritten = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "OutgoingBytes", 
null));
+public static final Histogram bytesRecievedPerFrame = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesRecievedPerFrame", null), true);
+public static final Histogram bytesTransmittedPerFrame = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesTransmittedPerFrame", null), true);
+}
diff --git a/src/java/org/apache/cassandra/transport/Frame.java 
b/src/java/org/apache/cassandra/transport/Frame.java
index 8163d7a..b597cc2 100644
--- a/src/java/org/apache/cassandra/transport/Frame.java
+++ b/src/java/org/apache/cassandra/transport/Frame.java
@@ -32,6 +32,7 @@ import io.netty.handler.codec.MessageToMessageEncoder;
 import io.netty.util.Attribute;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.exceptions.InvalidRequestException;
+import org.apache.cassandra.metrics.ClientRequestSizeMetrics;
 import org.apache.cassandra.transport.frame.FrameBodyTransformer;
 import org.apache.cassandra.transport.messages.ErrorMessage;
 
@@ -222,6 +223,9 @@ public class Frame
 if (buffer.readableBytes() < frameLength)
 return null;
 
+ClientRequestSizeMetrics.totalBytesRead.inc(frameLength);
+ClientRequestSizeMetrics.bytesRecievedPerFrame.update(frameLength);
+
 // extract body
 ByteBuf body = buffer.slice(idx, (int) bodyLength);
 body.retain();
@@ -299,6 +303,10 @@ public class Frame
 header.writeByte(type.opcode);
 header.writeInt(frame.body.readableBytes());
 
+int messageSize = header.readableBytes() + 
frame.body.readableBytes();
+ClientRequestSizeMetrics.totalBytesWritten.inc(messageSize);
+
ClientRequestSizeMetrics

[cassandra] branch trunk updated: Add client request size metrics

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

rustyrazorblade 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 165081a  Add client request size metrics
165081a is described below

commit 165081afdaf82ff36a1ccf46f933faf6f76ec102
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Tue Apr 7 09:57:31 2020 -0700

Add client request size metrics

Patch by Jon Haddad; Reviewed by David Capwell for CASSANDRA-15704
---
 CHANGES.txt|  1 +
 .../metrics/ClientRequestSizeMetrics.java  | 36 
 src/java/org/apache/cassandra/transport/Frame.java |  8 +++
 .../cassandra/transport/ServerMetricsTest.java | 65 ++
 4 files changed, 110 insertions(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index 88ba6cb..878770b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Add client request size server metrics (CASSANDRA-15704)
  * Add additional logging around FileUtils and compaction leftover cleanup 
(CASSANDRA-15705)
  * Mark system_views/system_virtual_schema as non-alterable keyspaces in cqlsh 
(CASSANDRA-15711)
  * Fail incremental repair if an old version sstable is involved 
(CASSANDRA-15612)
diff --git 
a/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java 
b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
new file mode 100644
index 000..41fb162
--- /dev/null
+++ b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
@@ -0,0 +1,36 @@
+/*
+  * 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.metrics;
+
+
+import static org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics;
+
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Histogram;
+
+/**
+ * Metrics to track the size of incoming and outgoing bytes at Cassandra 
server.
+ */
+public class ClientRequestSizeMetrics
+{
+private static final String TYPE = "ClientRequestSize";
+public static final Counter totalBytesRead = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "IncomingBytes", 
null));
+public static final Counter totalBytesWritten = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "OutgoingBytes", 
null));
+public static final Histogram bytesRecievedPerFrame = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesRecievedPerFrame", null), true);
+public static final Histogram bytesTransmittedPerFrame = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesTransmittedPerFrame", null), true);
+}
diff --git a/src/java/org/apache/cassandra/transport/Frame.java 
b/src/java/org/apache/cassandra/transport/Frame.java
index 8163d7a..b597cc2 100644
--- a/src/java/org/apache/cassandra/transport/Frame.java
+++ b/src/java/org/apache/cassandra/transport/Frame.java
@@ -32,6 +32,7 @@ import io.netty.handler.codec.MessageToMessageEncoder;
 import io.netty.util.Attribute;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.exceptions.InvalidRequestException;
+import org.apache.cassandra.metrics.ClientRequestSizeMetrics;
 import org.apache.cassandra.transport.frame.FrameBodyTransformer;
 import org.apache.cassandra.transport.messages.ErrorMessage;
 
@@ -222,6 +223,9 @@ public class Frame
 if (buffer.readableBytes() < frameLength)
 return null;
 
+ClientRequestSizeMetrics.totalBytesRead.inc(frameLength);
+ClientRequestSizeMetrics.bytesRecievedPerFrame.update(frameLength);
+
 // extract body
 ByteBuf body = buffer.slice(idx, (int) bodyLength);
 body.retain();
@@ -299,6 +303,10 @@ public class Frame
 header.writeByte(type.opcode);
 header.writeInt(frame.body.readableBytes());
 
+int messageSize = header.readableBytes() + 
frame.body.readableBytes();
+ClientRequestSizeMetrics.totalBytesWritten.inc(messageSize);
+
ClientRequestSizeMetrics

[cassandra] branch trunk updated: Add client request size metrics

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

rustyrazorblade 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 165081a  Add client request size metrics
165081a is described below

commit 165081afdaf82ff36a1ccf46f933faf6f76ec102
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Tue Apr 7 09:57:31 2020 -0700

Add client request size metrics

Patch by Jon Haddad; Reviewed by David Capwell for CASSANDRA-15704
---
 CHANGES.txt|  1 +
 .../metrics/ClientRequestSizeMetrics.java  | 36 
 src/java/org/apache/cassandra/transport/Frame.java |  8 +++
 .../cassandra/transport/ServerMetricsTest.java | 65 ++
 4 files changed, 110 insertions(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index 88ba6cb..878770b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Add client request size server metrics (CASSANDRA-15704)
  * Add additional logging around FileUtils and compaction leftover cleanup 
(CASSANDRA-15705)
  * Mark system_views/system_virtual_schema as non-alterable keyspaces in cqlsh 
(CASSANDRA-15711)
  * Fail incremental repair if an old version sstable is involved 
(CASSANDRA-15612)
diff --git 
a/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java 
b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
new file mode 100644
index 000..41fb162
--- /dev/null
+++ b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
@@ -0,0 +1,36 @@
+/*
+  * 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.metrics;
+
+
+import static org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics;
+
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Histogram;
+
+/**
+ * Metrics to track the size of incoming and outgoing bytes at Cassandra 
server.
+ */
+public class ClientRequestSizeMetrics
+{
+private static final String TYPE = "ClientRequestSize";
+public static final Counter totalBytesRead = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "IncomingBytes", 
null));
+public static final Counter totalBytesWritten = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "OutgoingBytes", 
null));
+public static final Histogram bytesRecievedPerFrame = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesRecievedPerFrame", null), true);
+public static final Histogram bytesTransmittedPerFrame = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesTransmittedPerFrame", null), true);
+}
diff --git a/src/java/org/apache/cassandra/transport/Frame.java 
b/src/java/org/apache/cassandra/transport/Frame.java
index 8163d7a..b597cc2 100644
--- a/src/java/org/apache/cassandra/transport/Frame.java
+++ b/src/java/org/apache/cassandra/transport/Frame.java
@@ -32,6 +32,7 @@ import io.netty.handler.codec.MessageToMessageEncoder;
 import io.netty.util.Attribute;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.exceptions.InvalidRequestException;
+import org.apache.cassandra.metrics.ClientRequestSizeMetrics;
 import org.apache.cassandra.transport.frame.FrameBodyTransformer;
 import org.apache.cassandra.transport.messages.ErrorMessage;
 
@@ -222,6 +223,9 @@ public class Frame
 if (buffer.readableBytes() < frameLength)
 return null;
 
+ClientRequestSizeMetrics.totalBytesRead.inc(frameLength);
+ClientRequestSizeMetrics.bytesRecievedPerFrame.update(frameLength);
+
 // extract body
 ByteBuf body = buffer.slice(idx, (int) bodyLength);
 body.retain();
@@ -299,6 +303,10 @@ public class Frame
 header.writeByte(type.opcode);
 header.writeInt(frame.body.readableBytes());
 
+int messageSize = header.readableBytes() + 
frame.body.readableBytes();
+ClientRequestSizeMetrics.totalBytesWritten.inc(messageSize);
+
ClientRequestSizeMetrics

[cassandra] 03/06: Renamed metrics based on feedback

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

rustyrazorblade pushed a commit to branch client-metrics
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 9d544700f64515ff02c866784a72515b0c0bea3d
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Wed Apr 8 14:14:19 2020 -0700

Renamed metrics based on feedback
---
 src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java 
b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
index cf26e55..c1d497b 100644
--- a/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
@@ -31,6 +31,6 @@ public class ClientRequestSizeMetrics
 private static final String TYPE = "ClientRequestSize";
 public static final Counter totalBytesRead = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "IncomingBytes", 
null));
 public static final Counter totalBytesWritten = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "OutgoingBytes", 
null));
-public static final Histogram bytesReadPerQueryHistogram = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesReadPerQuery", null), true);
-public static final Histogram bytesWrittenPerQueryHistogram = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesWrittenPerQuery", null), true);
+public static final Histogram bytesReadPerQueryHistogram = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesRecievedPerFrame", null), true);
+public static final Histogram bytesWrittenPerQueryHistogram = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesTransmittedPerFrame", null), true);
 }


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



[cassandra] 02/06: high res

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

rustyrazorblade pushed a commit to branch client-metrics
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 1a98571c1e2dd2a01fe01bd2115c27958253c7c8
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Tue Apr 7 18:14:38 2020 -0700

high res
---
 .circleci/config.yml | 82 ++--
 1 file changed, 41 insertions(+), 41 deletions(-)

diff --git a/.circleci/config.yml b/.circleci/config.yml
index 3757f46..7fecdfe 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -3,10 +3,10 @@ jobs:
   j8_jvm_upgrade_dtests:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
-parallelism: 1
+parallelism: 2
 steps:
 - attach_workspace:
 at: /home/cassandra
@@ -94,10 +94,10 @@ jobs:
   j8_cqlsh-dtests-py2-with-vnodes:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
-parallelism: 4
+parallelism: 100
 steps:
 - attach_workspace:
 at: /home/cassandra
@@ -171,10 +171,10 @@ jobs:
   j11_unit_tests:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11:20181210
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
-parallelism: 4
+parallelism: 100
 steps:
 - attach_workspace:
 at: /home/cassandra
@@ -263,10 +263,10 @@ jobs:
   j11_cqlsh-dtests-py3-with-vnodes:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11:20181210
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
-parallelism: 4
+parallelism: 100
 steps:
 - attach_workspace:
 at: /home/cassandra
@@ -341,10 +341,10 @@ jobs:
   j11_cqlsh-dtests-py3-no-vnodes:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11:20181210
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
-parallelism: 4
+parallelism: 100
 steps:
 - attach_workspace:
 at: /home/cassandra
@@ -419,10 +419,10 @@ jobs:
   j8_cqlsh-dtests-py3-with-vnodes:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
-parallelism: 4
+parallelism: 100
 steps:
 - attach_workspace:
 at: /home/cassandra
@@ -496,10 +496,10 @@ jobs:
   j8_cqlsh-dtests-py2-no-vnodes:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
-parallelism: 4
+parallelism: 100
 steps:
 - attach_workspace:
 at: /home/cassandra
@@ -573,10 +573,10 @@ jobs:
   j11_cqlsh-dtests-py2-with-vnodes:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11:20181210
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
-parallelism: 4
+parallelism: 100
 steps:
 - attach_workspace:
 at: /home/cassandra
@@ -651,10 +651,10 @@ jobs:
   j11_dtests-with-vnodes:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11:20181210
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
-parallelism: 4
+parallelism: 100
 steps:
 - attach_workspace:
 at: /home/cassandra
@@ -732,10 +732,10 @@ jobs:
   j8_dtests-no-vnodes:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
-parallelism: 4
+parallelism: 100
 steps:
 - attach_workspace:
 at: /home/cassandra
@@ -790,10 +790,10 @@ jobs:
   j8_upgradetests-no-vnodes:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
-parallelism: 4
+parallelism: 100
 steps:
 - attach_workspace:
 at: /home/cassandra
@@ -889,7 +889,7 @@ jobs:
   utests_stress:
 docker:
 - image: spod/cassandra-testing-ubuntu1810-java11-w-dependencies:20190306
-resource_class: medium
+resource_class: xlarge
 working_directory: ~/
 shell: /bin/bash -eo pipefail -l
 parallelism: 1
@@ -934,10

[cassandra] 04/06: reworked the metric into the frame encoder / decoder instead of the pipeline

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

rustyrazorblade pushed a commit to branch client-metrics
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit fc9fd13bdf22d3ec91fe9e320d5c692193c8890e
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Wed Apr 8 14:50:18 2020 -0700

reworked the metric into the frame encoder / decoder instead of the pipeline
---
 .../metrics/ClientRequestSizeMetrics.java  |  4 +-
 .../transport/ClientRequestSizeMetricsHandler.java | 58 --
 src/java/org/apache/cassandra/transport/Frame.java |  8 +++
 .../org/apache/cassandra/transport/Server.java |  5 --
 .../ClientRequestSizeMetricsHandlerTest.java   | 55 ++--
 5 files changed, 14 insertions(+), 116 deletions(-)

diff --git 
a/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java 
b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
index c1d497b..41fb162 100644
--- a/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
@@ -31,6 +31,6 @@ public class ClientRequestSizeMetrics
 private static final String TYPE = "ClientRequestSize";
 public static final Counter totalBytesRead = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "IncomingBytes", 
null));
 public static final Counter totalBytesWritten = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "OutgoingBytes", 
null));
-public static final Histogram bytesReadPerQueryHistogram = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesRecievedPerFrame", null), true);
-public static final Histogram bytesWrittenPerQueryHistogram = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesTransmittedPerFrame", null), true);
+public static final Histogram bytesRecievedPerFrame = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesRecievedPerFrame", null), true);
+public static final Histogram bytesTransmittedPerFrame = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesTransmittedPerFrame", null), true);
 }
diff --git 
a/src/java/org/apache/cassandra/transport/ClientRequestSizeMetricsHandler.java 
b/src/java/org/apache/cassandra/transport/ClientRequestSizeMetricsHandler.java
deleted file mode 100644
index 33fe034..000
--- 
a/src/java/org/apache/cassandra/transport/ClientRequestSizeMetricsHandler.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-  * 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.transport;
-
-import java.util.List;
-
-import io.netty.buffer.ByteBuf;
-import io.netty.channel.ChannelHandler;
-import io.netty.channel.ChannelHandlerContext;
-import io.netty.handler.codec.MessageToMessageCodec;
-import org.apache.cassandra.metrics.ClientRequestSizeMetrics;
-
-/**
- * Records the number of bytes read off of and written to the network
- * Normally we only use the MessageToMessageCodec to apply a transformation in 
the Netty messaging pipeline
- * Here we need to ensure the ByteBuf sticks around past this Handler, so we 
need to remember to call retain()
- */
-@ChannelHandler.Sharable
-public class ClientRequestSizeMetricsHandler extends 
MessageToMessageCodec
-{
-@Override
-public void decode(ChannelHandlerContext ctx, ByteBuf buf, List 
results)
-{
-final long messageSize = buf.writerIndex() - buf.readerIndex();
-ClientRequestSizeMetrics.totalBytesRead.inc(messageSize);
-
ClientRequestSizeMetrics.bytesReadPerQueryHistogram.update(messageSize);
-// the buffer needs to be retained here due to Netty's internal 
requirements.  Without it the buffer may be freed
-buf.retain();
-results.add(buf);
-}
-
-@Override
-public void encode(ChannelHandlerContext ctx, ByteBuf buf, List 
results)
-{
-final long messageSize = buf.writerIndex() - buf.readerIndex();
-ClientRequestSizeMetrics.totalBytesWritten.inc(messageSize);
-
ClientRequestSizeMetrics.bytesWrittenPerQueryHistogram.update(mess

[cassandra] 01/06: Add client request size metrics

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

rustyrazorblade pushed a commit to branch client-metrics
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 1fea9a507079cde5c9e87f8c70c8f33cb2c7486c
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Tue Apr 7 09:57:31 2020 -0700

Add client request size metrics

Patch by Jon Haddad for CASSANDRA-15704
---
 .../metrics/ClientRequestSizeMetrics.java  |  36 +++
 .../transport/ClientRequestSizeMetricsHandler.java |  58 +++
 .../org/apache/cassandra/transport/Server.java |   5 +
 .../ClientRequestSizeMetricsHandlerTest.java   | 112 +
 4 files changed, 211 insertions(+)

diff --git 
a/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java 
b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
new file mode 100644
index 000..cf26e55
--- /dev/null
+++ b/src/java/org/apache/cassandra/metrics/ClientRequestSizeMetrics.java
@@ -0,0 +1,36 @@
+/*
+  * 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.metrics;
+
+
+import static org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics;
+
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Histogram;
+
+/**
+ * Metrics to track the size of incoming and outgoing bytes at Cassandra 
server.
+ */
+public class ClientRequestSizeMetrics
+{
+private static final String TYPE = "ClientRequestSize";
+public static final Counter totalBytesRead = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "IncomingBytes", 
null));
+public static final Counter totalBytesWritten = 
Metrics.counter(DefaultNameFactory.createMetricName(TYPE, "OutgoingBytes", 
null));
+public static final Histogram bytesReadPerQueryHistogram = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesReadPerQuery", null), true);
+public static final Histogram bytesWrittenPerQueryHistogram = 
Metrics.histogram(DefaultNameFactory.createMetricName(TYPE, 
"BytesWrittenPerQuery", null), true);
+}
diff --git 
a/src/java/org/apache/cassandra/transport/ClientRequestSizeMetricsHandler.java 
b/src/java/org/apache/cassandra/transport/ClientRequestSizeMetricsHandler.java
new file mode 100644
index 000..33fe034
--- /dev/null
+++ 
b/src/java/org/apache/cassandra/transport/ClientRequestSizeMetricsHandler.java
@@ -0,0 +1,58 @@
+/*
+  * 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.transport;
+
+import java.util.List;
+
+import io.netty.buffer.ByteBuf;
+import io.netty.channel.ChannelHandler;
+import io.netty.channel.ChannelHandlerContext;
+import io.netty.handler.codec.MessageToMessageCodec;
+import org.apache.cassandra.metrics.ClientRequestSizeMetrics;
+
+/**
+ * Records the number of bytes read off of and written to the network
+ * Normally we only use the MessageToMessageCodec to apply a transformation in 
the Netty messaging pipeline
+ * Here we need to ensure the ByteBuf sticks around past this Handler, so we 
need to remember to call retain()
+ */
+@ChannelHandler.Sharable
+public class ClientRequestSizeMetricsHandler extends 
MessageToMessageCodec
+{
+@Override
+public void decode(ChannelHandlerContext ctx, ByteBuf buf, List 
results)
+{
+final long messageSize = buf.writerInd

[cassandra] 05/06: renamed class

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

rustyrazorblade pushed a commit to branch client-metrics
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit d77fc6ed4774acaf61e30ac4a829893dc19f8e32
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Thu Apr 9 10:03:58 2020 -0700

renamed class
---
 ...lientRequestSizeMetricsHandlerTest.java => ServerMetricsTest.java} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/test/unit/org/apache/cassandra/transport/ClientRequestSizeMetricsHandlerTest.java
 b/test/unit/org/apache/cassandra/transport/ServerMetricsTest.java
similarity index 94%
rename from 
test/unit/org/apache/cassandra/transport/ClientRequestSizeMetricsHandlerTest.java
rename to test/unit/org/apache/cassandra/transport/ServerMetricsTest.java
index 1a8be13..081da00 100644
--- 
a/test/unit/org/apache/cassandra/transport/ClientRequestSizeMetricsHandlerTest.java
+++ b/test/unit/org/apache/cassandra/transport/ServerMetricsTest.java
@@ -31,9 +31,9 @@ import org.apache.cassandra.metrics.ClientRequestSizeMetrics;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /**
- * Ensures we properly account for bytes read from and to clients
+ * Ensures we properly account for metrics tracked in the native protocol
  */
-public class ClientRequestSizeMetricsHandlerTest extends CQLTester
+public class ServerMetricsTest extends CQLTester
 {
 private long totalBytesReadStart;
 private long totalBytesWrittenStart;


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



[cassandra] 06/06: minor tweaks

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

rustyrazorblade pushed a commit to branch client-metrics
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 6a05bbd5fd817c91cc709bae63179e94365cc58a
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Thu Apr 9 17:32:33 2020 -0700

minor tweaks
---
 src/java/org/apache/cassandra/transport/Frame.java | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/java/org/apache/cassandra/transport/Frame.java 
b/src/java/org/apache/cassandra/transport/Frame.java
index 4a20a50..b597cc2 100644
--- a/src/java/org/apache/cassandra/transport/Frame.java
+++ b/src/java/org/apache/cassandra/transport/Frame.java
@@ -303,12 +303,12 @@ public class Frame
 header.writeByte(type.opcode);
 header.writeInt(frame.body.readableBytes());
 
-results.add(header);
-results.add(frame.body);
-
-int messageSize = header.writerIndex() + frame.body.writerIndex();
+int messageSize = header.readableBytes() + 
frame.body.readableBytes();
 ClientRequestSizeMetrics.totalBytesWritten.inc(messageSize);
 
ClientRequestSizeMetrics.bytesTransmittedPerFrame.update(messageSize);
+
+results.add(header);
+results.add(frame.body);
 }
 }
 


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



[cassandra] branch client-metrics created (now 6a05bbd)

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

rustyrazorblade pushed a change to branch client-metrics
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


  at 6a05bbd  minor tweaks

This branch includes the following new commits:

 new 1fea9a5  Add client request size metrics
 new 1a98571  high res
 new 9d54470  Renamed metrics based on feedback
 new fc9fd13  reworked the metric into the frame encoder / decoder instead 
of the pipeline
 new d77fc6e  renamed class
 new 6a05bbd  minor tweaks

The 6 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.



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



[cassandra] branch trunk updated: Add additional logging around FileUtils and compaction leftover cleanup

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

rustyrazorblade 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 e485636  Add additional logging around FileUtils and compaction 
leftover cleanup
e485636 is described below

commit e485636ff1ea53221c3b22b1b0e88fad0a009f2e
Author: David Capwell 
AuthorDate: Tue Apr 7 16:43:40 2020 -0700

Add additional logging around FileUtils and compaction leftover cleanup

Patch by David Capwell; Reviewed by Jon Haddad for CASSANDRA-15705
---
 CHANGES.txt|  1 +
 src/java/org/apache/cassandra/db/ColumnFamilyStore.java|  3 +++
 .../org/apache/cassandra/db/lifecycle/LogTransaction.java  |  6 +-
 src/java/org/apache/cassandra/io/util/FileUtils.java   | 14 +++---
 4 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 2ad2aab..88ba6cb 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Add additional logging around FileUtils and compaction leftover cleanup 
(CASSANDRA-15705)
  * Mark system_views/system_virtual_schema as non-alterable keyspaces in cqlsh 
(CASSANDRA-15711)
  * Fail incremental repair if an old version sstable is involved 
(CASSANDRA-15612)
  * Fix overflows on StreamingTombstoneHistogramBuilder produced by large 
deletion times (CASSANDRA-14773)
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index ea04c86..e6bb877 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -635,7 +635,10 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
 {
 cleanedDirectories.add(directory);
 for (File tmpFile : desc.getTemporaryFiles())
+{
+logger.info("Removing unfinished temporary file {}", 
tmpFile);
 tmpFile.delete();
+}
 }
 
 File dataFile = new File(desc.filenameFor(Component.DATA));
diff --git a/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java 
b/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java
index 4adff86..4039322 100644
--- a/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java
+++ b/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java
@@ -30,6 +30,7 @@ import java.util.function.Predicate;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.util.concurrent.Runnables;
+import org.apache.cassandra.service.StorageService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -214,7 +215,9 @@ class LogTransaction extends 
Transactional.AbstractTransactional implements Tran
 {
 try
 {
-if (logger.isTraceEnabled())
+if (!StorageService.instance.isDaemonSetupCompleted())
+logger.info("Unfinished transaction log, deleting {} ", file);
+else if (logger.isTraceEnabled())
 logger.trace("Deleting {}", file);
 
 Files.delete(file.toPath());
@@ -479,6 +482,7 @@ class LogTransaction extends 
Transactional.AbstractTransactional implements Tran
 {
 try(LogFile txn = LogFile.make(entry.getKey(), entry.getValue()))
 {
+logger.info("Verifying logfile transaction {}", txn);
 if (txn.verify())
 {
 Throwable failure = txn.removeUnfinishedLeftovers(null);
diff --git a/src/java/org/apache/cassandra/io/util/FileUtils.java 
b/src/java/org/apache/cassandra/io/util/FileUtils.java
index 549e544..2be6b5e 100644
--- a/src/java/org/apache/cassandra/io/util/FileUtils.java
+++ b/src/java/org/apache/cassandra/io/util/FileUtils.java
@@ -43,16 +43,15 @@ import java.util.concurrent.atomic.AtomicReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.cassandra.utils.SyncUtil;
-
 import org.apache.cassandra.concurrent.ScheduledExecutors;
 import org.apache.cassandra.io.FSError;
 import org.apache.cassandra.io.FSErrorHandler;
 import org.apache.cassandra.io.FSReadError;
 import org.apache.cassandra.io.FSWriteError;
 import org.apache.cassandra.io.sstable.CorruptSSTableException;
+import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.JVMStabilityInspector;
-import org.apache.cassandra.utils.memory.MemoryUtil;
+import org.apache.cassandra.utils.SyncUtil;
 
 import static com.google.common.base.Throwables.propagate;
 import static org.apache.cassandra.utils.Throwables.maybeFail;
@@ -192,6 +191,9 @@ public final class FileUtils
 {
 try
 {
+if (!StorageService.instance.isDaemonSetupCompleted()

[cassandra] branch trunk updated: Only track ideal CL failure when request CL met

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

rustyrazorblade 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 0e0d288  Only track ideal CL failure when request CL met
0e0d288 is described below

commit 0e0d288ab7e87e7d4a7542c955dd06701798bd06
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Mon Apr 6 12:53:27 2020 -0700

Only track ideal CL failure when request CL met

Ideal consistency level tracking should not report a failure when requested 
CL
was also not met either.

Patch by Jon Haddad; Reviewed by Dinesh Joshi for CASSANDRA-15696.
---
 CHANGES.txt|  1 +
 .../service/AbstractWriteResponseHandler.java  | 17 --
 .../service/WriteResponseHandlerTest.java  | 26 ++
 3 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index fb881de..95a6802 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Only track ideal CL failure when request CL met (CASSANDRA-15696)
  * Fix flaky CoordinatorMessagingTest and docstring in OutboundSink and 
ConsistentSession (CASSANDRA-15672)
  * Fix force compaction of wrapping ranges (CASSANDRA-15664)
  * Expose repair streaming metrics (CASSANDRA-15656)
diff --git 
a/src/java/org/apache/cassandra/service/AbstractWriteResponseHandler.java 
b/src/java/org/apache/cassandra/service/AbstractWriteResponseHandler.java
index 1889c79..b1eb5b3 100644
--- a/src/java/org/apache/cassandra/service/AbstractWriteResponseHandler.java
+++ b/src/java/org/apache/cassandra/service/AbstractWriteResponseHandler.java
@@ -74,6 +74,11 @@ public abstract class AbstractWriteResponseHandler 
implements RequestCallback
 private AbstractWriteResponseHandler idealCLDelegate;
 
 /**
+ * We don't want to increment the writeFailedIdealCL if we didn't achieve 
the original requested CL
+ */
+private boolean requestedCLAchieved = false;
+
+/**
  * @param callback   A callback to be called when the write is 
successful.
  * @param queryStartNanoTime
  */
@@ -232,6 +237,13 @@ public abstract class AbstractWriteResponseHandler 
implements RequestCallback
 
 protected void signal()
 {
+//The ideal CL should only count as a strike if the requested CL was 
achieved.
+//If the requested CL is not achieved it's fine for the ideal CL to 
also not be achieved.
+if (idealCLDelegate != null)
+{
+idealCLDelegate.requestedCLAchieved = true;
+}
+
 condition.signalAll();
 if (callback != null)
 callback.run();
@@ -279,8 +291,9 @@ public abstract class AbstractWriteResponseHandler 
implements RequestCallback
 int decrementedValue = responsesAndExpirations.decrementAndGet();
 if (decrementedValue == 0)
 {
-//The condition being signaled is a valid proxy for the CL being 
achieved
-if (!condition.isSignaled())
+// The condition being signaled is a valid proxy for the CL being 
achieved
+// Only mark it as failed if the requested CL was achieved.
+if (!condition.isSignaled() && requestedCLAchieved)
 {
 replicaPlan.keyspace().metric.writeFailedIdealCL.inc();
 }
diff --git 
a/test/unit/org/apache/cassandra/service/WriteResponseHandlerTest.java 
b/test/unit/org/apache/cassandra/service/WriteResponseHandlerTest.java
index f06b706..5d8d191 100644
--- a/test/unit/org/apache/cassandra/service/WriteResponseHandlerTest.java
+++ b/test/unit/org/apache/cassandra/service/WriteResponseHandlerTest.java
@@ -232,6 +232,32 @@ public class WriteResponseHandlerTest
 assertEquals(0, ks.metric.idealCLWriteLatency.totalLatency.getCount());
 }
 
+/**
+ * Validate that failing to achieve ideal CL doesn't increase the failure 
counter when not meeting CL
+ * @throws Throwable
+ */
+@Test
+public void failedIdealCLDoesNotIncrementsStatOnQueryFailure() throws 
Throwable
+{
+AbstractWriteResponseHandler awr = 
createWriteResponseHandler(ConsistencyLevel.LOCAL_QUORUM, 
ConsistencyLevel.EACH_QUORUM);
+
+long startingCount = ks.metric.writeFailedIdealCL.getCount();
+
+// Failure in local DC
+awr.onResponse(createDummyMessage(0));
+
+awr.expired();
+awr.expired();
+
+//Fail in remote DC
+awr.expired();
+awr.expired();
+awr.expired();
+
+assertEquals(startingCount, ks.metric.writeFailedIdealCL.getCount());
+}
+
+
 private static AbstractWriteResponseHandler 
createWriteResponseHandler(ConsistencyLevel cl, ConsistencyLevel ideal)
 {
 return createWriteResponseHandler(cl, ideal, System.

[cassandra] branch trunk updated: Republished 3.11.6 NEWS.txt, CHANGES.txt

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

rustyrazorblade 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 45911cb  Republished 3.11.6 NEWS.txt, CHANGES.txt
45911cb is described below

commit 45911cba758fb42effcd52fe52bac91df9143548
Author: Erick Ramirez 
AuthorDate: Tue Mar 31 07:07:07 2020 +

Republished 3.11.6 NEWS.txt, CHANGES.txt

Patch by Erick Ramirez; Reviewed by Jon Haddad for CASSANDRA-15678
---
 CHANGES.txt | 29 +
 NEWS.txt| 26 ++
 2 files changed, 55 insertions(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index dbe5926..b71d8da 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -496,6 +496,35 @@ Merged from 3.0:
  * Multi-version in-JVM dtests (CASSANDRA-14937)
  * Allow instance class loaders to be garbage collected for inJVM dtest 
(CASSANDRA-15170)
 
+3.11.6
+ * 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)
+ * Fix LegacyLayout to have same behavior as 2.x when handling unknown column 
names (CASSANDRA-15081)
+ * Update nodetool help stop output (CASSANDRA-15401)
+Merged from 3.0:
+ * Run in-jvm upgrade dtests in circleci (CASSANDRA-15506)
+ * Include updates to static column in mutation size calculations 
(CASSANDRA-15293)
+ * Fix point-in-time recoevery ignoring timestamp of updates to static columns 
(CASSANDRA-15292)
+ * GC logs are also put under $CASSANDRA_LOG_DIR (CASSANDRA-14306)
+ * Fix sstabledump's position key value when partitions have multiple rows 
(CASSANDRA-14721)
+ * Avoid over-scanning data directories in LogFile.verify() (CASSANDRA-15364)
+ * Bump generations and document changes to system_distributed and 
system_traces in 3.0, 3.11
+   (CASSANDRA-15441)
+ * Fix system_traces creation timestamp; optimise system keyspace upgrades 
(CASSANDRA-15398)
+ * Fix various data directory prefix matching issues (CASSANDRA-13974)
+ * Minimize clustering values in metadata collector (CASSANDRA-15400)
+ * Avoid over-trimming of results in mixed mode clusters (CASSANDRA-15405)
+ * validate value sizes in LegacyLayout (CASSANDRA-15373)
+ * Ensure that tracing doesn't break connections in 3.x/4.0 mixed mode by 
default (CASSANDRA-15385)
+ * Make sure index summary redistribution does not start when compactions are 
paused (CASSANDRA-15265)
+ * Ensure legacy rows have primary key livenessinfo when they contain illegal 
cells (CASSANDRA-15365)
+ * Fix race condition when setting bootstrap flags (CASSANDRA-14878)
+Merged from 2.2:
+ * Fix SELECT JSON output for empty blobs (CASSANDRA-15435)
+ * In-JVM DTest: Set correct internode message version for upgrade test 
(CASSANDRA-15371)
+ * In-JVM DTest: Support NodeTool in dtest (CASSANDRA-15429)
+ * Fix NativeLibrary.tryOpenDirectory callers for Windows (CASSANDRA-15426)
 
 3.11.5
  * Fix cassandra-env.sh to use $CASSANDRA_CONF to find cassandra-jaas.config 
(CASSANDRA-14305)
diff --git a/NEWS.txt b/NEWS.txt
index 7d716fc..2f65586 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -258,6 +258,32 @@ Materialized Views
   to be NOT NULL, and no base primary key columns get automatically 
included in view definition. You have to
   specify them explicitly now.
 
+3.11.6
+==
+
+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

[cassandra] branch trunk updated: Use more appropriate logging levels.

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

rustyrazorblade 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 dd9a6e0  Use more appropriate logging levels.
dd9a6e0 is described below

commit dd9a6e0a8a691bdee357eb6559f1b2b92b076925
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Tue Mar 24 13:44:17 2020 -0700

Use more appropriate logging levels.

The following logging was changed:

* When the Commit log reader finishes logging each segment, from debug to 
info
* When starting a new compaction, logging details of the compaction task, 
from debug -> info
* When finishing a compaction, logging details of how many sstables, sizes, 
etc, from debug -> info
* When performing a validation compaction, adding helpful logging
* When flushing memtables, log details. debug -> info
* When flushing largest memtable to free up room, logging more details at 
INFO
* Various logging messages for incremental repair moved to INFO from debug
* When failing incremental repair phase, log a warning instead of debug 
message

Patch by Jon Haddad; Reviewed by Alexander Dejanovski for CASSANDRA-15661
---
 CHANGES.txt|  1 +
 .../org/apache/cassandra/db/ColumnFamilyStore.java |  4 +--
 src/java/org/apache/cassandra/db/Memtable.java | 12 
 .../cassandra/db/commitlog/CommitLogReader.java|  2 +-
 .../cassandra/db/compaction/CompactionTask.java| 33 +++---
 .../db/repair/CassandraValidationIterator.java |  2 ++
 .../org/apache/cassandra/io/sstable/SSTable.java   |  2 +-
 .../cassandra/io/sstable/format/SSTableReader.java |  6 ++--
 .../apache/cassandra/repair/ValidationManager.java |  1 +
 .../repair/consistent/CoordinatorSession.java  | 12 
 .../cassandra/repair/consistent/LocalSessions.java | 18 ++--
 .../transport/ConnectionLimitHandler.java  |  4 +--
 12 files changed, 48 insertions(+), 49 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 3057ca6..dbe5926 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Use more appropriate logging levels (CASSANDRA-15661)
  * Added production recommendations and improved compaction doc organization
  * Document usage of EC2Snitch with intra-region VPC peering (CASSANDRA-15337)
  * Fixed flakey test in SASIIndexTest by shutting down its ExecutorService 
(CASSANDRA-15528)
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 61129bb..ea04c86 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -843,7 +843,7 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
 offHeapTotal += allocator.offHeap().owns();
 }
 
-logger.debug("Enqueuing flush of {}: {}",
+logger.info("Enqueuing flush of {}: {}",
  name,
  String.format("%s (%.0f%%) on-heap, %s (%.0f%%) off-heap",
FBUtilities.prettyPrintMemory(onHeapTotal),
@@ -1233,7 +1233,7 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
 float flushingOffHeap = 
Memtable.MEMORY_POOL.offHeap.reclaimingRatio();
 float thisOnHeap = 
largest.getAllocator().onHeap().ownershipRatio();
 float thisOffHeap = 
largest.getAllocator().offHeap().ownershipRatio();
-logger.debug("Flushing largest {} to free up room. Used total: 
{}, live: {}, flushing: {}, this: {}",
+logger.info("Flushing largest {} to free up room. Used total: 
{}, live: {}, flushing: {}, this: {}",
 largest.cfs, ratio(usedOnHeap, usedOffHeap), 
ratio(liveOnHeap, liveOffHeap),
 ratio(flushingOnHeap, flushingOffHeap), 
ratio(thisOnHeap, thisOffHeap));
 largest.cfs.switchMemtableIfCurrent(largest);
diff --git a/src/java/org/apache/cassandra/db/Memtable.java 
b/src/java/org/apache/cassandra/db/Memtable.java
index 436b7ef..ba6337b 100644
--- a/src/java/org/apache/cassandra/db/Memtable.java
+++ b/src/java/org/apache/cassandra/db/Memtable.java
@@ -449,8 +449,7 @@ public class Memtable implements Comparable
 
 private void writeSortedContents()
 {
-if (logger.isDebugEnabled())
-logger.debug("Writing {}, flushed range = ({}, {}]", 
Memtable.this.toString(), from, to);
+logger.info("Writing {}, flushed range = ({}, {}]", 
Memtable.this.toString(), from, to);
 
 boolean trackContention = logger.isTraceEnabled();
 int heavilyContendedRowCount = 0;
@@ -479,11 +478,10 @@

[cassandra] branch trunk updated: Update README.asc

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

rustyrazorblade 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 239ba66  Update README.asc
239ba66 is described below

commit 239ba660d44b7ccc2028aed8c866124276ca8b1c
Author: Chris Stokesmore 
AuthorDate: Mon Mar 30 17:54:59 2020 +0100

Update README.asc

Point people to ASF Slack rather than IRC

Closes #498
---
 README.asc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.asc b/README.asc
index 910f399..20fee32 100644
--- a/README.asc
+++ b/README.asc
@@ -84,7 +84,7 @@ reasonable way to think of it is as, "SQL minus joins and 
subqueries, plus colle
 
 Wondering where to go from here?
 
-  * Join us in #cassandra on irc.freenode.net and ask questions
+  * Join us in #cassandra on the https://s.apache.org/slack-invite[ASF Slack] 
and ask questions
   * Subscribe to the Users mailing list by sending a mail to
 user-subscr...@cassandra.apache.org
   * Visit the http://cassandra.apache.org/community/[community section] of the 
Cassandra website for more information on getting involved.


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



[cassandra] branch trunk updated: Added production recommendations and improved compaction doc organization.

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

rustyrazorblade 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 4dcee71  Added production recommendations and improved compaction doc 
organization.
4dcee71 is described below

commit 4dcee71b2de36b52feddf720564f6e58ad8fcc6d
Author: Jon Haddad j...@jonhaddad.com 
AuthorDate: Mon Mar 9 16:46:03 2020 -0700

Added production recommendations and improved compaction doc organization.

Each compaction strategy gets its own page.
No longer recommending m1 instances in AWS.

Patch by Jon Haddad; Reviewed by Jordan West for CASSANDRA-15618.
---
 CHANGES.txt|   1 +
 doc/source/getting_started/index.rst   |   1 +
 doc/source/getting_started/production.rst  | 156 +
 .../{compaction.rst => compaction/index.rst}   | 184 +++--
 doc/source/operating/compaction/lcs.rst|  90 ++
 doc/source/operating/compaction/stcs.rst   |  58 +++
 doc/source/operating/compaction/twcs.rst   |  76 +
 doc/source/operating/hardware.rst  |   2 -
 doc/source/operating/index.rst |   2 +-
 9 files changed, 402 insertions(+), 168 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 4cf5421..3057ca6 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Added production recommendations and improved compaction doc organization
  * Document usage of EC2Snitch with intra-region VPC peering (CASSANDRA-15337)
  * Fixed flakey test in SASIIndexTest by shutting down its ExecutorService 
(CASSANDRA-15528)
  * Fixed empty check in TrieMemIndex due to potential state inconsistency in 
ConcurrentSkipListMap (CASSANDRA-15526)
diff --git a/doc/source/getting_started/index.rst 
b/doc/source/getting_started/index.rst
index 4ca9c4d..a699aee 100644
--- a/doc/source/getting_started/index.rst
+++ b/doc/source/getting_started/index.rst
@@ -29,5 +29,6 @@ Cassandra.
configuring
querying
drivers
+   production
 
 
diff --git a/doc/source/getting_started/production.rst 
b/doc/source/getting_started/production.rst
new file mode 100644
index 000..fe0c4a5
--- /dev/null
+++ b/doc/source/getting_started/production.rst
@@ -0,0 +1,156 @@
+.. 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.
+
+Production Recommendations
+
+
+The ``cassandra.yaml`` and ``jvm.options`` files have a number of notes and 
recommendations for production usage.  This page
+expands on some of the notes in these files with additional information.
+
+Tokens
+^^^
+
+Using more than 1 token (referred to as vnodes) allows for more flexible 
expansion and more streaming peers when
+bootstrapping new nodes into the cluster.  This can limit the negative impact 
of streaming (I/O and CPU overhead)
+as well as allow for incremental cluster expansion.
+
+As a tradeoff, more tokens will lead to sharing data with more peers, which 
can result in decreased availability.  To learn more about this we
+recommend reading `this paper 
<https://github.com/jolynch/python_performance_toolkit/raw/master/notebooks/cassandra_availability/whitepaper/cassandra-availability-virtual.pdf>`_.
+
+The number of tokens can be changed using the following setting:
+
+``num_tokens: 16``
+
+
+Here are the most common token counts with a brief explanation of when and why 
you would use each one.
+
++-+---+
+| Token Count | Description
   |
++=+===+
+| 1   | Maximum availablility, maximum cluster size, fewest peers, 
   |
+| | but inflexible expansion.  Must always 
   |
+| | dou

[cassandra] branch trunk updated: Document usage of EC2Snitch with intra-region VPC peering

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

rustyrazorblade 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 03424b4  Document usage of EC2Snitch with intra-region VPC peering
03424b4 is described below

commit 03424b4fd728cb3e97be30117a03532f37459858
Author: Serban Teodorescu 
AuthorDate: Wed Sep 25 19:50:14 2019 +0300

Document usage of EC2Snitch with intra-region VPC peering

Patch by Serban Teodorescu; Reviewed by Jon Haddad for CASSANDRA-15337
---
 CHANGES.txt | 1 +
 doc/source/operating/snitch.rst | 8 +---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index f6a4495..4cf5421 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Document usage of EC2Snitch with intra-region VPC peering (CASSANDRA-15337)
  * Fixed flakey test in SASIIndexTest by shutting down its ExecutorService 
(CASSANDRA-15528)
  * Fixed empty check in TrieMemIndex due to potential state inconsistency in 
ConcurrentSkipListMap (CASSANDRA-15526)
  * Add compaction allocation measurement test (CASSANDRA-15388)
diff --git a/doc/source/operating/snitch.rst b/doc/source/operating/snitch.rst
index 85bd9e8..b716e82 100644
--- a/doc/source/operating/snitch.rst
+++ b/doc/source/operating/snitch.rst
@@ -65,9 +65,11 @@ PropertyFileSnitch
 ``cassandra-topology.properties``.
 
 Ec2Snitch
-Appropriate for EC2 deployments in a single Region. Loads Region and 
Availability Zone information from the EC2 API.
-The Region is treated as the datacenter, and the Availability Zone as the 
rack. Only private IPs are used, so this
-will not work across multiple regions.
+Appropriate for EC2 deployments in a single Region, or in multiple regions 
with inter-region VPC enabled (available
+since the end of 2017, see `AWS announcement 
<https://aws.amazon.com/about-aws/whats-new/2017/11/announcing-support-for-inter-region-vpc-peering/>`_).
+Loads Region and Availability Zone information from the EC2 API. The 
Region is treated as the datacenter, and the
+Availability Zone as the rack. Only private IPs are used, so this will 
work across multiple regions only if
+inter-region VPC is enabled.
 
 Ec2MultiRegionSnitch
 Uses public IPs as broadcast_address to allow cross-region connectivity 
(thus, you should set seed addresses to the


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



[cassandra-sidecar] branch master updated: Security patch for snake yaml

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

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


The following commit(s) were added to refs/heads/master by this push:
 new c2d684d  Security patch for snake yaml
c2d684d is described below

commit c2d684d7423bbf02a6fc231345eb1c2335cbc0b3
Author: Jon Haddad 
AuthorDate: Mon Mar 9 12:45:10 2020 -0700

Security patch for snake yaml

Bumped commons-configuration2 to latest version and correctly use
YAMLConfiguration.

Patch by Jon Haddad; Reviewed by Dinesh Joshi for CASSANDRASC-12
---
 CHANGES.txt|  1 +
 build.gradle   |  4 ++--
 src/main/java/org/apache/cassandra/sidecar/MainModule.java | 12 
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 00defa6..7e12540 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,6 @@
 1.0.0
 -
+ * Security patch to fix incorrect usage of yaml configuration (CASSANDRASC-12)
  * Build and Test with both Java 8 & 11 in Circle CI (CASSANDRA-15611)
  * Upgraded Gradle and replaced FindBugs with SpotBugs (CASSANDRA-15610)
  * Improving local HealthCheckTest reliability (CASSANDRA-15615)
diff --git a/build.gradle b/build.gradle
index f080eb6..6aa46d5 100644
--- a/build.gradle
+++ b/build.gradle
@@ -85,10 +85,10 @@ dependencies {
 
 compile 'com.datastax.cassandra:cassandra-driver-core:3.6+'
 compile group: 'com.google.inject', name: 'guice', version: '4.2.2'
-compile group: 'org.apache.commons', name: 'commons-configuration2', 
version: '2.4'
+compile group: 'org.apache.commons', name: 'commons-configuration2', 
version: '2.7'
 
 runtime group: 'commons-beanutils', name: 'commons-beanutils', version: 
'1.9.3'
-runtime group: 'org.yaml', name: 'snakeyaml', version: '1.23'
+runtime group: 'org.yaml', name: 'snakeyaml', version: '1.26'
 
 jolokia 'org.jolokia:jolokia-jvm:1.6.0:agent'
 swaggerUI 'org.webjars:swagger-ui:3.10.0'
diff --git a/src/main/java/org/apache/cassandra/sidecar/MainModule.java 
b/src/main/java/org/apache/cassandra/sidecar/MainModule.java
index 38a53f8..82c9c69 100644
--- a/src/main/java/org/apache/cassandra/sidecar/MainModule.java
+++ b/src/main/java/org/apache/cassandra/sidecar/MainModule.java
@@ -18,11 +18,12 @@
 
 package org.apache.cassandra.sidecar;
 
+import java.io.IOException;
+import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
 
 import org.apache.commons.configuration2.YAMLConfiguration;
-import org.apache.commons.configuration2.builder.fluent.Configurations;
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -106,15 +107,18 @@ public class MainModule extends AbstractModule
 
 @Provides
 @Singleton
-public Configuration configuration() throws ConfigurationException
+public Configuration configuration() throws ConfigurationException, 
IOException
 {
 final String confPath = System.getProperty("sidecar.config", 
"file://./conf/config.yaml");
 logger.info("Reading configuration from {}", confPath);
 try
 {
-Configurations confs = new Configurations();
 URL url = new URL(confPath);
-YAMLConfiguration yamlConf = 
confs.fileBased(YAMLConfiguration.class, url);
+
+YAMLConfiguration yamlConf = new YAMLConfiguration();
+InputStream stream = url.openStream();
+yamlConf.read(stream);
+
 return new Configuration.Builder()
 .setCassandraHost(yamlConf.get(String.class, 
"cassandra.host"))
 .setCassandraPort(yamlConf.get(Integer.class, 
"cassandra.port"))


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



[cassandra-sidecar] branch master updated: Linked to JIRA for issues

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

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


The following commit(s) were added to refs/heads/master by this push:
 new 86d5c28  Linked to JIRA for issues
86d5c28 is described below

commit 86d5c28d4b23518d3073c947a38b38df8025bd8b
Author: Jon Haddad 
AuthorDate: Tue Mar 17 16:33:43 2020 -0700

Linked to JIRA for issues
---
 README.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/README.md b/README.md
index f0e29b9..aec6c96 100644
--- a/README.md
+++ b/README.md
@@ -34,3 +34,4 @@ Wondering where to go from here?
 user-subscr...@cassandra.apache.org
   * Visit the [community section](http://cassandra.apache.org/community/) of 
the Cassandra website for more information on getting involved.
   * Visit the [development 
section](http://cassandra.apache.org/doc/latest/development/index.html) of the 
Cassandra website for more information on how to contribute.
+  * File issues with our [Sidecar 
JIRA](https://issues.apache.org/jira/projects/CASSANDRASC/issues/)


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



[cassandra-sidecar] branch master updated: Ninja fix changelog

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

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


The following commit(s) were added to refs/heads/master by this push:
 new 2c5f484  Ninja fix changelog
2c5f484 is described below

commit 2c5f4841479d5ff80a21540ec4e2fa5344a52251
Author: Jon Haddad 
AuthorDate: Mon Mar 9 11:11:17 2020 -0700

Ninja fix changelog
---
 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index 49d7800..00defa6 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,6 @@
 1.0.0
 -
+ * Build and Test with both Java 8 & 11 in Circle CI (CASSANDRA-15611)
  * Upgraded Gradle and replaced FindBugs with SpotBugs (CASSANDRA-15610)
  * Improving local HealthCheckTest reliability (CASSANDRA-15615)
  * Read sidecar.yaml from sidecar.config System Property instead of classpath 
(CASSANDRA-15288)


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



[cassandra-sidecar] branch master updated: Improving CircleCI build reliability

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

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


The following commit(s) were added to refs/heads/master by this push:
 new 595fea7  Improving CircleCI build reliability
595fea7 is described below

commit 595fea7d97f0d87ac9b9a1510379a6faa6a29abf
Author: Jon Haddad 
AuthorDate: Wed Mar 4 13:56:46 2020 -0800

Improving CircleCI build reliability

Switched to Circle machine image - docker has issues with networking in 
tests
Fix storing of test results
Updated readme with Java 11
Upgrade vertx
Wait for vertx server startup before sending requests
Update simulacron to latest bug fix version
added spotbugs exclude config to avoid incorrect NPE error on java 11
Configure CircleCi to run tests with Java 11

Patch by Jon Haddad; Reviewed by Dinesh Joshi for CASSANDRA-15611
---
 .circleci/config.yml   | 89 --
 README.md  | 11 ++-
 build.gradle   | 17 +++--
 .../sidecar/HealthServiceIntegrationTest.java  |  1 +
 src/main/resources/spotbugs-exclude.xml| 14 
 .../sidecar/AbstractHealthServiceTest.java | 10 ++-
 6 files changed, 110 insertions(+), 32 deletions(-)

diff --git a/.circleci/config.yml b/.circleci/config.yml
index 8ab909d..690b4a6 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -2,42 +2,87 @@
 #
 # Check https://circleci.com/docs/2.0/language-java/ for more details
 #
-version: 2
-jobs:
-  build:
-docker:
-  - image: circleci/openjdk:8-jdk
+version: 2.1
 
+# need to reuse the same base environment for several tests
+aliases:
+  base_job: _job
+machine:
+  image: ubuntu-1604:201903-01
 working_directory: ~/repo
-
 environment:
   TERM: dumb
 
+# we might modify this in the future to accept a parameter for the java 
package to install
+commands:
+  install_java:
+description: "Installs Java 8 using AdoptOpenJDK"
+parameters:
+  version:
+type: string
+
 steps:
-  - checkout
+  - run: wget -qO - 
https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key 
add -
+  - run: sudo add-apt-repository --yes 
https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
+  - run: sudo apt-get update
+  - run: sudo apt-get install -y << parameters.version>>
+
+  install_common:
+description: "Installs common software and certificates"
+steps:
+  - run: sudo apt-get update
+  - run: sudo apt-get install apt-transport-https ca-certificates curl 
gnupg-agent software-properties-common
 
-  # Download and cache dependencies
-  - restore_cache:
-  keys:
-- v1-dependencies-{{ checksum "build.gradle" }}
-# fallback to using the latest cache if no exact match is found
-- v1-dependencies-
+jobs:
+  java8:
+<<: *base_job
 
-  - run: ./gradlew dependencies
+steps:
+  - checkout
+  - install_common
+  
+  - install_java:
+  version: adoptopenjdk-8-hotspot
 
-  - save_cache:
-  paths:
-- ~/.gradle
-  key: v1-dependencies-{{ checksum "build.gradle" }}
+  - run: sudo update-java-alternatives -s adoptopenjdk-8-hotspot-amd64 && 
java -version
 
   # make sure it builds with build steps like swagger docs and dist
-  - run: ./gradlew build
+  - run: ./gradlew build --stacktrace
+
+  - store_artifacts:
+  path: build/reports
+  destination: test-reports
+
+  - store_test_results:
+  path: ~/repo/build/test-results/
+
+  java11:
+<<: *base_job
+steps:
+  - checkout
+  - install_common
 
-  # run tests!
-  - run: ./gradlew check
+  - install_java:
+  version: adoptopenjdk-11-hotspot
+
+  - run: sudo update-java-alternatives -s adoptopenjdk-11-hotspot-amd64 && 
java -version
+
+  - run: ./gradlew build --stacktrace
 
   - store_artifacts:
   path: build/reports
   destination: test-reports
+
   - store_test_results:
-  path: build/reports
\ No newline at end of file
+  path: ~/repo/build/test-results/
+
+workflows:
+  version: 2
+
+  test_java_8:
+jobs:
+  - java8
+
+  test_java_11:
+jobs:
+  - java11
\ No newline at end of file
diff --git a/README.md b/README.md
index 327948b..f0e29b9 100644
--- a/README.md
+++ b/README.md
@@ -7,8 +7,8 @@ For more information, see [the Apache Cassandra web 
site](http://cassandra.apach
 
 Requirements
 
-  1. Java >= 1.8 (OpenJDK or Oracle)
-  2. Apache Cassandra 4.0
+  1. Java >= 1.8 (OpenJDK or Oracle), or Java 11
+  2. Apache Cassandra 4.0.  We depend on virtual tables which is a 4.0 only 
fe

[cassandra] branch trunk updated: Added intro to data modeling section.

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

rustyrazorblade 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 4585bbd  Added intro to data modeling section.
4585bbd is described below

commit 4585bbd131aaab367ceee6833ca1e8287724a5b1
Author: dvohra 
AuthorDate: Wed Mar 4 11:37:56 2020 +

Added intro to data modeling section.

Patch by dvohra; Reviewed by Erick Ramirez and Jon Haddad for 
CASSANDRA-15481
---
 CHANGES.txt|   1 +
 .../data_modeling/images/Figure_1_data_model.jpg   | Bin 0 -> 17469 bytes
 .../data_modeling/images/Figure_2_data_model.jpg   | Bin 0 -> 20925 bytes
 doc/source/data_modeling/index.rst |   1 +
 doc/source/data_modeling/intro.rst | 146 +
 5 files changed, 148 insertions(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index 072b7c3..a07ff91 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Add data modeling introduction (CASSANDRA-15481)
  * Improve the algorithmic token allocation in case racks = RF 
(CASSANDRA-15600)
  * Fix ConnectionTest.testAcquireReleaseOutbound (CASSANDRA-15308)
  * Include finalized pending sstables in preview repair (CASSANDRA-15553)
diff --git a/doc/source/data_modeling/images/Figure_1_data_model.jpg 
b/doc/source/data_modeling/images/Figure_1_data_model.jpg
new file mode 100644
index 000..a3b330e
Binary files /dev/null and 
b/doc/source/data_modeling/images/Figure_1_data_model.jpg differ
diff --git a/doc/source/data_modeling/images/Figure_2_data_model.jpg 
b/doc/source/data_modeling/images/Figure_2_data_model.jpg
new file mode 100644
index 000..7acdeac
Binary files /dev/null and 
b/doc/source/data_modeling/images/Figure_2_data_model.jpg differ
diff --git a/doc/source/data_modeling/index.rst 
b/doc/source/data_modeling/index.rst
index f01c92c..2f799dc 100644
--- a/doc/source/data_modeling/index.rst
+++ b/doc/source/data_modeling/index.rst
@@ -20,6 +20,7 @@ Data Modeling
 .. toctree::
:maxdepth: 2
 
+   intro
data_modeling_conceptual
data_modeling_rdbms
data_modeling_queries
diff --git a/doc/source/data_modeling/intro.rst 
b/doc/source/data_modeling/intro.rst
new file mode 100644
index 000..630a7d1
--- /dev/null
+++ b/doc/source/data_modeling/intro.rst
@@ -0,0 +1,146 @@
+.. 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.
+
+Introduction
+
+
+Apache Cassandra stores data in tables, with each table consisting of rows and 
columns. CQL (Cassandra Query Language) is used to query the data stored in 
tables. Apache Cassandra data model is based around and optimized for querying. 
Cassandra does not support relational data modeling intended for relational 
databases.
+
+What is Data Modeling?
+^^
+
+Data modeling is the process of identifying entities and their relationships. 
In relational databases, data is placed in normalized tables with foreign keys 
used to reference related data in other tables. Queries that the application 
will make are driven by the structure of the tables and related data are 
queried as table joins.
+
+In Cassandra, data modeling is query-driven. The data access patterns and 
application queries determine the structure and organization of data which then 
used to design the database tables.
+
+Data is modeled around specific queries. Queries are best designed to access a 
single table, which implies that all entities involved in a query must be in 
the same table to make data access (reads) very fast. Data is modeled to best 
suit a query or a set of queries. A table could have one or more entities as 
best suits a query. As entities do typically have relationships among them and 
queries could involve entities with relationships among them, a single entity 
may be included in multi [...]
+
+Query-driven modeling
+^
+
+Unlike a relational database model in which queries make use of table joins to 
get data from multiple tables, joins are not supported in Cassandra so all 
required fields (columns) must be gr

[cassandra] branch trunk updated: Added documentation for transient replication.

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

rustyrazorblade 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 9688d7d  Added documentation for transient replication.
9688d7d is described below

commit 9688d7d490ba6581c203c229b945cca5b7c657f4
Author: dvohra 
AuthorDate: Mon Jan 6 18:16:44 2020 -0800

Added documentation for transient replication.

Patch by dvohra; Reviewed by Jon Haddad for CASSANDRA-15476.
---
 doc/source/_templates/indexcontent.html |   2 +-
 doc/source/new/index.rst|   1 +
 doc/source/new/transientreplication.rst | 155 
 3 files changed, 157 insertions(+), 1 deletion(-)

diff --git a/doc/source/_templates/indexcontent.html 
b/doc/source/_templates/indexcontent.html
index 7f7eede..5851258 100644
--- a/doc/source/_templates/indexcontent.html
+++ b/doc/source/_templates/indexcontent.html
@@ -1,6 +1,6 @@
 {% extends "defindex.html" %}
 {% block tables %}
-This documentation is currently a work-in-progress and 
contains a number of TODO sections.
+This documentation is a work-in-progress.
 Contributions are welcome.
 
 Main documentation
diff --git a/doc/source/new/index.rst b/doc/source/new/index.rst
index c88120d..5ef867b 100644
--- a/doc/source/new/index.rst
+++ b/doc/source/new/index.rst
@@ -28,4 +28,5 @@ This section covers the new features in Apache Cassandra 4.0.
fqllogging
messaging
streaming
+   transientreplication

diff --git a/doc/source/new/transientreplication.rst 
b/doc/source/new/transientreplication.rst
new file mode 100644
index 000..438f437
--- /dev/null
+++ b/doc/source/new/transientreplication.rst
@@ -0,0 +1,155 @@
+.. 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.
+
+Transient Replication
+-
+
+**Note**:
+
+Transient Replication (`CASSANDRA-14404
+<https://issues.apache.org/jira/browse/CASSANDRA-14404>`_) is an experimental 
feature designed for expert Apache Cassandra users who are able to validate 
every aspect of the database for their application and deployment.
+That means being able to check that operations like reads, writes, 
decommission, remove, rebuild, repair, and replace all work with your queries, 
data, configuration, operational practices, and availability requirements.
+Apache Cassandra 4.0 has the initial implementation of transient replication. 
Future releases of Cassandra will make this feature suitable for a wider 
audience.
+It is anticipated that a future version will support monotonic reads with 
transient replication as well as LWT, logged batches, and counters. Being 
experimental, Transient replication is **not** recommended for production use.
+
+Objective
+^
+
+The objective of transient replication is to decouple storage requirements 
from data redundancy (or consensus group size) using incremental repair, in 
order to reduce storage overhead.
+Certain nodes act as full replicas (storing all the data for a given token 
range), and some nodes act as transient replicas, storing only unrepaired data 
for the same token ranges.
+
+The optimization that is made possible with transient replication is called 
"Cheap quorums", which implies that data redundancy is increased without 
corresponding increase in storage usage.
+
+Transient replication is useful when sufficient full replicas are unavailable 
to receive and store all the data.
+Transient replication allows you to configure a subset of replicas to only 
replicate data that hasn't been incrementally repaired.
+As an optimization, we can avoid writing data to a transient replica if we 
have successfully written data to the full replicas.
+
+After incremental repair, transient data stored on transient replicas can be 
discarded.
+
+Enabling Transient Replication
+^^
+
+Transient replication is not enabled by default.  Transient replication must 
be enabled on each node in a cluster separately by setting the following 
configuration property in ``cassandra.yaml``.
+
+::
+
+ enable_transient_replication: t

[cassandra-sidecar] branch master updated: Upgraded gradle and replaced FindBugs with SpotBugs.

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

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


The following commit(s) were added to refs/heads/master by this push:
 new 2931775  Upgraded gradle and replaced FindBugs with SpotBugs.
2931775 is described below

commit 29317751434cd1b3a129fd4e44628b28c421c6bd
Author: Jon Haddad 
AuthorDate: Tue Mar 3 15:24:50 2020 -0800

Upgraded gradle and replaced FindBugs with SpotBugs.

* Upgrading from findbugs (JDK 8 only) to Spotbugs.  FindBugs was abandoned
  years ago and will not be updated.
* Upgraded Gradle to version 6.2.1

Patch by Jon Haddad; Reviewed by Dinesh Joshi for CASSANDRA-15610.
---
 CHANGES.txt  |  1 +
 build.gradle | 24 ++--
 gradle/wrapper/gradle-wrapper.properties |  2 +-
 3 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index d08bc9e..49d7800 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,6 @@
 1.0.0
 -
+ * Upgraded Gradle and replaced FindBugs with SpotBugs (CASSANDRA-15610)
  * Improving local HealthCheckTest reliability (CASSANDRA-15615)
  * Read sidecar.yaml from sidecar.config System Property instead of classpath 
(CASSANDRA-15288)
  * Add integration tests task (CASSANDRA-15031)
diff --git a/build.gradle b/build.gradle
index 947a6bd..3d362e8 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,10 +1,19 @@
+
+buildscript {
+dependencies {
+// findBugs needs a newer version of Guava in the buildscript.
+// otherwise it throws an exception
+classpath "com.google.guava:guava:28.2-jre"
+}
+}
+
 plugins {
 id 'java'
 id 'application'
 id 'idea'
 id 'checkstyle'
 id 'jacoco'
-id 'findbugs'
+id "com.github.spotbugs" version "3.0.0"
 id 'org.hidetake.swagger.generator' version '2.16.0'
 }
 
@@ -73,6 +82,7 @@ dependencies {
 compile 'org.slf4j:slf4j-api:1.7.25'
 compile 'ch.qos.logback:logback-core:1.2.3'
 compile 'ch.qos.logback:logback-classic:1.2.3'
+
 compile 'com.datastax.cassandra:cassandra-driver-core:3.6+'
 compile group: 'com.google.inject', name: 'guice', version: '4.2.2'
 compile group: 'org.apache.commons', name: 'commons-configuration2', 
version: '2.4'
@@ -153,11 +163,13 @@ checkstyle {
 configFile file("checkstyle.xml")
 }
 
-tasks.withType(FindBugs) {
-reports {
-xml.enabled false
-html.enabled true
-}
+spotbugs {
+toolVersion = '4.0.0'
+}
+
+tasks.withType(com.github.spotbugs.SpotBugsTask) {
+reports.xml.enabled = false
+reports.html.enabled = true
 }
 
 // copyDist gets called on every build
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
index 44e7c4d..4a6ebce 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.1-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists


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



[cassandra-sidecar] branch master updated: Improving local HealthServiceIntegrationTest reliablility

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

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


The following commit(s) were added to refs/heads/master by this push:
 new c7d68e7  Improving local HealthServiceIntegrationTest reliablility
c7d68e7 is described below

commit c7d68e72daafd83657f5d427223dd6283af70128
Author: Jon Haddad 
AuthorDate: Fri Feb 28 16:54:19 2020 -0800

Improving local HealthServiceIntegrationTest reliablility

There appears to be a race condidtion with the simulacron library that 
causes
test failure if we don't wait long enough.  This patch simply extends
the window that we can wait for a test node to come back online.

Patch by Jon Haddad; Reviewed by Dinesh Joshi for CASSANDRA-15615
---
 CHANGES.txt|  1 +
 .../sidecar/HealthServiceIntegrationTest.java  | 38 +-
 2 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index dcba20e..d08bc9e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,6 @@
 1.0.0
 -
+ * Improving local HealthCheckTest reliability (CASSANDRA-15615)
  * Read sidecar.yaml from sidecar.config System Property instead of classpath 
(CASSANDRA-15288)
  * Add integration tests task (CASSANDRA-15031)
  * Add support for SSL and bindable address (CASSANDRA-15030)
diff --git 
a/src/integration/java/org/apache/cassandra/sidecar/HealthServiceIntegrationTest.java
 
b/src/integration/java/org/apache/cassandra/sidecar/HealthServiceIntegrationTest.java
index 567f67e..5ad6d28 100644
--- 
a/src/integration/java/org/apache/cassandra/sidecar/HealthServiceIntegrationTest.java
+++ 
b/src/integration/java/org/apache/cassandra/sidecar/HealthServiceIntegrationTest.java
@@ -49,10 +49,13 @@ import io.netty.util.Timer;
 import io.vertx.core.Vertx;
 import io.vertx.core.http.HttpServer;
 import io.vertx.core.http.HttpServerOptions;
+import io.vertx.core.logging.Logger;
+import io.vertx.core.logging.LoggerFactory;
 import io.vertx.ext.web.Router;
 import io.vertx.ext.web.client.WebClient;
 import io.vertx.ext.web.codec.BodyCodec;
 import io.vertx.junit5.VertxTestContext;
+
 import org.apache.cassandra.sidecar.routes.HealthCheck;
 import org.apache.cassandra.sidecar.routes.HealthService;
 
@@ -72,6 +75,9 @@ public class HealthServiceIntegrationTest
.build();
 private static final HashedWheelTimer sharedHWT = new 
HashedWheelTimer(threadFactory);
 private static final EventLoopGroup sharedEventLoopGroup = new 
NioEventLoopGroup(0, threadFactory);
+
+private static final Logger logger = 
LoggerFactory.getLogger(HealthServiceIntegrationTest.class);
+
 private static final NettyOptions shared = new NettyOptions()
 {
 public EventLoopGroup eventLoopGroup(ThreadFactory threadFactory)
@@ -125,6 +131,11 @@ public class HealthServiceIntegrationTest
 sessions.clear();
 }
 
+/**
+ * This test has a race condition that can result in test failure.  Be 
sure to wait long enough for the server
+ * to register as up.
+ * See CASSANDRA-15615
+ */
 @DisplayName("100 node cluster stopping, then starting")
 @Test
 public void testDownHost() throws InterruptedException
@@ -143,15 +154,15 @@ public class HealthServiceIntegrationTest
 Set downNodes = new HashSet<>();
 Map checks = new HashMap<>();
 
-// Create a HealthCheck per node
+logger.info("Create a health check per node");
 for (BoundNode node : bCluster.getNodes())
 checks.put(node, healthCheckFor(node, shared));
 
-// verify all nodes marked as up
+logger.info("verify all nodes marked as up");
 for (BoundNode node : bCluster.getNodes())
 assertTrue(checks.get(node).get());
 
-// shut down nodes one at a time, and verify we get correct 
response on all HealthChecks every iteration
+logger.info("shut down nodes one at a time, and verify we get 
correct response on all HealthChecks");
 for (int i = 0; downNodes.size() < nodeCount; i++)
 {
 for (BoundNode node : bCluster.getNodes())
@@ -160,23 +171,32 @@ public class HealthServiceIntegrationTest
 downNodes.add(bCluster.node(i));
 }
 
-// all hosts should be down
+logger.info("all hosts should be down");
 for (BoundNode node : bCluster.getNodes())
 assertFalse(checks.get(node).get());
 
-for (int i = 0; downNodes.size() > 0; i++)
+logger.info("Starting nodes back up");
+
+int i;
+for (i = 0; downNodes.size() > 0; i++)
 {
   

[cassandra-sidecar] branch master updated: Updated readme to point to Slack instead of IRC

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

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


The following commit(s) were added to refs/heads/master by this push:
 new 3469322  Updated readme to point to Slack instead of IRC
3469322 is described below

commit 346932217ee3149211b52500c4698906e7f08844
Author: Jon Haddad 
AuthorDate: Mon Mar 2 12:42:13 2020 -0800

Updated readme to point to Slack instead of IRC
---
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index da3ce7c..327948b 100644
--- a/README.md
+++ b/README.md
@@ -22,8 +22,8 @@ You can use `build`, `test` to build & test the project.
 
 Wondering where to go from here?
 
-  * Join us in #cassandra on irc.freenode.net and ask questions
+  * Join us in #cassandra on [ASF Slack](https://s.apache.org/slack-invite) 
and ask questions 
   * Subscribe to the Users mailing list by sending a mail to
 user-subscr...@cassandra.apache.org
   * Visit the [community section](http://cassandra.apache.org/community/) of 
the Cassandra website for more information on getting involved.
-  * Visit the [development 
section](http://cassandra.apache.org/doc/latest/development/index.html) of the 
Cassandra website for more information on how to contribute.
\ No newline at end of file
+  * Visit the [development 
section](http://cassandra.apache.org/doc/latest/development/index.html) of the 
Cassandra website for more information on how to contribute.


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



[cassandra-website] branch master updated (68315ce -> e5612ba)

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

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


from 68315ce  regenerated docs for 4.0
 add e5612ba  Rebuilt docs

No new revisions were added by this update.

Summary of changes:
 .../doc/4.0-alpha4/_images/Figure_1_guarantees.jpg | Bin 0 -> 17993 bytes
 content/doc/4.0-alpha4/_images/ring.svg|  11 +
 content/doc/4.0-alpha4/_images/vnodes.svg  |  11 +
 content/doc/4.0-alpha4/architecture/dynamo.html| 483 ---
 .../doc/4.0-alpha4/architecture/guarantees.html|  70 ++-
 content/doc/4.0-alpha4/architecture/index.html |  31 +-
 content/doc/4.0-alpha4/architecture/overview.html  |  97 ++-
 content/doc/4.0-alpha4/new/auditlogging.html   | 673 +
 content/doc/4.0-alpha4/new/fqllogging.html |   7 +-
 content/doc/4.0-alpha4/new/index.html  |  34 ++
 content/doc/4.0-alpha4/new/java11.html |   7 +-
 content/doc/4.0-alpha4/new/messaging.html  |   7 +-
 content/doc/4.0-alpha4/new/streaming.html  | 384 
 content/doc/4.0-alpha4/new/virtualtables.html  | 551 +
 content/doc/4.0-alpha4/objects.inv | Bin 9260 -> 9361 bytes
 content/doc/4.0-alpha4/operating/hints.html|  16 +-
 content/doc/4.0-alpha4/operating/read_repair.html  |   2 +-
 content/doc/4.0-alpha4/operating/snitch.html   |   2 +-
 content/doc/4.0-alpha4/searchindex.js  |   2 +-
 content/doc/latest/_images/Figure_1_guarantees.jpg | Bin 0 -> 17993 bytes
 content/doc/latest/_images/ring.svg|  11 +
 content/doc/latest/_images/vnodes.svg  |  11 +
 content/doc/latest/architecture/dynamo.html| 483 ---
 content/doc/latest/architecture/guarantees.html|  70 ++-
 content/doc/latest/architecture/index.html |  31 +-
 content/doc/latest/architecture/overview.html  |  97 ++-
 content/doc/latest/new/auditlogging.html   | 673 +
 content/doc/latest/new/fqllogging.html |   7 +-
 content/doc/latest/new/index.html  |  34 ++
 content/doc/latest/new/java11.html |   7 +-
 content/doc/latest/new/messaging.html  |   7 +-
 content/doc/latest/new/streaming.html  | 384 
 content/doc/latest/new/virtualtables.html  | 551 +
 content/doc/latest/objects.inv | Bin 9260 -> 9361 bytes
 content/doc/latest/operating/hints.html|  16 +-
 content/doc/latest/operating/read_repair.html  |   2 +-
 content/doc/latest/operating/snitch.html   |   2 +-
 content/doc/latest/searchindex.js  |   2 +-
 content/feed.xml   |   2 +-
 src/doc/4.0-alpha4/_images/Figure_1_guarantees.jpg | Bin 0 -> 17993 bytes
 src/doc/4.0-alpha4/_images/ring.svg|  11 +
 src/doc/4.0-alpha4/_images/vnodes.svg  |  11 +
 .../_sources/architecture/dynamo.rst.txt   | 535 +---
 .../_sources/architecture/guarantees.rst.txt   |  60 +-
 .../_sources/architecture/overview.rst.txt |  96 ++-
 .../4.0-alpha4/_sources/new/auditlogging.rst.txt   | 440 ++
 src/doc/4.0-alpha4/_sources/new/index.rst.txt  |   1 +
 src/doc/4.0-alpha4/_sources/new/streaming.rst.txt  | 162 +
 .../4.0-alpha4/_sources/new/virtualtables.rst.txt  | 342 +++
 .../4.0-alpha4/_sources/operating/hints.rst.txt|  12 +-
 .../_sources/operating/read_repair.rst.txt |   2 +-
 .../4.0-alpha4/_sources/operating/snitch.rst.txt   |   2 +
 src/doc/4.0-alpha4/architecture/dynamo.html| 483 ---
 src/doc/4.0-alpha4/architecture/guarantees.html|  70 ++-
 src/doc/4.0-alpha4/architecture/index.html |  31 +-
 src/doc/4.0-alpha4/architecture/overview.html  |  97 ++-
 src/doc/4.0-alpha4/new/auditlogging.html   | 548 +
 src/doc/4.0-alpha4/new/fqllogging.html |   7 +-
 src/doc/4.0-alpha4/new/index.html  |  34 ++
 src/doc/4.0-alpha4/new/java11.html |   7 +-
 src/doc/4.0-alpha4/new/messaging.html  |   7 +-
 src/doc/4.0-alpha4/new/streaming.html  | 259 
 src/doc/4.0-alpha4/new/virtualtables.html  | 426 +
 src/doc/4.0-alpha4/objects.inv | Bin 9260 -> 9361 bytes
 src/doc/4.0-alpha4/operating/hints.html|  16 +-
 src/doc/4.0-alpha4/operating/read_repair.html  |   2 +-
 src/doc/4.0-alpha4/operating/snitch.html   |   2 +-
 src/doc/4.0-alpha4/searchindex.js  |   2 +-
 68 files changed, 7989 insertions(+), 454 deletions(-)
 create mode 100644 content/doc/4.0-alpha4/_images/Figure_1_guarantees.jpg
 create mode 100644 content/doc/4.0-alpha4/_images/ring.svg
 create mode 1006

[cassandra] branch trunk updated (98367b2 -> 0489b0b)

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

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


from 98367b2  Added documentation for audit logging.
 add 0489b0b  Added documentation section on guarantees.

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt |   1 +
 doc/source/architecture/Figure_1_guarantees.jpg | Bin 0 -> 17993 bytes
 doc/source/architecture/guarantees.rst  |  60 +++-
 3 files changed, 59 insertions(+), 2 deletions(-)
 create mode 100644 doc/source/architecture/Figure_1_guarantees.jpg


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



[cassandra] branch trunk updated (dc8f94a -> 98367b2)

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

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


from dc8f94a  Filter nulls from assertNoUnexpectedThreadsStarted.
 add 98367b2  Added documentation for audit logging.

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt |   1 +
 doc/source/new/auditlogging.rst | 440 
 2 files changed, 441 insertions(+)
 create mode 100644 doc/source/new/auditlogging.rst


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



[cassandra] branch trunk updated (8aab956 -> d629a58)

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

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


from 8aab956  Ninja commit, updated changelog
 add d629a58  Unset GREP_OPTIONS

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt   | 1 +
 bin/cassandra | 6 ++
 2 files changed, 7 insertions(+)


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



[cassandra] branch trunk updated (43b633d -> 8aab956)

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

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


from 43b633d  Added streaming documentation.
 add 8aab956  Ninja commit, updated changelog

No new revisions were added by this update.

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 trunk updated (f7b3317 -> 43b633d)

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

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


from f7b3317  Update to Python driver 3.21 for cqlsh
 add 43b633d  Added streaming documentation.

No new revisions were added by this update.

Summary of changes:
 doc/source/new/index.rst |   1 +
 doc/source/new/streaming.rst | 162 +++
 2 files changed, 163 insertions(+)
 create mode 100644 doc/source/new/streaming.rst


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



[cassandra-website] branch master updated (8573b40 -> 68315ce)

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

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


from 8573b40  Rebuild site content
 add 68315ce  regenerated docs for 4.0

No new revisions were added by this update.

Summary of changes:
 README.md  |   8 +
 content/doc/4.0-alpha4/architecture/index.html |   4 +-
 content/doc/4.0-alpha4/architecture/overview.html  |  14 +-
 content/doc/4.0-alpha4/cql/ddl.html| 117 ++--
 content/doc/4.0-alpha4/new/fqllogging.html |   5 +-
 content/doc/4.0-alpha4/new/index.html  |  14 +
 content/doc/4.0-alpha4/new/java11.html |   1 +
 content/doc/4.0-alpha4/new/messaging.html  | 465 +++
 content/doc/4.0-alpha4/objects.inv | Bin 9212 -> 9260 bytes
 content/doc/4.0-alpha4/operating/bulk_loading.html | 563 +-
 content/doc/4.0-alpha4/operating/index.html|   8 +-
 content/doc/4.0-alpha4/searchindex.js  |   2 +-
 content/doc/latest/architecture/index.html |   4 +-
 content/doc/latest/architecture/overview.html  |  14 +-
 content/doc/latest/cql/ddl.html| 117 ++--
 content/doc/latest/new/fqllogging.html |   5 +-
 content/doc/latest/new/index.html  |  14 +
 content/doc/latest/new/java11.html |   1 +
 content/doc/latest/new/messaging.html  | 465 +++
 content/doc/latest/objects.inv | Bin 9212 -> 9260 bytes
 content/doc/latest/operating/bulk_loading.html | 563 +-
 content/doc/latest/operating/index.html|   8 +-
 content/doc/latest/searchindex.js  |   2 +-
 content/feed.xml   |   2 +-
 .../_sources/architecture/overview.rst.txt |  20 +-
 src/doc/4.0-alpha4/_sources/cql/ddl.rst.txt| 100 +++-
 src/doc/4.0-alpha4/_sources/new/index.rst.txt  |   2 +-
 src/doc/4.0-alpha4/_sources/new/messaging.rst.txt  | 257 +
 .../_sources/operating/bulk_loading.rst.txt| 642 -
 src/doc/4.0-alpha4/architecture/index.html |   4 +-
 src/doc/4.0-alpha4/architecture/overview.html  |  14 +-
 src/doc/4.0-alpha4/cql/ddl.html| 117 ++--
 src/doc/4.0-alpha4/new/fqllogging.html |   5 +-
 src/doc/4.0-alpha4/new/index.html  |  14 +
 src/doc/4.0-alpha4/new/java11.html |   1 +
 src/doc/4.0-alpha4/new/messaging.html  | 340 +++
 src/doc/4.0-alpha4/objects.inv | Bin 9212 -> 9260 bytes
 src/doc/4.0-alpha4/operating/bulk_loading.html | 563 +-
 src/doc/4.0-alpha4/operating/index.html|   8 +-
 src/doc/4.0-alpha4/searchindex.js  |   2 +-
 40 files changed, 4316 insertions(+), 169 deletions(-)
 create mode 100644 content/doc/4.0-alpha4/new/messaging.html
 create mode 100644 content/doc/latest/new/messaging.html
 create mode 100644 src/doc/4.0-alpha4/_sources/new/messaging.rst.txt
 create mode 100644 src/doc/4.0-alpha4/new/messaging.html


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



[cassandra] branch trunk updated (896fd0f -> b152a08)

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

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


omit 896fd0f  Merge branch 'Deepak-Vohra-bulkloading' into trunk
omit fb7caf2  Added documentation for bulk loading
 new b152a08  Added documentation for bulk loading

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (896fd0f)
\
 N -- N -- N   refs/heads/trunk (b152a08)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 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] 01/01: Added documentation for bulk loading

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

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

commit b152a08a8b60a6ceaf9946eb220cbec20a4fb635
Author: dvohra 
AuthorDate: Mon Jan 6 19:00:26 2020 -0800

Added documentation for bulk loading

Patch by dvohra, Reviewed by Jon Haddad for CASSANDRA-15480
---
 CHANGES.txt   |   1 +
 doc/docker-compose.yml|   2 +
 doc/gen-nodetool-docs.py  |   4 +
 doc/source/operating/bulk_loading.rst | 642 +-
 4 files changed, 646 insertions(+), 3 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 20c0bf7..c635e18 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Added bulk loading documentation (CASSANDRA-15480)
  * Updated overview documentation (CASSANDRA-15483)
  * Added CDC and speculative retry documentation to DDL section 
(CASSANDRA-15492)
  * Fix missing Keyspaces in cqlsh describe output (CASSANDRA-15576)
diff --git a/doc/docker-compose.yml b/doc/docker-compose.yml
index 27ac8d1..392f8d8 100644
--- a/doc/docker-compose.yml
+++ b/doc/docker-compose.yml
@@ -7,3 +7,5 @@ services:
 build: .
 volumes:
   - ..:/usr/src/code
+environment:
+  - SKIP_NODETOOL # set this to skip nodetool build, saves a lot of time 
when debugging html
diff --git a/doc/gen-nodetool-docs.py b/doc/gen-nodetool-docs.py
index 2ea125a..cc784c2 100644
--- a/doc/gen-nodetool-docs.py
+++ b/doc/gen-nodetool-docs.py
@@ -20,10 +20,14 @@ from __future__ import print_function
 
 import os
 import re
+import sys
 import subprocess
 from subprocess import PIPE
 from subprocess import Popen
 
+if(os.environ.get("SKIP_NODETOOL") == "1"):
+sys.exit(0)
+
 
 nodetool = "../bin/nodetool"
 outdir = "source/tools/nodetool"
diff --git a/doc/source/operating/bulk_loading.rst 
b/doc/source/operating/bulk_loading.rst
index c8224d5..850260a 100644
--- a/doc/source/operating/bulk_loading.rst
+++ b/doc/source/operating/bulk_loading.rst
@@ -13,12 +13,648 @@
 .. 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.
-
 .. highlight:: none
 
 .. _bulk-loading:
 
 Bulk Loading
-
+==
+
+Bulk loading of data in Apache Cassandra is supported by different tools. The 
data to be bulk loaded must be in the form of SSTables. Cassandra does not 
support loading data in any other format such as CSV, JSON, and XML directly. 
Bulk loading could be used to:
+
+- Restore incremental backups and snapshots. Backups and snapshots are already 
in the form of SSTables.
+- Load existing SSTables into another cluster, which could have a different 
number of nodes or replication strategy.
+- Load external data into a cluster
+
+**Note*: CSV Data can be loaded via the cqlsh COPY command but we do not 
recommend this for bulk loading, which typically requires many GB or TB of data.
+
+Tools for Bulk Loading
+^^
+
+Cassandra provides two commands or tools for bulk loading data. These are:
+
+- Cassandra Bulk loader, also called ``sstableloader``
+- The ``nodetool import`` command
+
+The ``sstableloader`` and ``nodetool import`` are accessible if the Cassandra 
installation ``bin`` directory is in the ``PATH`` environment variable.  Or 
these may be accessed directly from the ``bin`` directory. We shall discuss 
each of these next. We shall use the example or sample keyspaces and tables 
created in the Backups section.
+
+Using sstableloader
+^^^
+
+The ``sstableloader`` is the main tool for bulk uploading data. The 
``sstableloader`` streams SSTable data files to a running cluster. The 
``sstableloader`` loads data conforming to the replication strategy and 
replication factor. The table to upload data to does need not to be empty.
+
+The only requirements to run ``sstableloader`` are:
+
+1. One or more comma separated initial hosts to connect to and get ring 
information.
+2. A directory path for the SSTables to load.
+
+Its usage is as follows.
+
+::
+
+ sstableloader [options] 
+
+Sstableloader bulk loads the SSTables found in the directory  to 
the configured cluster. The    is used as the target 
*keyspace/table* name. As an example, to load an SSTable named
+``Standard1-g-1-Data.db`` into ``Keyspace1/Standard1``, you will need to have 
the
+files ``Standard1-g-1-Data.db`` and ``Standard1-g-1-Index.db`` in a directory 
``/path/to/Keyspace1/Standard1/``.
+
+Sstableloader Option to accept Target keyspace name
+
+Often as part of a backup strategy some Cassandra DBAs store an entire data 
directory. When corruption in data is found then they would like to restore 
data in the same cluster (for large clusters 200 nodes) but wit

[cassandra] branch trunk updated: Added documentation for bulk loading

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

rustyrazorblade 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 fb7caf2  Added documentation for bulk loading
 new 896fd0f  Merge branch 'Deepak-Vohra-bulkloading' into trunk
fb7caf2 is described below

commit fb7caf23420220b50f1c68d155b1b7798762c8fc
Author: dvohra 
AuthorDate: Mon Jan 6 19:00:26 2020 -0800

Added documentation for bulk loading

Patch by dvohra, Reviewed by Jon Haddad for CASSANDRA-15480
---
 CHANGES.txt   |   1 +
 doc/docker-compose.yml|   2 +
 doc/gen-nodetool-docs.py  |   4 +
 doc/source/operating/bulk_loading.rst | 642 +-
 4 files changed, 646 insertions(+), 3 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 20c0bf7..c635e18 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Added bulk loading documentation (CASSANDRA-15480)
  * Updated overview documentation (CASSANDRA-15483)
  * Added CDC and speculative retry documentation to DDL section 
(CASSANDRA-15492)
  * Fix missing Keyspaces in cqlsh describe output (CASSANDRA-15576)
diff --git a/doc/docker-compose.yml b/doc/docker-compose.yml
index 27ac8d1..392f8d8 100644
--- a/doc/docker-compose.yml
+++ b/doc/docker-compose.yml
@@ -7,3 +7,5 @@ services:
 build: .
 volumes:
   - ..:/usr/src/code
+environment:
+  - SKIP_NODETOOL # set this to skip nodetool build, saves a lot of time 
when debugging html
diff --git a/doc/gen-nodetool-docs.py b/doc/gen-nodetool-docs.py
index 2ea125a..cc784c2 100644
--- a/doc/gen-nodetool-docs.py
+++ b/doc/gen-nodetool-docs.py
@@ -20,10 +20,14 @@ from __future__ import print_function
 
 import os
 import re
+import sys
 import subprocess
 from subprocess import PIPE
 from subprocess import Popen
 
+if(os.environ.get("SKIP_NODETOOL") == "1"):
+sys.exit(0)
+
 
 nodetool = "../bin/nodetool"
 outdir = "source/tools/nodetool"
diff --git a/doc/source/operating/bulk_loading.rst 
b/doc/source/operating/bulk_loading.rst
index c8224d5..850260a 100644
--- a/doc/source/operating/bulk_loading.rst
+++ b/doc/source/operating/bulk_loading.rst
@@ -13,12 +13,648 @@
 .. 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.
-
 .. highlight:: none
 
 .. _bulk-loading:
 
 Bulk Loading
-
+==
+
+Bulk loading of data in Apache Cassandra is supported by different tools. The 
data to be bulk loaded must be in the form of SSTables. Cassandra does not 
support loading data in any other format such as CSV, JSON, and XML directly. 
Bulk loading could be used to:
+
+- Restore incremental backups and snapshots. Backups and snapshots are already 
in the form of SSTables.
+- Load existing SSTables into another cluster, which could have a different 
number of nodes or replication strategy.
+- Load external data into a cluster
+
+**Note*: CSV Data can be loaded via the cqlsh COPY command but we do not 
recommend this for bulk loading, which typically requires many GB or TB of data.
+
+Tools for Bulk Loading
+^^
+
+Cassandra provides two commands or tools for bulk loading data. These are:
+
+- Cassandra Bulk loader, also called ``sstableloader``
+- The ``nodetool import`` command
+
+The ``sstableloader`` and ``nodetool import`` are accessible if the Cassandra 
installation ``bin`` directory is in the ``PATH`` environment variable.  Or 
these may be accessed directly from the ``bin`` directory. We shall discuss 
each of these next. We shall use the example or sample keyspaces and tables 
created in the Backups section.
+
+Using sstableloader
+^^^
+
+The ``sstableloader`` is the main tool for bulk uploading data. The 
``sstableloader`` streams SSTable data files to a running cluster. The 
``sstableloader`` loads data conforming to the replication strategy and 
replication factor. The table to upload data to does need not to be empty.
+
+The only requirements to run ``sstableloader`` are:
+
+1. One or more comma separated initial hosts to connect to and get ring 
information.
+2. A directory path for the SSTables to load.
+
+Its usage is as follows.
+
+::
+
+ sstableloader [options] 
+
+Sstableloader bulk loads the SSTables found in the directory  to 
the configured cluster. The    is used as the target 
*keyspace/table* name. As an example, to load an SSTable named
+``Standard1-g-1-Data.db`` into ``Keyspace1/Standard1``, you will need to have 
the
+files ``Standard1-g-1-Data.db`` and ``Standard1-g-1-Index.db`` in a directory 
``/path/to/Keyspace1/Standard1/``.
+
+Sstableloader Option to accept Target keyspace name
+

[cassandra] branch trunk updated: Ninja fix for typo in adc3cdde2ae2a78f7d2bb66da47a07545d3e06cf

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

rustyrazorblade 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 96a64fb  Ninja fix for typo in adc3cdde2ae2a78f7d2bb66da47a07545d3e06cf
96a64fb is described below

commit 96a64fbf4f3e52c41f9558449a62772bc7d837a7
Author: Jon Haddad 
AuthorDate: Wed Feb 19 12:16:05 2020 -0800

Ninja fix for typo in adc3cdde2ae2a78f7d2bb66da47a07545d3e06cf
---
 .../apache/cassandra/metrics/DecayingEstimatedHistogramReservoir.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/src/java/org/apache/cassandra/metrics/DecayingEstimatedHistogramReservoir.java
 
b/src/java/org/apache/cassandra/metrics/DecayingEstimatedHistogramReservoir.java
index 60f381c..6d24314 100644
--- 
a/src/java/org/apache/cassandra/metrics/DecayingEstimatedHistogramReservoir.java
+++ 
b/src/java/org/apache/cassandra/metrics/DecayingEstimatedHistogramReservoir.java
@@ -65,7 +65,7 @@ import static java.lang.Math.min;
  *
  * Each bucket represents values from (previous bucket offset, current offset].
  *
- * To reduce contention each logical bucket is striped accross a configurable 
number of stripes (default: 4). Threads are
+ * To reduce contention each logical bucket is striped accross a configurable 
number of stripes (default: 2). Threads are
  * assigned to specific stripes. In addition, logical buckets are distributed 
across the physical storage to reduce conention
  * when logically adjacent buckets are updated. See CASSANDRA-15213.
  *


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



[cassandra] branch trunk updated (44eb173 -> 0bae5ea)

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

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


from 44eb173  Added CDC and speculative retry documentation to DDL section.
 add 0bae5ea  Updated overview documentation.

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt  |  1 +
 doc/source/architecture/overview.rst | 20 ++--
 2 files changed, 19 insertions(+), 2 deletions(-)


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



[cassandra] branch trunk updated (4e0fccc -> 44eb173)

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

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


from 4e0fccc  Fix missing Keyspaces in cqlsh describe output
 add 44eb173  Added CDC and speculative retry documentation to DDL section.

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt |   1 +
 doc/source/cql/ddl.rst  | 100 
 doc/source/new/Figure_1.jpg | Bin 0 -> 27827 bytes
 doc/source/new/Figure_2.jpg | Bin 0 -> 36650 bytes
 4 files changed, 83 insertions(+), 18 deletions(-)
 create mode 100644 doc/source/new/Figure_1.jpg
 create mode 100644 doc/source/new/Figure_2.jpg


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



[cassandra] branch trunk updated (d2d526a -> f9b7775)

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

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


from d2d526a  Switch from www.apache.org/dist to downloads.apache.org
 add f9b7775  Added documentation describing new internode-messaging.

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt  |   1 +
 doc/source/new/Figure_1.jpg  | Bin 27827 -> 0 bytes
 doc/source/new/Figure_2.jpg  | Bin 36650 -> 0 bytes
 doc/source/new/index.rst |   2 +-
 doc/source/new/messaging.rst | 257 +++
 5 files changed, 259 insertions(+), 1 deletion(-)
 delete mode 100644 doc/source/new/Figure_1.jpg
 delete mode 100644 doc/source/new/Figure_2.jpg
 create mode 100644 doc/source/new/messaging.rst


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



[cassandra] branch trunk updated: Improved read repair documentation.

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

rustyrazorblade 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 ff6aa65  Improved read repair documentation.
ff6aa65 is described below

commit ff6aa659571102b0a27172a482146f11da7cba31
Author: dvohra 
AuthorDate: Mon Jan 6 18:19:39 2020 -0800

Improved read repair documentation.

Patch by Deepak Vohra; Reviewed by Jon Haddad for CASSANDRA-15485
---
 CHANGES.txt   |   1 +
 doc/source/new/Figure_1.jpg   | Bin 0 -> 27827 bytes
 doc/source/new/Figure_2.jpg   | Bin 0 -> 36650 bytes
 doc/source/operating/Figure_1_read_repair.jpg | Bin 0 -> 36919 bytes
 doc/source/operating/Figure_2_read_repair.jpg | Bin 0 -> 45595 bytes
 doc/source/operating/Figure_3_read_repair.jpg | Bin 0 -> 43021 bytes
 doc/source/operating/Figure_4_read_repair.jpg | Bin 0 -> 43021 bytes
 doc/source/operating/Figure_5_read_repair.jpg | Bin 0 -> 42560 bytes
 doc/source/operating/Figure_6_read_repair.jpg | Bin 0 -> 57489 bytes
 doc/source/operating/read_repair.rst  | 151 +-
 doc/source/operating/repair.rst   | 101 +
 11 files changed, 251 insertions(+), 2 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 8762a02..c4481ae 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Added documentation for read repair and an example of full repair 
(CASSANDRA-15485)
  * Make cqlsh and cqlshlib Python 2 & 3 compatible (CASSANDRA-10190)
  * Added documentation for Full Query Logging (CASSANDRA-15475)
  * Added documentation for backups (CASSANDRA-15479)
diff --git a/doc/source/new/Figure_1.jpg b/doc/source/new/Figure_1.jpg
new file mode 100644
index 000..ccaec67
Binary files /dev/null and b/doc/source/new/Figure_1.jpg differ
diff --git a/doc/source/new/Figure_2.jpg b/doc/source/new/Figure_2.jpg
new file mode 100644
index 000..099e15f
Binary files /dev/null and b/doc/source/new/Figure_2.jpg differ
diff --git a/doc/source/operating/Figure_1_read_repair.jpg 
b/doc/source/operating/Figure_1_read_repair.jpg
new file mode 100644
index 000..d771550
Binary files /dev/null and b/doc/source/operating/Figure_1_read_repair.jpg 
differ
diff --git a/doc/source/operating/Figure_2_read_repair.jpg 
b/doc/source/operating/Figure_2_read_repair.jpg
new file mode 100644
index 000..29a912b
Binary files /dev/null and b/doc/source/operating/Figure_2_read_repair.jpg 
differ
diff --git a/doc/source/operating/Figure_3_read_repair.jpg 
b/doc/source/operating/Figure_3_read_repair.jpg
new file mode 100644
index 000..f5cc189
Binary files /dev/null and b/doc/source/operating/Figure_3_read_repair.jpg 
differ
diff --git a/doc/source/operating/Figure_4_read_repair.jpg 
b/doc/source/operating/Figure_4_read_repair.jpg
new file mode 100644
index 000..25bdb34
Binary files /dev/null and b/doc/source/operating/Figure_4_read_repair.jpg 
differ
diff --git a/doc/source/operating/Figure_5_read_repair.jpg 
b/doc/source/operating/Figure_5_read_repair.jpg
new file mode 100644
index 000..d9c0485
Binary files /dev/null and b/doc/source/operating/Figure_5_read_repair.jpg 
differ
diff --git a/doc/source/operating/Figure_6_read_repair.jpg 
b/doc/source/operating/Figure_6_read_repair.jpg
new file mode 100644
index 000..6bb4d1e
Binary files /dev/null and b/doc/source/operating/Figure_6_read_repair.jpg 
differ
diff --git a/doc/source/operating/read_repair.rst 
b/doc/source/operating/read_repair.rst
index 0e52bf5..86872af 100644
--- a/doc/source/operating/read_repair.rst
+++ b/doc/source/operating/read_repair.rst
@@ -16,7 +16,154 @@
 
 .. highlight:: none
 
+.. read_repair:
+
 Read repair

+==
+Read Repair is the process of repairing data replicas during a read request. 
If all replicas involved in a read request at the given read consistency level 
are consistent the data is returned to the client and no read repair is needed. 
But if the replicas involved in a read request at the given consistency level 
are not consistent a read repair is performed to make replicas involved in the 
read request consistent. The most up-to-date data is returned to the client. 
The read repair runs i [...]
+
+Expectation of Monotonic Quorum Reads
+^^
+Cassandra uses a blocking read repair to ensure the expectation of "monotonic 
quorum reads" i.e. that in 2 successive quorum reads, it’s guaranteed the 2nd 
one won't get something older than the 1st one, and this even if a failed 
quorum write made a write of the most up to date value only to a minority of 
replicas. "Quorum" means majority of nodes among replicas.
+
+Table level configuration of monotonic reads
+
+Cassandr

[cassandra] branch trunk updated: Ninja fix for line endings in backups.

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

rustyrazorblade 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 327c7e1  Ninja fix for line endings in backups.
327c7e1 is described below

commit 327c7e1aabd62db6fc1ac9857a39a66d3367d5ad
Author: Jon Haddad 
AuthorDate: Thu Feb 13 17:16:09 2020 -0800

Ninja fix for line endings in backups.
---
 doc/source/operating/backups.rst | 1320 +++---
 1 file changed, 660 insertions(+), 660 deletions(-)

diff --git a/doc/source/operating/backups.rst b/doc/source/operating/backups.rst
index b2cb887..01cb6c5 100644
--- a/doc/source/operating/backups.rst
+++ b/doc/source/operating/backups.rst
@@ -1,660 +1,660 @@
-.. 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.
-.. highlight:: none
-
-Backups  
 
-
-Apache Cassandra stores data in immutable SSTable files. Backups in Apache 
Cassandra database are backup copies of the database data that is stored as 
SSTable files. Backups are used for several purposes including the following:
-
-- To store a data copy for durability
-- To be able to restore a table if table data is lost due to 
node/partition/network failure
-- To be able to transfer the SSTable files to a different machine;  for 
portability
-
-Types of Backups
-
-Apache Cassandra supports two kinds of backup strategies.
-
-- Snapshots
-- Incremental Backups
-
-A *snapshot* is a copy of a table’s SSTable files at a given time, created via 
hard links.  The DDL to create the table is stored as well.  Snapshots may be 
created by a user or created automatically.
-The setting (``snapshot_before_compaction``) in ``cassandra.yaml`` determines 
if snapshots are created before each compaction.
-By default ``snapshot_before_compaction`` is set to false.
-Snapshots may be created automatically before keyspace truncation or dropping 
of a table by setting ``auto_snapshot`` to true (default) in ``cassandra.yaml``.
-Truncates could be delayed due to the auto snapshots and another setting in 
``cassandra.yaml`` determines how long the coordinator should wait for 
truncates to complete.
-By default Cassandra waits 60 seconds for auto snapshots to complete.
-
-An *incremental backup* is a copy of a table’s SSTable files created by a hard 
link when memtables are flushed to disk as SSTables.
-Typically incremental backups are paired with snapshots to reduce the backup 
time as well as reduce disk space.
-Incremental backups are not enabled by default and must be enabled explicitly 
in ``cassandra.yaml`` (with ``incremental_backups`` setting) or with the 
Nodetool.
-Once enabled, Cassandra creates a hard link to each SSTable flushed or 
streamed locally in a ``backups/`` subdirectory of the keyspace data. 
Incremental backups of system tables are also created.
-
-Data Directory Structure
-
-The directory structure of Cassandra data consists of different directories 
for keyspaces, and tables with the data files within the table directories.  
Directories  backups and snapshots to store backups and snapshots respectively 
for a particular table are also stored within the table directory. The 
directory structure for Cassandra is illustrated in Figure 1. 
-
-.. figure:: Figure_1_backups.jpg
-
-Figure 1. Directory Structure for Cassandra Data
-
-
-Setting Up Example Tables for Backups and Snapshots
-
-In this section we shall create some example data that could be used to 
demonstrate incremental backups and snapshots. We have used a three node 
Cassandra cluster.
-First, the keyspaces are created. Subsequently tables are created within a 
keyspace and table data is added. We have used two keyspaces ``CQLKeyspace`` 
and ``CatalogKeyspace`` with two tables within each.
-Create ``CQLKeyspace``:
-
-::
-
- cqlsh> CREATE KEYSPACE CQLKeyspace
-   ... WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 
3};
-
-Create table ``t`` in the ``CQLKeyspace`` keyspace.
-
-::
-
- cqlsh> USE CQLKeyspace;
- cqlsh:c

[cassandra] branch trunk updated: Added backup documentation.

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

rustyrazorblade 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 d50e203  Added backup documentation.
d50e203 is described below

commit d50e203302b53a8170fb678acc2509e4a9ddb126
Author: dvohra 
AuthorDate: Mon Jan 6 18:19:39 2020 -0800

Added backup documentation.

Patch by Deepak Vohra; Reviewed by Jon Haddad for CASSANDRA-15479
---
 CHANGES.txt   |   1 +
 doc/source/operating/Figure_1_backups.jpg | Bin 0 -> 38551 bytes
 doc/source/operating/backups.rst  | 682 +-
 3 files changed, 661 insertions(+), 22 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index d88d40d..1bd322b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-alpha4
+ * Added documentation for backups (CASSANDRA-15479)
  * Documentation gives the wrong instruction to activate remote jmx 
(CASSANDRA-15535)
  * Improve the description of nodetool listsnapshots command (CASSANDRA-14587)
  * allow embedded cassandra launched from a one-jar or uno-jar 
(CASSANDRA-15494)
diff --git a/doc/source/operating/Figure_1_backups.jpg 
b/doc/source/operating/Figure_1_backups.jpg
new file mode 100644
index 000..160013d
Binary files /dev/null and b/doc/source/operating/Figure_1_backups.jpg differ
diff --git a/doc/source/operating/backups.rst b/doc/source/operating/backups.rst
index c071e83..b2cb887 100644
--- a/doc/source/operating/backups.rst
+++ b/doc/source/operating/backups.rst
@@ -1,22 +1,660 @@
-.. 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.
-
-.. highlight:: none
-
-Backups
-===
-
-.. todo:: TODO
+.. 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.
+.. highlight:: none
+
+Backups  
+--- 
+
+Apache Cassandra stores data in immutable SSTable files. Backups in Apache 
Cassandra database are backup copies of the database data that is stored as 
SSTable files. Backups are used for several purposes including the following:
+
+- To store a data copy for durability
+- To be able to restore a table if table data is lost due to 
node/partition/network failure
+- To be able to transfer the SSTable files to a different machine;  for 
portability
+
+Types of Backups
+
+Apache Cassandra supports two kinds of backup strategies.
+
+- Snapshots
+- Incremental Backups
+
+A *snapshot* is a copy of a table’s SSTable files at a given time, created via 
hard links.  The DDL to create the table is stored as well.  Snapshots may be 
created by a user or created automatically.
+The setting (``snapshot_before_compaction``) in ``cassandra.yaml`` determines 
if snapshots are created before each compaction.
+By default ``snapshot_before_compaction`` is set to false.
+Snapshots may be created automatically before keyspace truncation or dropping 
of a table by setting ``auto_snapshot`` to true (default) in ``cassandra.yaml``.
+Truncates could be delayed due to the auto snapshots and another setting in 
``cassandra.yaml`` determines how long the coordinator should wait for 
truncates to complete.
+By default Cassandra waits 60 seconds for auto snapshots to complete.
+
+An *incremental backup* is a copy of a table’s SSTable files created by a hard 
link when memtables are flushed to disk as SSTables.
+Typically incremental 

[cassandra] branch trunk updated (2ce6ae3 -> 2b52ce2)

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

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


from 2ce6ae3  Merge branch 'cassandra-3.11' into trunk
 add 59d2c3c  Ninja fix for documentation - building using adoptopenjdk.
 add 2b52ce2  Added documentation for data modeling section.

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt|   1 +
 doc/Dockerfile |  20 +-
 doc/source/_templates/indexcontent.html|   2 +-
 .../data_modeling/data_modeling_conceptual.rst |  63 ++
 doc/source/data_modeling/data_modeling_logical.rst | 219 +
 .../data_modeling/data_modeling_physical.rst   | 117 +++
 doc/source/data_modeling/data_modeling_queries.rst |  85 
 doc/source/data_modeling/data_modeling_rdbms.rst   | 171 
 .../data_modeling/data_modeling_refining.rst   | 218 
 doc/source/data_modeling/data_modeling_schema.rst  | 144 ++
 doc/source/data_modeling/data_modeling_tools.rst   |  64 ++
 .../images/data_modeling_chebotko_logical.png  | Bin 0 -> 87366 bytes
 .../images/data_modeling_chebotko_physical.png | Bin 5000170 -> 4553809 
bytes
 .../images/data_modeling_hotel_bucketing.png   | Bin 0 -> 22009 bytes
 .../images/data_modeling_hotel_erd.png | Bin 0 -> 233309 bytes
 .../images/data_modeling_hotel_logical.png | Bin 0 -> 116998 bytes
 .../images/data_modeling_hotel_physical.png| Bin 0 -> 119795 bytes
 .../images/data_modeling_hotel_queries.png | Bin 0 -> 103940 bytes
 .../images/data_modeling_hotel_relational.png  | Bin 0 -> 102656 bytes
 .../images/data_modeling_reservation_logical.png   | Bin 0 -> 121750 bytes
 .../images/data_modeling_reservation_physical.png  | Bin 0 -> 142416 bytes
 doc/source/data_modeling/index.rst |  19 +-
 doc/source/index.rst   |   2 +-
 23 files changed, 1112 insertions(+), 13 deletions(-)
 create mode 100644 doc/source/data_modeling/data_modeling_conceptual.rst
 create mode 100644 doc/source/data_modeling/data_modeling_logical.rst
 create mode 100644 doc/source/data_modeling/data_modeling_physical.rst
 create mode 100644 doc/source/data_modeling/data_modeling_queries.rst
 create mode 100644 doc/source/data_modeling/data_modeling_rdbms.rst
 create mode 100644 doc/source/data_modeling/data_modeling_refining.rst
 create mode 100644 doc/source/data_modeling/data_modeling_schema.rst
 create mode 100644 doc/source/data_modeling/data_modeling_tools.rst
 create mode 100755 
doc/source/data_modeling/images/data_modeling_chebotko_logical.png
 copy test/data/serialization/1.2/utils.LegacyBloomFilter.bin => 
doc/source/data_modeling/images/data_modeling_chebotko_physical.png (74%)
 create mode 100644 
doc/source/data_modeling/images/data_modeling_hotel_bucketing.png
 create mode 100755 doc/source/data_modeling/images/data_modeling_hotel_erd.png
 create mode 100755 
doc/source/data_modeling/images/data_modeling_hotel_logical.png
 create mode 100644 
doc/source/data_modeling/images/data_modeling_hotel_physical.png
 create mode 100755 
doc/source/data_modeling/images/data_modeling_hotel_queries.png
 create mode 100755 
doc/source/data_modeling/images/data_modeling_hotel_relational.png
 create mode 100755 
doc/source/data_modeling/images/data_modeling_reservation_logical.png
 create mode 100755 
doc/source/data_modeling/images/data_modeling_reservation_physical.png


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



[cassandra-website] branch master updated (5ab635c -> a6ccf6e)

2019-12-04 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


from 5ab635c  Re-add line breaks to yum repo code block..
 add a6ccf6e  Rebuilt website.

No new revisions were added by this update.

Summary of changes:
 content/css/style.css  |   2 +-
 content/doc/3.11.6/objects.inv | Bin 8102 -> 8146 bytes
 content/doc/3.11.6/searchindex.js  |   2 +-
 content/doc/3.11.6/tools/nodetool/bootstrap.html   |   8 
 .../{describering.html => getconcurrency.html} |  17 +
 content/doc/3.11.6/tools/nodetool/nodetool.html|  11 ++-
 ...urrentviewbuilders.html => setconcurrency.html} |  21 +++--
 .../configuration/cassandra_config_file.html   |   9 -
 content/doc/4.0-alpha3/objects.inv | Bin 8884 -> 8927 bytes
 content/doc/4.0-alpha3/searchindex.js  |   2 +-
 .../doc/4.0-alpha3/tools/nodetool/bootstrap.html   |   8 
 .../nodetool/{move.html => getconcurrency.html}|  17 +
 .../doc/4.0-alpha3/tools/nodetool/nodetool.html|  11 ++-
 ...urrentviewbuilders.html => setconcurrency.html} |  21 +++--
 .../configuration/cassandra_config_file.html   |   9 -
 content/doc/latest/objects.inv | Bin 8884 -> 8927 bytes
 content/doc/latest/searchindex.js  |   2 +-
 content/doc/latest/tools/nodetool/bootstrap.html   |   8 
 .../{describering.html => getconcurrency.html} |  17 +
 content/doc/latest/tools/nodetool/nodetool.html|  11 ++-
 ...ncurrentcompactors.html => setconcurrency.html} |  21 +++--
 content/download/index.html|  12 ++--
 content/feed.xml   |   2 +-
 docker-compose.yml |   1 +
 src/_sass/_code.scss   |   2 +-
 .../_sources/tools/nodetool/getconcurrency.rst.txt |  11 +++
 .../_sources/tools/nodetool/nodetool.rst.txt   |  13 -
 .../_sources/tools/nodetool/setconcurrency.rst.txt |  11 +++
 src/doc/3.11.6/objects.inv | Bin 8102 -> 8146 bytes
 src/doc/3.11.6/searchindex.js  |   2 +-
 src/doc/3.11.6/tools/nodetool/bootstrap.html   |   8 
 .../{describering.html => getconcurrency.html} |  15 ---
 src/doc/3.11.6/tools/nodetool/nodetool.html|  11 ++-
 ...urrentviewbuilders.html => setconcurrency.html} |  19 ++-
 .../configuration/cassandra_config_file.rst.txt|  10 --
 .../_sources/tools/nodetool/getconcurrency.rst.txt |  11 +++
 .../_sources/tools/nodetool/nodetool.rst.txt   |  13 -
 .../_sources/tools/nodetool/setconcurrency.rst.txt |  11 +++
 .../configuration/cassandra_config_file.html   |   9 -
 src/doc/4.0-alpha3/objects.inv | Bin 8884 -> 8927 bytes
 src/doc/4.0-alpha3/searchindex.js  |   2 +-
 src/doc/4.0-alpha3/tools/nodetool/bootstrap.html   |   8 
 .../nodetool/{move.html => getconcurrency.html}|  15 ---
 src/doc/4.0-alpha3/tools/nodetool/nodetool.html|  11 ++-
 ...urrentviewbuilders.html => setconcurrency.html} |  19 ++-
 45 files changed, 221 insertions(+), 192 deletions(-)
 copy content/doc/3.11.6/tools/nodetool/{describering.html => 
getconcurrency.html} (92%)
 copy content/doc/3.11.6/tools/nodetool/{setconcurrentviewbuilders.html => 
setconcurrency.html} (87%)
 copy content/doc/4.0-alpha3/tools/nodetool/{move.html => getconcurrency.html} 
(92%)
 copy content/doc/4.0-alpha3/tools/nodetool/{setconcurrentviewbuilders.html => 
setconcurrency.html} (87%)
 copy content/doc/latest/tools/nodetool/{describering.html => 
getconcurrency.html} (92%)
 copy content/doc/latest/tools/nodetool/{setconcurrentcompactors.html => 
setconcurrency.html} (87%)
 create mode 100644 
src/doc/3.11.6/_sources/tools/nodetool/getconcurrency.rst.txt
 create mode 100644 
src/doc/3.11.6/_sources/tools/nodetool/setconcurrency.rst.txt
 copy src/doc/3.11.6/tools/nodetool/{describering.html => getconcurrency.html} 
(88%)
 copy src/doc/3.11.6/tools/nodetool/{setconcurrentviewbuilders.html => 
setconcurrency.html} (81%)
 create mode 100644 
src/doc/4.0-alpha3/_sources/tools/nodetool/getconcurrency.rst.txt
 create mode 100644 
src/doc/4.0-alpha3/_sources/tools/nodetool/setconcurrency.rst.txt
 copy src/doc/4.0-alpha3/tools/nodetool/{move.html => getconcurrency.html} (88%)
 copy src/doc/4.0-alpha3/tools/nodetool/{setconcurrentviewbuilders.html => 
setconcurrency.html} (81%)


---

[cassandra-website] branch master updated: Fixed docker builds

2019-10-30 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 28cdbd7  Fixed docker builds
28cdbd7 is described below

commit 28cdbd705ec2a3194f7a581dd2702dab15238043
Author: Jon Haddad 
AuthorDate: Wed Oct 30 13:09:10 2019 -0700

Fixed docker builds
---
 docker-compose.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docker-compose.yml b/docker-compose.yml
index 261f99c..cfa944c 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -6,7 +6,7 @@ services:
 image: cassandra-website:latest
 volumes:
   - ./src:/usr/src/cassandra-site/src
-  - ./content:/usr/src/cassandra-site/content
+  - ./content:/usr/src/cassandra-site/publish
 
   cassandra-website-serve:
 build: .


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



svn commit: r36452 - /release/cassandra/KEYS

2019-10-23 Thread rustyrazorblade
Author: rustyrazorblade
Date: Wed Oct 23 14:28:19 2019
New Revision: 36452

Log:
Added Mick's key for releases

Modified:
release/cassandra/KEYS

Modified: release/cassandra/KEYS
==
--- release/cassandra/KEYS (original)
+++ release/cassandra/KEYS Wed Oct 23 14:28:19 2019
@@ -3864,3 +3864,359 @@ iKh4wsFPQGBh9ssAC3lQrs6T7ccqnRoO6xsmL+Y2
 gbFPnWvcHSSFnKg=
 =GW0U
 -END PGP PUBLIC KEY BLOCK-
+pub   dsa3072 2010-04-26 [SC]
+  ABCD3108336F7CC6567E769FFDD3B769B21C125C
+uid   [ultimate] Mick Semb Wever 
+sig 3FDD3B769B21C125C 2018-06-01  Mick Semb Wever 
+sig  91D3EB78F8AEBAD3 2010-11-04  Michael Semb Wever (Java Engineer) 

+uid   [ultimate] Mick Semb Wever 
+sig 3FDD3B769B21C125C 2018-06-01  Mick Semb Wever 
+sig 3FDD3B769B21C125C 2010-04-26  Mick Semb Wever 
+sig  91D3EB78F8AEBAD3 2010-11-04  Michael Semb Wever (Java Engineer) 

+uid   [ultimate] [jpeg image of size 4671]
+sig 3FDD3B769B21C125C 2010-04-26  Mick Semb Wever 
+sig  91D3EB78F8AEBAD3 2010-11-04  Michael Semb Wever (Java Engineer) 

+uid   [ultimate] Mick Semb Wever 
+sig 3FDD3B769B21C125C 2018-06-01  Mick Semb Wever 
+sub   elg4096 2010-04-26 [E]
+sig  FDD3B769B21C125C 2010-04-26  Mick Semb Wever 
+
+pub   dsa3072 2010-04-26 [SC]
+  ABCD3108336F7CC6567E769FFDD3B769B21C125C
+uid   [ultimate] Mick Semb Wever 
+sig 3FDD3B769B21C125C 2010-04-26  Mick Semb Wever 
+uid   [ultimate] Mick Semb Wever 
+sig 3FDD3B769B21C125C 2010-04-26  Mick Semb Wever 
+uid   [ultimate] [jpeg image of size 4671]
+sig 3FDD3B769B21C125C 2010-04-26  Mick Semb Wever 
+sub   elg4096 2010-04-26 [E]
+sig  FDD3B769B21C125C 2010-04-26  Mick Semb Wever 
+
+-BEGIN PGP PUBLIC KEY BLOCK-
+
+mQSuBEvV7NIRDAC1ASnxXKXvnbJi6ZaNXgLiU+A9ziX5/xQy7NfnvBwu26v/Xm5g
+OnMTFIpdQBh1YZtCl4zzFdVPOCb0fYBantKYIyYUDZGtWNPJPezd9pPOMxB//O3z
+C2RhPWB2Hoc3Bjgc1IR1VVLGewX/v7+M1qqSx5D7G8QDMLguJxCuisTw45nfY52M
+EO+y0ZT/oCh4iZTbq+PIMKyLfDLnWF0zyXcFK+iMimb+DEOglBctpmpB3kR6bifx
+BlZzkzO65eiuaxFQ0xZjf0R7WYdmfY8piQRyqh/y/kn8Slk6THz0aYRca8Jf6y0L
+avszdiuCAkh4SK74l61SY/J1oXbBKWZkPMAfAxXyKwzh3Nm8eFyNnS0EBuITilvi
+/lWc6MQIoCh/bMNeGCzeoJWehBbCA1o0OxNpsqHjSffE2cM/r0NOQD1weK54osO0
+p+U0AxhXVHPUOuwqPmSUNTm05rVNCLQLvPaVt1M69MTR7bt/mfOJxrIDPvgThpX6
+5Uo4hVAewIyiH48BAOLcCRVSEy+sxKm69qPfps+amvwvNoY3fNm4esGGKIT5DACT
+MrR2lVPY/XGM0F+AOj51XgmCOGn1wmjZiXe1kMHRZBlVzFXuOfZKfZeYDMT8zK0X
+oSfBCy4OOMG2QRb4ICHiIGMRj7XDrS3MrHgJR2vnQ/ZUo+y7pb03Z5a9sMooh/Uk
+BeF9wMkIt5mbtQyxRZYBvG6e6KrlA/ViG5I9QoTjKsjUj4B5s556Po6n3IJqXpW4
+Abtc+FxjhY3SafyQG+nsVZbrsojtityXo6y6R/yTdNB+N0reIgPs5dSWFt/N7SNq
+cwLLvhbTl27cR1afNkxgh6ULVvSZ6I9KMMZIvdLD+HWZijzSi/pYnZlrrp5NRBWw
+ZwRU4TOXuPiMk4eNW4X3YMR/Z3/XqT2JtGex/x/J03YnEDVET5LAcWZ0Nt9QlVNg
+6DwG/cFCgoySszgyIsNiorVslxG62CsDRLF2p6o8lyYix7uAdqnhVEsEMQpa1Ah/
+sYE8JRcVEDTiPL3VCp3ZG/3jPt6A/KDzrEMC2t11ZcoBkBZoIBKfvRPH02yuM3cL
+/ROU5R7FMIv3mqimg+SojUmn6TWhzlDIo/K9p6v+Sj/ujpR5pzbVUGc3SMhQ+us8
+C5BKPDGMgdP155LS2/C1LnSjKQafsrqAiK9rKmLcmIHK/1WoFt04ckjmzqrIJPJd
+bZU8YYA5TTr/ZR3PPkN5n5NXF1K5nckPSVWRf6wyQhcA8Ao7iZO2uwWR07XGUItT
+/FBGPEmgh2S8GXvzFTRhVozNvvL7+WhdQa6OQe5ICM8Wc67u1wUWzuPZguCfmxyA
+LhdnVRUZAoVdbk3IFsovcnquby6vDduIt9CsNhFm2SadKb1JdxJxsgaDNUYwCSpA
+0GKnu5eYA+O8S/vYHnjZVITWr0V7qk81P92W84OKXwVkJ0QwmXkSFfbF8V/Nvjxp
+01+rz0ctndbYf4mXAyzTqv4iC6IWbJ1Zz1GH5JGw+HMx5hk1rcE8jUItDvPWt8+F
+HxO/K8ufoVx1AJEptnZToKe5QtV4EOmzLNyt9jnCPT2qPNKK0Ad4bsDsbqK4Spyz
+lrQgTWljayBTZW1iIFdldmVyIDxtY2tAYXBhY2hlLm9yZz6IkAQTEQoAOAIbAwUL
+CQgHAwUVCgkICwUWAgMBAAIeAQIXgBYhBKvNMQgzb3zGVn52n/3Tt2myHBJcBQJb
+EI9GAAoJEP3Tt2myHBJc1GoA/R3Z/qs3kYuLgIpMF/bIAFHYJErmEa1gkMTSaYvf
+sR65AP9RQqW9Niy0JCwVtlq5gXSjgcYh6Gh1/w0ehidE+Kp7Toh5BBMRCgAhBQJL
+1ezSAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEP3Tt2myHBJcf6gA/3PW
+HVINw1kWYrfQDIgMqnkFDbG2UFMP5X6FG5mEo4oKAP4jZQchjncch8abmj1lUz7c
+3aB1+rF+9j4FuHatwzcp9ohGBBARCgAGBQJM0hpoAAoJEJHT63j4rrrTgI8An2wr
+J4j6ATOeDMPNSwad3GQV3zsJAJ0QV7dgVYGjRVt+OLJcqa6Wt0yIELQlTWljayBT
+ZW1iIFdldmVyIDxtaWNrQHNlbWIud2V2ZXIub3JnPoiTBBMRCgA7AhsDBQsJCAcD
+BRUKCQgLBRYCAwEAAh4BAheAFiEEq80xCDNvfMZWfnaf/dO3abIcElwFAlsQj0YC
+GQEACgkQ/dO3abIcElyrpAD/W4Ge09788Ks6Qy+ipBewjeUaOC3SMI8To73CLQC5
+p3MBAMH7qqy6SO/s6OxmDWdVN7wjK+e9LY/PhEqb5ReMMekiiEYEEBEKAAYFAkzS
+GmsACgkQkdPrePiuutP43gCeIPrQpZHtO/Pl2Z+yHYPqColcj2gAn2YbjU5P3uTC
+S4UX2+ZYCv5ZgX5Z0dGS0ZABEAABAQAAAP/Y/+AAEEpGSUYAAQEA
+AAEAAQAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQu
+JyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy
+MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy
+/8AAEQgAcwCaAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAABAgMEBQYH
+CAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGh
+CCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldY
+WVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1
+tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v

[cassandra-website] branch master updated: added empty div to check if publishing worked

2019-10-17 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new cb76bc3  added empty div to check if publishing worked
cb76bc3 is described below

commit cb76bc3085107cb60e4ceea35f53f75a437b694b
Author: Jon Haddad 
AuthorDate: Thu Oct 17 09:55:21 2019 -0400

added empty div to check if publishing worked
---
 content/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/index.html b/content/index.html
index 05e031d..a956f12 100644
--- a/content/index.html
+++ b/content/index.html
@@ -258,6 +258,6 @@
   } catch(err) {}
 
 
-
+   
   
 


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



[cassandra-website] branch master updated: Adding asf.yaml to publish the new site.

2019-10-17 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 2ac9e7f  Adding asf.yaml to publish the new site.
2ac9e7f is described below

commit 2ac9e7f765805ccd5e0c857b09727ccad8e5a286
Author: Jon Haddad 
AuthorDate: Thu Oct 17 09:49:48 2019 -0400

Adding asf.yaml to publish the new site.
---
 .asf.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 000..3486904
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,2 @@
+publish:
+  whoami: master


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



[cassandra-website] branch master updated: Fixed minor issue with sed, needed to point to content directory instead of publish.

2019-10-17 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new f151c02  Fixed minor issue with sed, needed to point to content 
directory instead of publish.
f151c02 is described below

commit f151c02d9f336575a0a1eef68f4bbcb53eeeaf44
Author: Jon Haddad 
AuthorDate: Thu Oct 17 08:41:40 2019 -0400

Fixed minor issue with sed, needed to point to content directory instead of 
publish.
---
 docker-entrypoint.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
index bb54a36..264f183 100755
--- a/docker-entrypoint.sh
+++ b/docker-entrypoint.sh
@@ -39,4 +39,4 @@ make
 
 # Fix the links in the resource paths for the landing pages of each version in 
the publish directory
 cd ${CASSANDRA_SITE_DIR}
-sed -i 's/\.\/\.\.\//\.\/\.\.\/\.\.\//g' ./publish/doc/*/index.html
\ No newline at end of file
+sed -i 's/\.\/\.\.\//\.\/\.\.\/\.\.\//g' ./content/doc/*/index.html
\ No newline at end of file


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



[cassandra-website] branch master updated: Using the stretch tag instead of latest to pin the version. Latest breaks openjdk-8 install.

2019-10-17 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 79842ba  Using the stretch tag instead of latest to pin the version.  
Latest breaks openjdk-8 install.
79842ba is described below

commit 79842ba4c371ce36f86472c23701fc7e98ea7038
Author: Jon Haddad 
AuthorDate: Thu Oct 17 07:59:37 2019 -0400

Using the stretch tag instead of latest to pin the version.  Latest breaks 
openjdk-8 install.
---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index ae2087e..99c312f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM debian:latest
+FROM debian:stretch
 
 # Install tools
 RUN apt-get update && \


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



[cassandra-website] branch master updated: minor fixes to make the site work with self serve, documentation fixes

2019-10-10 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new a4aee75  minor fixes to make the site work with self serve, 
documentation fixes
a4aee75 is described below

commit a4aee756ae4d468c3516cca98b4b072e3f1b5d29
Author: Jon Haddad 
AuthorDate: Thu Oct 10 13:10:47 2019 -0700

minor fixes to make the site work with self serve, documentation fixes
---
 README.md  | 6 +++---
 docker-compose.yml | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md
index bec21f1..54ce543 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ $ cd ./cassandra-website
 
 ```
 
-To build the website run the following commands from within the 
_./cassandra-website_ directory (assuming you used the above checkout commands):
+To build the website run the following commands from within the 
`./cassandra-website` directory (assuming you used the above clone command):
 
 ```bash
 $ docker-compose build cassandra-website
@@ -29,7 +29,7 @@ $ docker-compose run cassandra-website
 
 Go make yourself a cup of coffee, this will take a while...
 
-Once building has completed, the site content will be in the 
_./cassandra-website/publish_ directory ready to be committed.
+Once building has completed, the site content will be in the 
`./cassandra-website/content` directory ready to be committed.
 
 
 Previewing the site
@@ -42,4 +42,4 @@ $ docker-compose build cassandra-website
 $ docker-compose up cassandra-website-serve
 ```
 
-For information about the site layout see the **Layout** section of 
[README](src/README#layout) in the _src_ directory.
\ No newline at end of file
+For information about the site layout see the **Layout** section of 
[README](src/README#layout) in the _src_ directory.
diff --git a/docker-compose.yml b/docker-compose.yml
index 027ab57..261f99c 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -6,7 +6,7 @@ services:
 image: cassandra-website:latest
 volumes:
   - ./src:/usr/src/cassandra-site/src
-  - ./content:/usr/src/cassandra-site/publish
+  - ./content:/usr/src/cassandra-site/content
 
   cassandra-website-serve:
 build: .
@@ -16,5 +16,5 @@ services:
   - 4000:4000
 volumes:
   - ./src:/usr/src/cassandra-site/src
-  - ./content:/usr/src/cassandra-site/publish
+  - ./content:/usr/src/cassandra-site/content
   - ./docker-entrypoint-jekyll-serve.sh:/docker-entrypoint-jekyll-serve.sh


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



[cassandra-website] branch master updated: renamed readme so it renders correctly in github

2019-10-04 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new dea1770  renamed readme so it renders correctly in github
dea1770 is described below

commit dea177077ee0d53b96408252285b1c3535772261
Author: Jon Haddad 
AuthorDate: Fri Oct 4 11:08:41 2019 -0700

renamed readme so it renders correctly in github
---
 README => README.md | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/README b/README.md
similarity index 100%
rename from README
rename to README.md


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



[cassandra-website] branch master updated: removed last traces of svn in the readme

2019-10-04 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 2877926  removed last traces of svn in the readme
2877926 is described below

commit 2877926a7d3f5d0f857241c15478e09d84ce4776
Author: Jon Haddad 
AuthorDate: Fri Oct 4 11:07:50 2019 -0700

removed last traces of svn in the readme
---
 README | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README b/README
index 0dfc9b4..bec21f1 100644
--- a/README
+++ b/README
@@ -1,12 +1,12 @@
 Apache Cassandra website builder
 
 
-Building the Apache Cassandra website takes a number of steps. To make things 
easier we have provided a Docker container which can build the full website in 
two simple commands and have it ready to commit via SVN. If you are interested 
in the process head over to the [README](./src/README) in _src_ directory.
+Building the Apache Cassandra website takes a number of steps. To make things 
easier we have provided a Docker container which can build the full website in 
two simple commands and have it ready to commit via git. If you are interested 
in the process head over to the [README](./src/README) in _src_ directory.
 
 Prerequisite
 
 
-To build and run the Docker container you will need `Docker` version 2.0.0.0 
or greater. If you need a copy of the site code you will need `SVN` as well.
+To build and run the Docker container you will need `Docker` version 2.0.0.0 
or greater. If you need a copy of the site code you will need `git` as well.
 
 
 Building the site


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



[cassandra-website] branch master updated: updated readme to reference the git repo

2019-10-04 Thread rustyrazorblade
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new abfb717  updated readme to reference the git repo
abfb717 is described below

commit abfb71781180122598501583d7c8cf02d9eb2f40
Author: Jon Haddad 
AuthorDate: Fri Oct 4 11:07:01 2019 -0700

updated readme to reference the git repo
---
 .gitignore | 1 +
 README | 8 
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000..85e7c1d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/.idea/
diff --git a/README b/README
index 5df434f..0dfc9b4 100644
--- a/README
+++ b/README
@@ -15,12 +15,12 @@ Building the site
 If you need a copy of the site code run this command:
 
 ```bash
-$ svn co http://svn.apache.org/repos/asf/cassandra/site/ ./cassandra-site
-$ cd ./cassandra-site
+$ git clone https://github.com/apache/cassandra-website.git
+$ cd ./cassandra-website
 
 ```
 
-To build the website run the following commands from within the 
_./cassandra-site_ directory (assuming you used the above checkout commands):
+To build the website run the following commands from within the 
_./cassandra-website_ directory (assuming you used the above checkout commands):
 
 ```bash
 $ docker-compose build cassandra-website
@@ -29,7 +29,7 @@ $ docker-compose run cassandra-website
 
 Go make yourself a cup of coffee, this will take a while...
 
-Once building has completed, the site content will be in the 
_./cassandra-site/publish_ directory ready to be committed.
+Once building has completed, the site content will be in the 
_./cassandra-website/publish_ directory ready to be committed.
 
 
 Previewing the site


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



cassandra git commit: Auto-expand replication_factor for NetworkTopologyStrategy

2018-12-05 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk eea68a2cf -> 1f19d5f7a


Auto-expand replication_factor for NetworkTopologyStrategy

This re-defines the 'replication_factor' configuration option for
NetworkTopologyStrategy to auto-expand out to the datacenters that the
cluster knows about. This allows users to not worry about their cluster
layout when creating keyspaces. On ALTER this keyword will only ever add
datacenters (it keeps all previous datacenters unless explicitly overridden)

Patch by Joseph Lynch; reviewed by Jon Haddad for CASSANDRA-14303


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

Branch: refs/heads/trunk
Commit: 1f19d5f7a243cc4227da923459f5eb2f66066778
Parents: eea68a2
Author: Joseph Lynch 
Authored: Mon Mar 12 20:37:30 2018 -0700
Committer: Jon Haddad 
Committed: Wed Dec 5 11:30:55 2018 -0800

--
 CHANGES.txt |  1 +
 NEWS.txt|  5 ++
 doc/source/cql/ddl.rst  | 86 +++---
 .../statements/schema/KeyspaceAttributes.java   |  3 +-
 .../locator/AbstractReplicationStrategy.java| 34 +++
 .../locator/NetworkTopologyStrategy.java| 46 +-
 .../cassandra/locator/ReplicationFactor.java|  7 +-
 .../cassandra/schema/ReplicationParams.java |  9 +-
 .../org/apache/cassandra/cql3/CQLTester.java| 23 -
 .../cql3/validation/operations/AlterTest.java   | 93 
 .../locator/ReplicationFactorTest.java  | 10 +++
 11 files changed, 295 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f19d5f7/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 80bd148..c301e13 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0
+ * Auto-expand replication_factor for NetworkTopologyStrategy (CASSANDRA-14303)
  * Transient Replication: support EACH_QUORUM (CASSANDRA-14727)
  * BufferPool: allocating thread for new chunks should acquire directly 
(CASSANDRA-14832)
  * Send correct messaging version in internode messaging handshake's third 
message (CASSANDRA-14896)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f19d5f7/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 5cd8542..00c3178 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -105,6 +105,11 @@ New features
- Faster streaming of entire SSTables using ZeroCopy APIs. If enabled, 
Cassandra will use stream
  entire SSTables, significantly speeding up transfers. Any streaming 
related operations will see
  corresponding improvement. See CASSANDRA-14556.
+   - NetworkTopologyStrategy now supports auto-expanding the replication_factor
+ option into all available datacenters at CREATE or ALTER time. For 
example,
+ specifying replication_factor: 3 translates to three replicas in every
+ datacenter. This auto-expansion will _only add_ datacenters for safety.
+ See CASSANDRA-14303 for more details.
 
 Upgrading
 -

http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f19d5f7/doc/source/cql/ddl.rst
--
diff --git a/doc/source/cql/ddl.rst b/doc/source/cql/ddl.rst
index 945e301..afb130e 100644
--- a/doc/source/cql/ddl.rst
+++ b/doc/source/cql/ddl.rst
@@ -73,13 +73,15 @@ A keyspace is created using a ``CREATE KEYSPACE`` statement:
 
 For instance::
 
-CREATE KEYSPACE Excelsior
-   WITH replication = {'class': 'SimpleStrategy', 
'replication_factor' : 3};
+CREATE KEYSPACE excelsior
+WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 
3};
 
-CREATE KEYSPACE Excalibur
-   WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1' : 
1, 'DC2' : 3}
-AND durable_writes = false;
+CREATE KEYSPACE excalibur
+WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1' : 1, 
'DC2' : 3}
+AND durable_writes = false;
 
+Attempting to create a keyspace that already exists will return an error 
unless the ``IF NOT EXISTS`` option is used. If
+it is used, the statement will be a no-op if the keyspace already exists.
 
 The supported ``options`` are:
 
@@ -96,14 +98,72 @@ The ``replication`` property is mandatory and must at least 
contains the ``'clas
 :ref:`replication strategy ` class to use. The rest of 
the sub-options depends on what replication
 strategy is used. By default, Cassandra support the following ``'class'``:
 
-- ``'SimpleStrategy'``: A simple 

cassandra git commit: Add basic troubleshooting documentation

2018-09-20 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk 3d66a81dc -> 57b87d21a


Add basic troubleshooting documentation

This is just a start, but should help people get out of the most basic of
reliability/performance issues.

Includes information on isolating the node or nodes causing an issue, as
well as detailed information on how to debug a correctness/reliability issue
on a particular node.

Patch by Joseph Lynch, reviewed by Jon Haddad for CASSANDRA-14553


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

Branch: refs/heads/trunk
Commit: 57b87d21aa4712f63903a191cff6c832c759b97b
Parents: 3d66a81
Author: Joseph Lynch 
Authored: Sun Jul 1 17:56:08 2018 -0700
Committer: Jon Haddad 
Committed: Thu Sep 20 09:16:17 2018 -0700

--
 doc/source/operating/metrics.rst |   5 +
 doc/source/troubleshooting/finding_nodes.rst | 149 ++
 doc/source/troubleshooting/index.rst |  21 +-
 doc/source/troubleshooting/reading_logs.rst  | 267 +++
 doc/source/troubleshooting/use_nodetool.rst  | 245 ++
 doc/source/troubleshooting/use_tools.rst | 542 ++
 6 files changed, 1228 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/57b87d21/doc/source/operating/metrics.rst
--
diff --git a/doc/source/operating/metrics.rst b/doc/source/operating/metrics.rst
index 325395c..4f61bf2 100644
--- a/doc/source/operating/metrics.rst
+++ b/doc/source/operating/metrics.rst
@@ -16,6 +16,8 @@
 
 .. highlight:: none
 
+.. _monitoring-metrics:
+
 Monitoring
 --
 
@@ -55,6 +57,8 @@ All metrics reported by cassandra fit into one of the 
following types.
 A meter metric which measures mean throughput and one-, five-, and 
fifteen-minute exponentially-weighted moving
 average throughputs.
 
+.. _table-metrics:
+
 Table Metrics
 ^
 
@@ -397,6 +401,7 @@ RegularStatementsExecuted  CounterNumber of **non** 
prepared statements
 PreparedStatementsRatioGauge  Percentage of statements that are 
prepared vs unprepared.
 == == ===
 
+.. _dropped-metrics:
 
 DroppedMessage Metrics
 ^^

http://git-wip-us.apache.org/repos/asf/cassandra/blob/57b87d21/doc/source/troubleshooting/finding_nodes.rst
--
diff --git a/doc/source/troubleshooting/finding_nodes.rst 
b/doc/source/troubleshooting/finding_nodes.rst
new file mode 100644
index 000..df5e16c
--- /dev/null
+++ b/doc/source/troubleshooting/finding_nodes.rst
@@ -0,0 +1,149 @@
+.. 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.
+
+Find The Misbehaving Nodes
+==
+
+The first step to troubleshooting a Cassandra issue is to use error messages,
+metrics and monitoring information to identify if the issue lies with the
+clients or the server and if it does lie with the server find the problematic
+nodes in the Cassandra cluster. The goal is to determine if this is a systemic
+issue (e.g. a query pattern that affects the entire cluster) or isolated to a
+subset of nodes (e.g. neighbors holding a shared token range or even a single
+node with bad hardware).
+
+There are many sources of information that help determine where the problem
+lies. Some of the most common are mentioned below.
+
+Client Logs and Errors
+--
+Clients of the cluster often leave the best breadcrumbs to follow. Perhaps
+client latencies or error rates have increased in a particular datacenter
+(likely eliminating other datacenter's nodes), or clients are receiving a
+particular kind of error code indicating a particular kind of problem.
+Troubleshooters can often rule out many failure modes just by reading the error
+messages. In fact, many Cassandra error messages 

[1/2] cassandra git commit: sort and limit output with nodetool tablestats

2018-04-10 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk e75c51719 -> c90b0d62b


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c90b0d62/test/unit/org/apache/cassandra/tools/nodetool/stats/TableStatsTestBase.java
--
diff --git 
a/test/unit/org/apache/cassandra/tools/nodetool/stats/TableStatsTestBase.java 
b/test/unit/org/apache/cassandra/tools/nodetool/stats/TableStatsTestBase.java
new file mode 100644
index 000..bb56ef8
--- /dev/null
+++ 
b/test/unit/org/apache/cassandra/tools/nodetool/stats/TableStatsTestBase.java
@@ -0,0 +1,432 @@
+/*
+ * 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.tools.nodetool.stats;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Create a test vector for unit testing of TableStats features.
+ */
+public class TableStatsTestBase
+{
+
+/**
+ * A test vector of StatsKeyspace and StatsTable objects loaded with human 
readable stats.
+ */
+protected static List humanReadableKeyspaces;
+
+/**
+ * A test vector of StatsTable objects loaded with human readable 
statistics.
+ */
+protected static List humanReadableTables;
+
+/**
+ * A test vector of StatsKeyspace and StatsTable objects.
+ */
+protected static List testKeyspaces;
+
+/**
+ * A test vector of StatsTable objects.
+ */
+protected static List testTables;
+
+/**
+ * @returns StatsKeyspace an instance of StatsKeyspace preset with values 
for use in a test vector
+ */
+private static StatsKeyspace createStatsKeyspaceTemplate(String 
keyspaceName)
+{
+return new StatsKeyspace(null, keyspaceName);
+}
+
+/**
+ * @returns StatsTable an instance of StatsTable preset with values for 
use in a test vector
+ */
+private static StatsTable createStatsTableTemplate(String keyspaceName, 
String tableName)
+{
+StatsTable template = new StatsTable();
+template.fullName = keyspaceName + "." + tableName;
+template.keyspaceName = new String(keyspaceName);
+template.tableName = new String(tableName);
+template.isIndex = false;
+template.sstableCount = 0L;
+template.spaceUsedLive = "0";
+template.spaceUsedTotal = "0";
+template.spaceUsedBySnapshotsTotal = "0";
+template.percentRepaired = 1.0D;
+template.bytesRepaired = 0L;
+template.bytesUnrepaired = 0L;
+template.bytesPendingRepair = 0L;
+template.sstableCompressionRatio = -1.0D;
+template.numberOfPartitionsEstimate = 0L;
+template.memtableCellCount = 0L;
+template.memtableDataSize = "0";
+template.memtableSwitchCount = 0L;
+template.localReadCount =0L;
+template.localReadLatencyMs = Double.NaN;
+template.localWriteCount = 0L;
+template.localWriteLatencyMs = 0D;
+template.pendingFlushes = 0L;
+template.bloomFilterFalsePositives = 0L;
+template.bloomFilterFalseRatio = 0D;
+template.bloomFilterSpaceUsed = "0";
+template.indexSummaryOffHeapMemoryUsed = "0";
+template.compressionMetadataOffHeapMemoryUsed = "0";
+template.compactedPartitionMinimumBytes = 0L;
+template.compactedPartitionMaximumBytes = 0L;
+template.compactedPartitionMeanBytes = 0L;
+template.bytesRepaired = 0L;
+template.bytesUnrepaired = 0L;
+template.bytesPendingRepair = 0L;
+template.averageLiveCellsPerSliceLastFiveMinutes = Double.NaN;
+template.maximumLiveCellsPerSliceLastFiveMinutes = 0L;
+template.averageTombstonesPerSliceLastFiveMinutes = Double.NaN;
+template.maximumTombstonesPerSliceLastFiveMinutes = 0L;
+template.droppedMutations = "0";
+return template;
+}
+
+@BeforeClass
+public static void createTestVector()
+{
+// create test tables from templates
+StatsTable table1 = createStatsTableTemplate("keyspace1", "table1");
+StatsTable table2 = 

[2/2] cassandra git commit: sort and limit output with nodetool tablestats

2018-04-10 Thread rustyrazorblade
sort and limit output with nodetool tablestats

Patch by Patrick Bannister, reviewed by Jon Haddad for CASSANDRA-13889


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

Branch: refs/heads/trunk
Commit: c90b0d62bc32c91c3a98ab691cb36c8177f12871
Parents: e75c517
Author: Patrick Bannister 
Authored: Tue Apr 3 23:58:50 2018 +
Committer: Jon Haddad 
Committed: Tue Apr 10 17:44:15 2018 -0700

--
 CHANGES.txt |   1 +
 NEWS.txt|   1 +
 .../org/apache/cassandra/io/util/FileUtils.java |  39 ++
 .../cassandra/tools/nodetool/TableStats.java|  43 +-
 .../tools/nodetool/stats/StatsTable.java|   4 +-
 .../nodetool/stats/StatsTableComparator.java| 336 +++
 .../tools/nodetool/stats/TableStatsHolder.java  | 184 +---
 .../tools/nodetool/stats/TableStatsPrinter.java | 130 +++---
 .../apache/cassandra/io/util/FileUtilsTest.java |  29 ++
 .../stats/StatsTableComparatorTest.java | 311 +
 .../nodetool/stats/TableStatsPrinterTest.java   | 366 
 .../nodetool/stats/TableStatsTestBase.java  | 432 +++
 12 files changed, 1755 insertions(+), 121 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c90b0d62/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index bb8c731..0059ce0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0
+ * Add options to nodetool tablestats to sort and limit output 
(CASSANDRA-13889)
  * Rename internals to reflect CQL vocabulary
(CASSANDRA-14354)
  * Add support for hybrid MIN(), MAX() speculative retry policies

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c90b0d62/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index f8e3ca6..df4c32a 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -69,6 +69,7 @@ New features
- SSTableDump now supports the -l option to output each partition as it's 
own json object
  See CASSANDRA-13848 for more detail
- Metric for coordinator writes per table has been added. See 
CASSANDRA-14232
+   - Nodetool cfstats now has options to sort by various metrics as well as 
limit results.
 
 Upgrading
 -

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c90b0d62/src/java/org/apache/cassandra/io/util/FileUtils.java
--
diff --git a/src/java/org/apache/cassandra/io/util/FileUtils.java 
b/src/java/org/apache/cassandra/io/util/FileUtils.java
index b8be84f..a085813 100644
--- a/src/java/org/apache/cassandra/io/util/FileUtils.java
+++ b/src/java/org/apache/cassandra/io/util/FileUtils.java
@@ -400,6 +400,45 @@ public final class FileUtils
 ScheduledExecutors.nonPeriodicTasks.execute(runnable);
 }
 
+public static long parseFileSize(String value)
+{
+long result;
+if (!value.matches("\\d+(\\.\\d+)? (GiB|KiB|MiB|TiB|bytes)"))
+{
+throw new IllegalArgumentException(
+String.format("value %s is not a valid human-readable file 
size", value));
+}
+if (value.endsWith(" TiB"))
+{
+result = Math.round(Double.valueOf(value.replace(" TiB", "")) * 
ONE_TB);
+return result;
+}
+else if (value.endsWith(" GiB"))
+{
+result = Math.round(Double.valueOf(value.replace(" GiB", "")) * 
ONE_GB);
+return result;
+}
+else if (value.endsWith(" KiB"))
+{
+result = Math.round(Double.valueOf(value.replace(" KiB", "")) * 
ONE_KB);
+return result;
+}
+else if (value.endsWith(" MiB"))
+{
+result = Math.round(Double.valueOf(value.replace(" MiB", "")) * 
ONE_MB);
+return result;
+}
+else if (value.endsWith(" bytes"))
+{
+result = Math.round(Double.valueOf(value.replace(" bytes", "")));
+return result;
+}
+else
+{
+throw new 
IllegalStateException(String.format("FileUtils.parseFileSize() reached an 
illegal state parsing %s", value));
+}
+}
+
 public static String stringifyFileSize(double value)
 {
 double d;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c90b0d62/src/java/org/apache/cassandra/tools/nodetool/TableStats.java
--
diff --git 

cassandra git commit: renamed ColumnFamilyStoreCQLHelper to TableCQLHelper

2018-04-10 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk 4991ca26a -> e75c51719


renamed ColumnFamilyStoreCQLHelper to TableCQLHelper

Patch by Venkata+Harikrishna, reviewed by Jon Haddad for CASSANDRA-14354


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

Branch: refs/heads/trunk
Commit: e75c5171964b3211776136c50f0d8514b85d6295
Parents: 4991ca2
Author: Venkata+Harikrishna Nukala 
Authored: Sat Mar 31 04:16:27 2018 +0530
Committer: Jon Haddad 
Committed: Tue Apr 10 16:29:14 2018 -0700

--
 CHANGES.txt |   2 +
 .../apache/cassandra/db/ColumnFamilyStore.java  |   2 +-
 .../db/ColumnFamilyStoreCQLHelper.java  | 428 --
 .../org/apache/cassandra/db/TableCQLHelper.java | 428 ++
 .../db/ColumnFamilyStoreCQLHelperTest.java  | 447 ---
 .../apache/cassandra/db/TableCQLHelperTest.java | 447 +++
 6 files changed, 878 insertions(+), 876 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e75c5171/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 650f740..bb8c731 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
 4.0
+ * Rename internals to reflect CQL vocabulary
+   (CASSANDRA-14354)
  * Add support for hybrid MIN(), MAX() speculative retry policies
(CASSANDRA-14293, CASSANDRA-14338, CASSANDRA-14352)
  * Fix some regressions caused by 14058 (CASSANDRA-14353)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e75c5171/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
--
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index e4b84fe..34535e5 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1824,7 +1824,7 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
 
 try (PrintStream out = new PrintStream(schemaFile))
 {
-for (String s: 
ColumnFamilyStoreCQLHelper.dumpReCreateStatements(metadata()))
+for (String s: 
TableCQLHelper.dumpReCreateStatements(metadata()))
 out.println(s);
 }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e75c5171/src/java/org/apache/cassandra/db/ColumnFamilyStoreCQLHelper.java
--
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStoreCQLHelper.java 
b/src/java/org/apache/cassandra/db/ColumnFamilyStoreCQLHelper.java
deleted file mode 100644
index 740ef3f..000
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStoreCQLHelper.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*
- * 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;
-
-import java.nio.ByteBuffer;
-import java.util.*;
-import java.util.concurrent.atomic.*;
-import java.util.function.*;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.collect.Iterables;
-
-import org.apache.cassandra.cql3.statements.*;
-import org.apache.cassandra.db.marshal.*;
-import org.apache.cassandra.schema.*;
-import org.apache.cassandra.utils.*;
-
-/**
- * Helper methods to represent TableMetadata and related objects in CQL format
- */
-public class ColumnFamilyStoreCQLHelper
-{
-public static List dumpReCreateStatements(TableMetadata metadata)
-{
-List l = new ArrayList<>();
-// Types come first, as table can't be created without them
-l.addAll(ColumnFamilyStoreCQLHelper.getUserTypesAsCQL(metadata));
-// Record re-create schema statements
-

cassandra git commit: Count deleted rows scanned during reads for tracing and tombstone thresholds.

2018-02-08 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.11 d36919096 -> 9d649d69a


Count deleted rows scanned during reads for tracing and tombstone thresholds.

If a row is read but is not live anymore (which happens with row level 
tombstones) it is not counted anywhere
in the metrics nor reported in tracing. Row tombstones themselves are not 
reported anywhere.
The consequence is that some delete heavy workloads will show no tombstone read 
but endure severe
performance issues. This commit counts deleted rows as standard tombstone cells.

Patch by Alexander Dejanovski; Reviewed by Jon Haddad for CASSANDRA-8527


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

Branch: refs/heads/cassandra-3.11
Commit: 9d649d69a56a91fcb06a3582b22606f0fe361f49
Parents: d369190
Author: Jon Haddad 
Authored: Thu Feb 8 11:01:38 2018 -0800
Committer: Jon Haddad 
Committed: Thu Feb 8 11:01:38 2018 -0800

--
 CHANGES.txt |   2 +
 .../org/apache/cassandra/db/ReadCommand.java|  34 ++-
 .../apache/cassandra/metrics/TableMetrics.java  |   2 +-
 .../apache/cassandra/db/ReadCommandTest.java| 206 ++-
 4 files changed, 185 insertions(+), 59 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9d649d69/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 8c0d8f0..4eb03e5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -19,6 +19,8 @@
  * Round buffer size to powers of 2 for the chunk cache (CASSANDRA-13897)
  * Update jackson JSON jars (CASSANDRA-13949)
  * Avoid locks when checking LCS fanout and if we should defrag 
(CASSANDRA-13930)
+ * Correctly count range tombstones in traces and tombstone thresholds 
(CASSANDRA-8527)
+
 Merged from 3.0:
  * Handle failure when mutating repaired status in Verifier (CASSANDRA-13933)
  * Set encoding for javadoc generation (CASSANDRA-14154)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9d649d69/src/java/org/apache/cassandra/db/ReadCommand.java
--
diff --git a/src/java/org/apache/cassandra/db/ReadCommand.java 
b/src/java/org/apache/cassandra/db/ReadCommand.java
index ab8779e..c8b256a 100644
--- a/src/java/org/apache/cassandra/db/ReadCommand.java
+++ b/src/java/org/apache/cassandra/db/ReadCommand.java
@@ -485,17 +485,37 @@ public abstract class ReadCommand extends MonitorableImpl 
implements ReadQuery
 return applyToRow(row);
 }
 
+/**
+ * Count the number of live rows returned by the read command and 
the number of tombstones.
+ *
+ * Tombstones come in two forms on rows :
+ * - cells that aren't live anymore (either expired through TTL or 
deleted) : 1 tombstone per cell
+ * - Rows that aren't live and have no cell (DELETEs performed on 
the primary key) : 1 tombstone per row 
+ * We avoid counting rows as tombstones if they contain nothing 
but expired cells.
+ */
 @Override
 public Row applyToRow(Row row)
 {
-if (row.hasLiveData(ReadCommand.this.nowInSec(), 
enforceStrictLiveness))
-++liveRows;
-
+boolean hasTombstones = false;
 for (Cell cell : row.cells())
 {
 if (!cell.isLive(ReadCommand.this.nowInSec()))
+{
 countTombstone(row.clustering());
+hasTombstones = true; // allows to avoid counting an 
extra tombstone if the whole row expired
+}
 }
+
+if (row.hasLiveData(ReadCommand.this.nowInSec(), 
enforceStrictLiveness))
+++liveRows;
+else if 
(!row.primaryKeyLivenessInfo().isLive(ReadCommand.this.nowInSec())
+&& row.hasDeletion(ReadCommand.this.nowInSec())
+&& !hasTombstones)
+{
+// We're counting primary key deletions only here.
+countTombstone(row.clustering());
+}
+
 return row;
 }
 
@@ -528,12 +548,16 @@ public abstract class ReadCommand extends MonitorableImpl 
implements ReadQuery
 boolean warnTombstones = tombstones > warningThreshold && 
respectTombstoneThresholds;
 if (warnTombstones)
 {
-String msg = String.format("Read %d live rows 

[1/2] cassandra git commit: Count deleted rows scanned during reads for tracing and warning tombstone thresholds.

2018-02-08 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk 0f58f6c65 -> b2d20d4bb


Count deleted rows scanned during reads for tracing and warning tombstone 
thresholds.

If a row is read but is not live anymore (which happens with row level 
tombstones) it is not counted anywhere
in the metrics nor reported in tracing. Row tombstones themselves are not 
reported anywhere.
The consequence is that some delete heavy workloads will show no tombstone read 
but endure severe
performance issues. This commit counts deleted rows as standard tombstone cells.


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

Branch: refs/heads/trunk
Commit: 419552a93f4e164dfce3cb6fea15328abade5d3f
Parents: 0ac5a17
Author: Alexander Dejanovski 
Authored: Mon Dec 18 18:27:44 2017 +0100
Committer: Jon Haddad 
Committed: Thu Jan 11 11:24:59 2018 -0800

--
 .../org/apache/cassandra/db/ReadCommand.java|  26 ++-
 .../apache/cassandra/metrics/TableMetrics.java  |   2 +-
 .../apache/cassandra/db/ReadCommandTest.java| 171 +++
 3 files changed, 193 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/419552a9/src/java/org/apache/cassandra/db/ReadCommand.java
--
diff --git a/src/java/org/apache/cassandra/db/ReadCommand.java 
b/src/java/org/apache/cassandra/db/ReadCommand.java
index 1d74c16..128f8f3 100644
--- a/src/java/org/apache/cassandra/db/ReadCommand.java
+++ b/src/java/org/apache/cassandra/db/ReadCommand.java
@@ -433,14 +433,26 @@ public abstract class ReadCommand extends MonitorableImpl 
implements ReadQuery
 @Override
 public Row applyToRow(Row row)
 {
-if (row.hasLiveData(ReadCommand.this.nowInSec(), 
enforceStrictLiveness))
-++liveRows;
-
+boolean hasTombstones = false;
 for (Cell cell : row.cells())
 {
 if (!cell.isLive(ReadCommand.this.nowInSec()))
+{
 countTombstone(row.clustering());
+hasTombstones = true; // allows to avoid counting an 
extra tombstone if the whole row expired
+}
 }
+
+if (row.hasLiveData(ReadCommand.this.nowInSec(), 
enforceStrictLiveness))
+++liveRows;
+else if 
(!row.primaryKeyLivenessInfo().isLive(ReadCommand.this.nowInSec())
+&& row.hasDeletion(ReadCommand.this.nowInSec())
+&& !hasTombstones)
+{
+// We're counting primary key deletions only here.
+countTombstone(row.clustering());
+}
+
 return row;
 }
 
@@ -474,7 +486,9 @@ public abstract class ReadCommand extends MonitorableImpl 
implements ReadQuery
 boolean warnTombstones = tombstones > warningThreshold && 
respectTombstoneThresholds;
 if (warnTombstones)
 {
-String msg = String.format("Read %d live rows and %d 
tombstone cells for query %1.512s (see tombstone_warn_threshold)", liveRows, 
tombstones, ReadCommand.this.toCQLString());
+String msg = String.format(
+"Read %d live rows and %d tombstone cells for 
query %1.512s (see tombstone_warn_threshold)",
+liveRows, tombstones, 
ReadCommand.this.toCQLString());
 ClientWarn.instance.warn(msg);
 if (tombstones < failureThreshold)
 {
@@ -484,7 +498,9 @@ public abstract class ReadCommand extends MonitorableImpl 
implements ReadQuery
 logger.warn(msg);
 }
 
-Tracing.trace("Read {} live and {} tombstone cells{}", 
liveRows, tombstones, (warnTombstones ? " (see tombstone_warn_threshold)" : 
""));
+Tracing.trace("Read {} live rows and {} tombstone cells{}",
+liveRows, tombstones,
+(warnTombstones ? " (see tombstone_warn_threshold)" : 
""));
 }
 };
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/419552a9/src/java/org/apache/cassandra/metrics/TableMetrics.java
--
diff --git a/src/java/org/apache/cassandra/metrics/TableMetrics.java 
b/src/java/org/apache/cassandra/metrics/TableMetrics.java
index 5c4a849..7ce2f16 100644
--- 

[2/2] cassandra git commit: Count deleted rows scanned during reads for tracing and warning tombstone thresholds.

2018-02-08 Thread rustyrazorblade
Count deleted rows scanned during reads for tracing and warning tombstone 
thresholds.

If a row is read but is not live anymore (which happens with row level 
tombstones) it is not counted anywhere
in the metrics nor reported in tracing. Row tombstones themselves are not 
reported anywhere.
The consequence is that some delete heavy workloads will show no tombstone read 
but endure severe
performance issues. This commit counts deleted rows as standard tombstone cells.

Patch by Alexander Dejanovski; Reviewed by Jon Haddad for CASSANDRA-8527


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

Branch: refs/heads/trunk
Commit: b2d20d4bb10e73935a97d6fbd848e4cb649c105c
Parents: 0f58f6c 419552a
Author: Jon Haddad 
Authored: Thu Feb 8 10:50:14 2018 -0800
Committer: Jon Haddad 
Committed: Thu Feb 8 10:50:14 2018 -0800

--
 CHANGES.txt |   1 +
 .../org/apache/cassandra/db/ReadCommand.java|  26 ++-
 .../apache/cassandra/metrics/TableMetrics.java  |   2 +-
 .../apache/cassandra/db/ReadCommandTest.java| 169 +++
 4 files changed, 192 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b2d20d4b/CHANGES.txt
--
diff --cc CHANGES.txt
index 191caaf,bc2645f..c7c1b6f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -186,6 -174,6 +186,7 @@@
   * Switch to client init for sstabledump (CASSANDRA-13683)
   * CQLSH: Don't pause when capturing data (CASSANDRA-13743)
   * nodetool clearsnapshot requires --all to clear all snapshots 
(CASSANDRA-13391)
++ * Correctly count range tombstones in traces and tombstone thresholds 
(CASSANDRA-8527)
  
  
  3.11.2

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b2d20d4b/test/unit/org/apache/cassandra/db/ReadCommandTest.java
--


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



cassandra git commit: Updated NEWS.txt with details on change to nodetool snapshot.

2018-01-08 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk 21be9d2f5 -> 45c7c4561


Updated NEWS.txt with details on change to nodetool snapshot.


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

Branch: refs/heads/trunk
Commit: 45c7c456167e77cb7e8cdf161bc4350deba08aef
Parents: 21be9d2
Author: Jon Haddad 
Authored: Mon Jan 8 15:19:37 2018 -0800
Committer: Jon Haddad 
Committed: Mon Jan 8 15:19:37 2018 -0800

--
 NEWS.txt | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/45c7c456/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 259507e..06d73ea 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -101,6 +101,8 @@ Upgrading
  Batch mode remains a valid commit log mode, however.
- There is a new commit log mode, group, which is similar to batch mode
  but blocks for up to a configurable number of milliseconds between 
disk flushes.
+   - nodetool clearsnapshot now required the --all flag to remove all 
snapshots.
+ Previous behavior would delete all snapshots by default.
 
 Materialized Views
 ---


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



cassandra git commit: Fixed changes to reflect CASSANDRA-13391

2017-12-27 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk b3d2940a0 -> e2e28a02e


Fixed changes to reflect CASSANDRA-13391


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

Branch: refs/heads/trunk
Commit: e2e28a02e8d77d925b72e435146d938ca102cacb
Parents: b3d2940
Author: Jon Haddad 
Authored: Wed Dec 27 18:50:42 2017 -0800
Committer: Jon Haddad 
Committed: Wed Dec 27 18:50:42 2017 -0800

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e2e28a02/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 3826190..ba0f842 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -172,6 +172,7 @@
  * Anticompaction can cause noisy log messages (CASSANDRA-13684)
  * Switch to client init for sstabledump (CASSANDRA-13683)
  * CQLSH: Don't pause when capturing data (CASSANDRA-13743)
+ * nodetool clearsnapshot requires --all to clear all snapshots 
(CASSANDRA-13391)
 
 
 3.11.2


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



cassandra git commit: Added --all to ClearSnapshot command, so entering the command without a parameter will now throw an exception instead of deleting all the snapshots.

2017-12-27 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk 702d9f1f0 -> b3d2940a0


Added --all to ClearSnapshot command, so entering the
command without a parameter will now throw an exception instead of
deleting all the snapshots.

Patch by Barak Merimovich, Review by Jon Haddad for CASSANDRA-13391.

Closes #182.


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

Branch: refs/heads/trunk
Commit: b3d2940a073f98c7776e1d0a391749b44df04ace
Parents: 702d9f1
Author: Jon Haddad 
Authored: Wed Dec 27 18:46:49 2017 -0800
Committer: Jon Haddad 
Committed: Wed Dec 27 18:46:49 2017 -0800

--
 .../service/EmbeddedCassandraService.java   |   5 +
 .../cassandra/tools/nodetool/ClearSnapshot.java |  13 +-
 .../cassandra/tools/ClearSnapshotTest.java  | 119 +++
 3 files changed, 136 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b3d2940a/src/java/org/apache/cassandra/service/EmbeddedCassandraService.java
--
diff --git 
a/src/java/org/apache/cassandra/service/EmbeddedCassandraService.java 
b/src/java/org/apache/cassandra/service/EmbeddedCassandraService.java
index 9dc92d7..9172eab 100644
--- a/src/java/org/apache/cassandra/service/EmbeddedCassandraService.java
+++ b/src/java/org/apache/cassandra/service/EmbeddedCassandraService.java
@@ -50,4 +50,9 @@ public class EmbeddedCassandraService
 cassandraDaemon.init(null);
 cassandraDaemon.start();
 }
+
+public void stop()
+{
+cassandraDaemon.stop();
+}
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b3d2940a/src/java/org/apache/cassandra/tools/nodetool/ClearSnapshot.java
--
diff --git a/src/java/org/apache/cassandra/tools/nodetool/ClearSnapshot.java 
b/src/java/org/apache/cassandra/tools/nodetool/ClearSnapshot.java
index 10a8117..12322d0 100644
--- a/src/java/org/apache/cassandra/tools/nodetool/ClearSnapshot.java
+++ b/src/java/org/apache/cassandra/tools/nodetool/ClearSnapshot.java
@@ -40,9 +40,18 @@ public class ClearSnapshot extends NodeToolCmd
 @Option(title = "snapshot_name", name = "-t", description = "Remove the 
snapshot with a given name")
 private String snapshotName = EMPTY;
 
+@Option(title = "clear_all_snapshots", name = "--all", description = 
"Removes all snapshots")
+private boolean clearAllSnapshots = false;
+
 @Override
 public void execute(NodeProbe probe)
 {
+if(snapshotName.isEmpty() && !clearAllSnapshots)
+throw new RuntimeException("Specify snapshot name or --all");
+
+if(!snapshotName.isEmpty() && clearAllSnapshots)
+throw new RuntimeException("Specify only one of snapshot name or 
--all");
+
 StringBuilder sb = new StringBuilder();
 
 sb.append("Requested clearing snapshot(s) for ");
@@ -52,7 +61,9 @@ public class ClearSnapshot extends NodeToolCmd
 else
 sb.append("[").append(join(keyspaces, ", ")).append("]");
 
-if (!snapshotName.isEmpty())
+if (snapshotName.isEmpty())
+sb.append(" with [all snapshots]");
+else
 sb.append(" with snapshot name 
[").append(snapshotName).append("]");
 
 System.out.println(sb.toString());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b3d2940a/test/unit/org/apache/cassandra/tools/ClearSnapshotTest.java
--
diff --git a/test/unit/org/apache/cassandra/tools/ClearSnapshotTest.java 
b/test/unit/org/apache/cassandra/tools/ClearSnapshotTest.java
new file mode 100644
index 000..6b132ab
--- /dev/null
+++ b/test/unit/org/apache/cassandra/tools/ClearSnapshotTest.java
@@ -0,0 +1,119 @@
+/*
+ * 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
+ * 

cassandra git commit: Created docker configuration to build sphinx docs.

2017-12-04 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk 46f2397ab -> db81f6bff


Created docker configuration to build sphinx docs.

Patch by Joaquin Casares; Reviewed by Jon Haddad for CASSANDRA-13915.

This closes #154 (GH PR)


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

Branch: refs/heads/trunk
Commit: db81f6bffef1a8215fec28bb0522dc9684870627
Parents: 46f2397
Author: Jon Haddad 
Authored: Mon Dec 4 13:48:51 2017 -0800
Committer: Jon Haddad 
Committed: Mon Dec 4 13:49:10 2017 -0800

--
 build.xml |  1 +
 doc/Dockerfile| 17 +
 doc/README.md | 22 ++
 doc/docker-compose.yml|  9 +
 doc/source/cql/operators.rst  |  2 --
 doc/source/development/gettingstarted.rst |  8 
 6 files changed, 53 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/db81f6bf/build.xml
--
diff --git a/build.xml b/build.xml
index 1608fba..7c63c82 100644
--- a/build.xml
+++ b/build.xml
@@ -204,6 +204,7 @@
 
 
 
+
 
 
 

cassandra git commit: Document speculative_retry case-insensitivity and new "P" suffix on DDL page

2017-11-07 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk 9e7a401b9 -> 976f48fb0


Document speculative_retry case-insensitivity and new "P" suffix on DDL page

Patch by Jordan Vaughan for CASSANDRA-13872; Reviewed by Jon Haddad


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

Branch: refs/heads/trunk
Commit: 976f48fb0664b15e1741a435447e593ad80edc4a
Parents: 9e7a401
Author: Jordan Vaughan 
Authored: Thu Nov 2 00:12:09 2017 -0700
Committer: Jon Haddad 
Committed: Tue Nov 7 12:19:17 2017 -0800

--
 doc/source/cql/ddl.rst | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/976f48fb/doc/source/cql/ddl.rst
--
diff --git a/doc/source/cql/ddl.rst b/doc/source/cql/ddl.rst
index a09265b..780a412 100644
--- a/doc/source/cql/ddl.rst
+++ b/doc/source/cql/ddl.rst
@@ -493,7 +493,7 @@ Speculative retry options
 By default, Cassandra read coordinators only query as many replicas as 
necessary to satisfy
 consistency levels: one for consistency level ``ONE``, a quorum for 
``QUORUM``, and so on.
 ``speculative_retry`` determines when coordinators may query additional 
replicas, which is useful
-when replicas are slow or unresponsive.  The following are legal values:
+when replicas are slow or unresponsive.  The following are legal values 
(case-insensitive):
 
 =  
=
  FormatExample  Description
@@ -502,6 +502,7 @@ when replicas are slow or unresponsive.  The following are 
legal values:
 If a replica takes longer than 
``X`` percent of this table's average
 response time, the coordinator 
queries an additional replica.
 ``X`` must be between 0 and 100.
+ ``XP``90.5PSynonym for ``XPERCENTILE``
  ``Yms``   25ms If a replica takes more than ``Y`` 
milliseconds to respond,
 the coordinator queries an 
additional replica.
  ``ALWAYS`` Coordinators always query all 
replicas.


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



cassandra git commit: Document speculative_retry on the Cassandra DDL page

2017-10-30 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk 569c6abcf -> bc5ad7bfa


Document speculative_retry on the Cassandra DDL page

Patch by Jordan Vaughan; Reviewed by Jon Haddad
for CASSANDRA-13872


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

Branch: refs/heads/trunk
Commit: bc5ad7bfa949cd566919e8ba28b327514d98c132
Parents: 569c6ab
Author: Jordan Vaughan 
Authored: Sat Oct 28 15:57:15 2017 -0700
Committer: Jon Haddad 
Committed: Mon Oct 30 16:44:02 2017 -0700

--
 doc/source/cql/ddl.rst | 31 +++
 1 file changed, 31 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc5ad7bf/doc/source/cql/ddl.rst
--
diff --git a/doc/source/cql/ddl.rst b/doc/source/cql/ddl.rst
index 6361983..a09265b 100644
--- a/doc/source/cql/ddl.rst
+++ b/doc/source/cql/ddl.rst
@@ -462,6 +462,9 @@ A table supports the following options:
 ||  | | belonging to the 
same data center than the read   |
 ||  | | coordinator for 
the purpose of read repairs.  |
 
++--+-+---+
+| ``speculative_retry``  | *simple* | 99PERCENTILE| :ref:`Speculative 
retry options   |
+||  | | 
`. |
+++--+-+---+
 | ``gc_grace_seconds``   | *simple* | 864000  | Time to wait 
before garbage collecting tombstones |
 ||  | | (deletion 
markers).   |
 
++--+-+---+
@@ -482,6 +485,34 @@ A table supports the following options:
 | ``memtable_flush_period_in_ms``| *simple* | 0   | Time (in ms) 
before Cassandra flushes memtables to disk.  |
 
++--+-+---+
 
+.. _speculative-retry-options:
+
+Speculative retry options
+#
+
+By default, Cassandra read coordinators only query as many replicas as 
necessary to satisfy
+consistency levels: one for consistency level ``ONE``, a quorum for 
``QUORUM``, and so on.
+``speculative_retry`` determines when coordinators may query additional 
replicas, which is useful
+when replicas are slow or unresponsive.  The following are legal values:
+
+=  
=
+ FormatExample  Description
+=  
=
+ ``XPERCENTILE``   90.5PERCENTILE   Coordinators record average 
per-table response times for all replicas.
+If a replica takes longer than 
``X`` percent of this table's average
+response time, the coordinator 
queries an additional replica.
+``X`` must be between 0 and 100.
+ ``Yms``   25ms If a replica takes more than ``Y`` 
milliseconds to respond,
+the coordinator queries an 
additional replica.
+ ``ALWAYS`` Coordinators always query all 
replicas.
+ ``NONE``   Coordinators never query 
additional replicas.
+=  
=
+
+This setting does not affect reads with consistency level ``ALL`` because they 
already query all replicas.
+
+Note that frequently reading from additional replicas can hurt cluster 
performance.
+When in doubt, keep the default ``99PERCENTILE``.
+
 .. _cql-compaction-options:
 
 Compaction options


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



cassandra git commit: Added documentation for memtable_flush_period_in_ms

2017-10-18 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk 912fdb3ea -> f249cd769


Added documentation for memtable_flush_period_in_ms

Patch by Jon Haddad; reviewed by Jason Brown for CASSANDRA-13902


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

Branch: refs/heads/trunk
Commit: f249cd76987290c564a1e4e1e7f9168f9a9ec005
Parents: 912fdb3
Author: Jon Haddad 
Authored: Wed Oct 18 05:20:39 2017 -0700
Committer: Jon Haddad 
Committed: Wed Oct 18 05:42:23 2017 -0700

--
 doc/source/cql/ddl.rst | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f249cd76/doc/source/cql/ddl.rst
--
diff --git a/doc/source/cql/ddl.rst b/doc/source/cql/ddl.rst
index c17d8c9..6361983 100644
--- a/doc/source/cql/ddl.rst
+++ b/doc/source/cql/ddl.rst
@@ -479,6 +479,8 @@ A table supports the following options:
 
++--+-+---+
 | ``caching``| *map*| *see below* | :ref:`Caching 
options `. |
 
++--+-+---+
+| ``memtable_flush_period_in_ms``| *simple* | 0   | Time (in ms) 
before Cassandra flushes memtables to disk.  |
+++--+-+---+
 
 .. _cql-compaction-options:
 


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



cassandra git commit: Added examples for compression and compaction

2017-09-08 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/trunk 34dec4c79 -> faa27d0fc


Added examples for compression and compaction

patch by Jon Haddad; reviewed by Aleksey Yeschenko for CASSANDRA-13822


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

Branch: refs/heads/trunk
Commit: faa27d0fc6966ad1b54a57cd814dc62b8ef3c502
Parents: 34dec4c
Author: Jon Haddad 
Authored: Fri Sep 8 12:38:21 2017 -0700
Committer: Jon Haddad 
Committed: Fri Sep 8 13:39:22 2017 -0700

--
 doc/source/cql/ddl.rst | 24 +++-
 1 file changed, 23 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/faa27d0f/doc/source/cql/ddl.rst
--
diff --git a/doc/source/cql/ddl.rst b/doc/source/cql/ddl.rst
index 756b18e..c17d8c9 100644
--- a/doc/source/cql/ddl.rst
+++ b/doc/source/cql/ddl.rst
@@ -512,7 +512,7 @@ available:
compression. Custom compressor can 
be provided by specifying the full class
name as a “string 
constant”:#constants.
  ``enabled``   trueEnable/disable sstable compression.
- ``chunk_length_in_kb``64KBOn disk SSTables are compressed by 
block (to allow random reads). This
+ ``chunk_length_in_kb``64  On disk SSTables are compressed by 
block (to allow random reads). This
defines the size (in KB) of said 
block. Bigger values may improve the
compression rate, but increases the 
minimum size of data to be read from disk
for a read
@@ -524,6 +524,17 @@ available:
instance to check them every other 
read   |
 = === 
=
 
+
+For instance, to create a table with LZ4Compressor and a chunk_lenth_in_kb of 
4KB::
+
+   CREATE TABLE simple (
+  id int,
+  key text,
+  value text,
+  PRIMARY KEY (key, value)
+   ) with compression = {'class': 'LZ4Compressor', 'chunk_length_in_kb': 4};
+
+
 .. _cql-caching-options:
 
 Caching options
@@ -543,6 +554,17 @@ sub-options are available:
 to disable row caching.
  = 

 
+
+For instance, to create a table with both a key cache and 10 rows per 
partition::
+
+CREATE TABLE simple (
+id int,
+key text,
+value text,
+PRIMARY KEY (key, value)
+) WITH caching = {'keys': 'ALL', 'rows_per_partition': 10};
+
+
 Other considerations:
 #
 


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



cassandra git commit: Added examples for compression and compaction

2017-09-08 Thread rustyrazorblade
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.11 260475d0f -> 0fdbcc389


Added examples for compression and compaction

patch by Jon Haddad; reviewed by Aleksey Yeschenko for CASSANDRA-13822


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

Branch: refs/heads/cassandra-3.11
Commit: 0fdbcc389d83ea5dce40b3ba952c4144ceced795
Parents: 260475d
Author: Jon Haddad 
Authored: Fri Sep 8 12:38:21 2017 -0700
Committer: Jon Haddad 
Committed: Fri Sep 8 13:41:03 2017 -0700

--
 doc/source/cql/ddl.rst | 24 +++-
 1 file changed, 23 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0fdbcc38/doc/source/cql/ddl.rst
--
diff --git a/doc/source/cql/ddl.rst b/doc/source/cql/ddl.rst
index 9c1946e..be87a7d 100644
--- a/doc/source/cql/ddl.rst
+++ b/doc/source/cql/ddl.rst
@@ -513,7 +513,7 @@ available:
compression. Custom compressor can 
be provided by specifying the full class
name as a “string 
constant”:#constants.
  ``enabled``   trueEnable/disable sstable compression.
- ``chunk_length_in_kb``64KBOn disk SSTables are compressed by 
block (to allow random reads). This
+ ``chunk_length_in_kb``64  On disk SSTables are compressed by 
block (to allow random reads). This
defines the size (in KB) of said 
block. Bigger values may improve the
compression rate, but increases the 
minimum size of data to be read from disk
for a read
@@ -525,6 +525,17 @@ available:
instance to check them every other 
read   |
 = === 
=
 
+
+For instance, to create a table with LZ4Compressor and a chunk_lenth_in_kb of 
4KB::
+
+   CREATE TABLE simple (
+  id int,
+  key text,
+  value text,
+  PRIMARY KEY (key, value)
+   ) with compression = {'class': 'LZ4Compressor', 'chunk_length_in_kb': 4};
+
+
 .. _cql-caching-options:
 
 Caching options
@@ -544,6 +555,17 @@ sub-options are available:
 to disable row caching.
  = 

 
+
+For instance, to create a table with both a key cache and 10 rows per 
partition::
+
+CREATE TABLE simple (
+id int,
+key text,
+value text,
+PRIMARY KEY (key, value)
+) WITH caching = {'keys': 'ALL', 'rows_per_partition': 10};
+
+
 Other considerations:
 #
 


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