Merge branch 'cassandra-2.2' into cassandra-3.0

This commit is contained in:
Mick Semb Wever 2021-04-19 17:27:59 +02:00
commit 50a97a0d76
No known key found for this signature in database
GPG Key ID: E91335D77E3E87CB
21 changed files with 411 additions and 122 deletions

94
.build/build-rat.xml Normal file
View File

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
~ 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
~
~ https://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.
-->
<project basedir="." name="apache-cassandra--rat-tasks"
xmlns:artifact="antlib:org.apache.maven.artifact.ant"
xmlns:rat="antlib:org.apache.rat.anttasks">
<!--
License audit tool
-->
<condition property="rat.enabled">
<available file=".gitignore" />
</condition>
<target name="_rat_init" depends="maven-ant-tasks-init">
<artifact:dependencies pathId="rat.classpath">
<dependency groupId="org.apache.rat" artifactId="apache-rat-tasks" version="0.6" />
<remoteRepository refid="central"/>
<remoteRepository refid="apache"/>
</artifact:dependencies>
<typedef uri="antlib:org.apache.rat.anttasks" classpathref="rat.classpath"/>
</target>
<target name="rat-check" depends="_rat_init" if="${rat.enabled}" description="License checks on source" >
<rat:report reportFile="${build.dir}/rat.txt">
<fileset dir="."
includes="**/*.java,**/*.py,**/*.sh,**/.xml,**/*.spec,**/*.md,**/*.iml,**/*.bat,**/*.btm,**/*.cql,**/*.css,**/*.g,**/*.hmtl,**/*.jflex,**/*.jks,**/*.mod,**/*.name,**/*.pom,**/*.textile,**/*.yml,**/*.yaml"
excludesfile=".gitignore">
<!-- Config files with not much creativity -->
<exclude name="**/metrics-reporter-config-sample.yaml"/>
<exclude name="**/cassandra.yaml"/>
<exclude name="**/cassandra-murmur.yaml"/>
<exclude name="**/cassandra-seeds.yaml"/>
<exclude name="**/test/conf/cassandra.yaml"/>
<exclude name="**/test/conf/cassandra_encryption.yaml"/>
<exclude name="**/test/conf/cdc.yaml"/>
<exclude name="**/test/conf/commitlog_compression_LZ4.yaml"/>
<exclude name="**/test/conf/commitlog_compression_Zstd.yaml"/>
<exclude name="**/test/conf/system_keyspaces_directory.yaml"/>
<exclude name="**/test/conf/unit-test-conf/test-native-port.yaml"/>
<exclude name="**/test/data/jmxdump/cassandra-3.0-jmx.yaml"/>
<exclude name="**/test/data/jmxdump/cassandra-3.11-jmx.yaml"/>
<exclude name="**/test/data/jmxdump/cassandra-4.0-jmx.yaml"/>
<exclude name="**/tools/cqlstress-counter-example.yaml"/>
<exclude name="**/tools/cqlstress-example.yaml"/>
<exclude name="**/tools/cqlstress-insanity-example.yaml"/>
<exclude name="**/tools/cqlstress-lwt-example.yaml"/>
<!-- NOTICE files -->
<exclude NAME="**/NOTICE.md"/>
<!-- LICENSE files -->
<exclude NAME="**/LICENSE.md"/>
</fileset>
</rat:report>
<fail message="Some files have missing or incorrect license information. Check RAT report in ${build.dir}/rat.txt for more details!">
<condition>
<and>
<not>
<resourcecontains resource="${build.dir}/rat.txt" substring="0 Unknown Licenses" casesensitive="false" />
</not>
</and>
</condition>
</fail>
</target>
<target name="_write_java_license_headers" depends="_rat_init">
<java classname="org.apache.rat.Report" fork="true"
output="${build.dir}/rat-report.log">
<classpath refid="rat.classpath" />
<arg value="-a" />
<arg value="--force" />
<arg value="interface/thrift" />
</java>
</target>
<target name="write-java-license-headers" unless="without.rat" description="Add missing java license headers">
<antcall target="_write_java_license_headers" />
</target>
</project>

View File

@ -1,3 +1,21 @@
#
# 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.
#
version: 2.1
default_env_vars: &default_env_vars

View File

@ -1,3 +1,21 @@
#
# 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.
#
version: 2
jobs:
j8_jvm_upgrade_dtests:

View File

@ -1,4 +1,21 @@
#!/bin/sh
#
# 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.
#
BASEDIR=`dirname $0`

View File

@ -1,3 +1,23 @@
<!--
#
# 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.
#
-->
# CircleCI config files
## Switching to high resource settings

7
.gitignore vendored
View File

@ -72,3 +72,10 @@ lib/jsr223/jython/cachedir
lib/jsr223/scala/*.jar
.ant_targets
# Python virtual environment
venv/
# build-scripts will put cassandra-builds and cassandra-dtest into the directory
cassandra-builds/
cassandra-dtest/

View File

@ -1,33 +0,0 @@
**/*.avpr
debian/**
.classpath
.rat-excludes
**/.project
**/.pydevproject
CHANGES.txt
README.asc
.git/**
**/*.json
**/*.patch
interface/*/gen-*/**
src/gen-java/**
build/**
lib/licenses/*.txt
.settings/**
**/cassandra.yaml
**/cassandra-topology.yaml
**/metrics-reporter-config-sample.yaml
**/*.db
.externalToolBuilders/**
test/data/serialization/*/*
**/*.wpr
doc/**
build.properties.default
test/data/**
examples/triggers/build.xml
examples/triggers/conf/*
examples/hadoop_word_count/conf/log4j.properties
pylib/cqlshlib/test/**
src/resources/org/apache/cassandra/config/version.properties
conf/hotspot_compiler
**/*-example.yaml

View File

@ -1,3 +1,23 @@
<!--
#
# 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.
#
-->
# Apache Cassandra and Pull Requests
Apache Cassandra doesn't use GitHub pull requests as part of the development process.

View File

@ -739,20 +739,6 @@
<antcall target="write-java-license-headers" />
</target>
<target name="_write-java-license-headers" depends="rat-init">
<java classname="org.apache.rat.Report" fork="true"
output="${build.dir}/rat-report.log">
<classpath refid="rat.classpath" />
<arg value="-a" />
<arg value="--force" />
<arg value="interface/thrift" />
</java>
</target>
<target name="write-java-license-headers" unless="without.rat" description="Add missing java license headers">
<antcall target="_write-java-license-headers" />
</target>
<target name="gen-thrift-py" description="Generate Thrift Python artifacts">
<echo>Generating Thrift Python code from ${basedir}/interface/cassandra.thrift...</echo>
<exec executable="thrift" dir="${basedir}/interface" failonerror="true">
@ -796,7 +782,7 @@
depends="maven-ant-tasks-retrieve-build,build-project" description="Compile Cassandra classes"/>
<target name="codecoverage" depends="jacoco-run,jacoco-report" description="Create code coverage report"/>
<target depends="init,gen-cql3-grammar,generate-cql-html,rat-report"
<target depends="init,gen-cql3-grammar,generate-cql-html,rat-check"
name="build-project">
<echo message="${ant.project.name}: ${ant.file}"/>
<!-- Order matters! -->
@ -1161,43 +1147,6 @@
</checksum>
</target>
<target name="rat" depends="rat-init" description="License checks on artifacts">
<rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
reportFile="${build.dir}/${final.name}-bin.rat.txt">
<tarfileset>
<gzipresource>
<file file="${build.dir}/${final.name}-bin.tar.gz" />
</gzipresource>
</tarfileset>
</rat:report>
<rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
reportFile="${build.dir}/${final.name}-src.rat.txt">
<tarfileset>
<gzipresource>
<file file="${build.dir}/${final.name}-src.tar.gz" />
</gzipresource>
</tarfileset>
</rat:report>
</target>
<target name="rat-report" depends="rat-init" description="License checks on source" >
<rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
reportFile="${build.dir}/src.rat.txt">
<fileset dir="src/java"/>
<fileset dir="test/unit"/>
<fileset dir="test/distributed"/>
</rat:report>
<fail message="Some files have missing or incorrect license information. Check RAT report in ${build.dir}/src.rat.txt for more details!">
<condition>
<and>
<not>
<resourcecontains resource="${build.dir}/src.rat.txt" substring="0 Unknown Licenses" casesensitive="false" />
</not>
</and>
</condition>
</fail>
</target>
<target name="build-test" depends="build" description="Compile test classes">
<javac
debug="true"
@ -1633,42 +1582,6 @@
<delete dir="${jacoco.export.dir}"/>
</target>
<!--
License audit tool
-->
<target name="rat-init" depends="maven-ant-tasks-init">
<artifact:dependencies pathId="rat.classpath">
<dependency groupId="org.apache.rat" artifactId="apache-rat-tasks" version="0.6" />
<remoteRepository refid="central"/>
<remoteRepository refid="apache"/>
</artifact:dependencies>
<typedef uri="antlib:org.apache.rat.anttasks" classpathref="rat.classpath"/>
</target>
<target name="rat-check" depends="rat-init">
<rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
reportFile="${build.dir}/rat-report.log">
<fileset dir="." excludesfile=".rat-excludes" />
</rat:report>
<condition property="rat.passed">
<isfileselected file="${build.dir}/rat-report.log">
<containsregexp expression="^0 Unknown Licenses"/>
</isfileselected>
</condition>
<fail unless="rat.passed">Unknown licenses: See build/rat-report.log.</fail>
</target>
<target name="rat-write" depends="rat-init">
<echo>RAT: invoking addLicense to write missing headers</echo>
<java classname="org.apache.rat.Report" fork="true"
output="${build.dir}/rat-report.log">
<classpath refid="rat.classpath" />
<arg value="-a" />
<arg value="--force" />
<arg value="." />
</java>
</target>
<target name="javadoc" depends="init" description="Create javadoc" unless="no-javadoc">
<create-javadoc destdir="${javadoc.dir}">
<filesets>
@ -2070,4 +1983,5 @@
</target>
<import file="${basedir}/.build/build-rat.xml"/>
</project>

View File

@ -1,3 +1,20 @@
#
# 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.
#
# The directory where Cassandra's configs live (required)
CASSANDRA_CONF=/etc/cassandra

View File

@ -1,3 +1,23 @@
<!--
#
# 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.
#
-->
<link rel="StyleSheet" href="CQL.css" type="text/css" media="screen">
h1. Cassandra Query Language (CQL) v3.4.0

View File

@ -1,3 +1,20 @@
#
# 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.
#
CQL BINARY PROTOCOL v3

View File

@ -1,3 +1,20 @@
#
# 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.
#
CQL BINARY PROTOCOL v4

View File

@ -1,3 +1,21 @@
/*
# 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.
*/
CREATE TABLE has_all_types (
num int PRIMARY KEY,
intcol int,

View File

@ -1,3 +1,23 @@
<!--
#
# 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.
#
-->
# Apache Cassandra rpmbuild
### Requirements:

View File

@ -1,3 +1,20 @@
#
# 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.
#
# The directory where Cassandra's configs live (required)
CASSANDRA_CONF=/etc/cassandra/conf

View File

@ -1,3 +1,21 @@
#
# 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.
#
%define __jar_repack %{nil}
# Turn off the brp-python-bytecompile script
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')

View File

@ -1,2 +1,20 @@
#
# 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.
#
commitlog_compression:
- class_name: LZ4Compressor

View File

@ -1,3 +1,21 @@
/*
# 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.
*/
create keyspace foo with replication = {'class':'SimpleStrategy', 'replication_factor':1};
use foo ;
create table atable ( pk int primary key, val int);

View File

@ -1,4 +1,21 @@
#
# 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.
#
#
# Inject streaming failure
#
# Before start streaming files in `StreamSession#prepare()` method,

View File

@ -1,3 +1,20 @@
/*
* 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.stress;
import java.util.concurrent.atomic.AtomicLong;