This work encompasses a range of improvements to Paxos, summarised as:
- The introduction of Paxos Repair for ensuring consistency during range movements
- The reduction of network round-trips by a factor of 2x for reads and writes
patch by Benedict Elliott Smith and Blake Eggleston; reviewed by Alex Petrov, Aleksey Yeschenko and Sam Tunnicliffe for CASSANDRA-17164
Patch by Dmitry Potepalov; reviewed by bereng and brandonwilliams for
CASSANDRA-17367
Encryption settings were silently lost in BulkLoadConnectionFactory.
Forced the bulk loader test to do some actual streaming besides just
handshaking on the native port, the test does not pass without the
change in BulkLoadConnectionFactory.
Patch by Dmitry Potepalov; reviewed by bereng and brandonwilliams for
CASSANDRA-17367
Encryption settings were silently lost in BulkLoadConnectionFactory.
Forced the bulk loader test to do some actual streaming besides just
handshaking on the native port, the test does not pass without the
change in BulkLoadConnectionFactory.
Patch by Yash Ladha; reviewed by Benjamin Lerer and Berenguer Blasi for CASSANDRA-17294
When building the eclipse file for development, `.classpath` file was
not correctly generated as it was not getting closed. Also there were
missing third-party libs that were essential for development.
This commit fixes the generation of classpath for
`generate-eclipse-files` command.
This commit sets up a new documentation structure and format:
* The directory struture changes from a Sphinx project to an Antora module layout.
* The formatting of the content changes from reStructuredText to AsciiDoc.
The documentation must now be built and published with Antora. Initially only from the cassandra-website repository.
This change was done to make maintaining versioned website documentation easier. As Antora is designed to generate versioned documentation.
The old directory structure was:
<ROOT>
- doc/
- cql3/
- CQL.css
- CQL.textile
- source/
- _static/
- _templates/
- _theme/
- _util/
- <other directory sections>/
- conf.py
- index.rst
- <other *.rst pages>
- make.bat
- Makefile
- README.md
- SASI.md
- <*.spec files>
- <generation scripts>
The new directory structure organises the documentation into modules:
<ROOT>
- doc/
- cql3
- modules/
- cassandra/
- assets/
- examples/
- pages/
- partials/
- nav.adoc
- ROOT/
- pages/
- nav.adoc
- scripts/
- antora.yaml
- README.md
- SASI.md
patch by Lorina Poland, Anthony Grasso; reviewed by Anthony Grasso, Mick Semb Wever for CASSANDRA-16763
Co-authored-by: Anthony Grasso <anthony@thelastpickle.com>
patch by Benedict; reviewed by Sam Tunnicliffe for CASSANDRA-17008
Co-authored-by: Benedict Elliott Smith <benedict@apache.org>
Co-authored-by: Sam Tunnicliffe <samt@apache.org>
Co-authored-by: Alex Petrov <oleksandr.petrov@gmail.com>
Patch by Abi Palagashvili; Reviewed by Paulo Motta and Stefan Miklosovic for CASSANDRA-16789
Co-authored-by: Paulo Motta <pauloricardomg@gmail.com>
Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
Closes#1046
When all dependencies are already in the local `~/.m2/repository/` we should not be needing an internet connection. ("Offline" mode should be automatic)
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-16559
- This removes lib/ from version control.
- The generated pom files are now the source of truth to the project's depdendencies, and the lib/ folder re-created during the build from compile scope dependencies excluding provided and system scopes. Project dependencies are first downloaded to the maven local repository at `~/.m2/repository`.
- Maven is now required to be installed to build, that is the `mvn` command needs to be found in the path.
- The new resolver-ant-tasks targets have been encapsulated into the `build/build-resolver.xml` ant file.
- Most classpaths in build.xml are replaced with resolver:resolve definitions.
- The build-deps-pom generated pom file is now only used for declaring test dependencies.
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-16557
- This removes lib/ from version control.
- The generated pom files are now the source of truth to the project's depdendencies, and the lib/ folder re-created during the build from compile scope dependencies excluding provided and system scopes. Project dependencies are first downloaded to the maven local repository at `~/.m2/repository`.
- Maven is now required to be installed to build, that is the `mvn` command needs to be found in the path.
- The new resolver-ant-tasks targets have been encapsulated into the `build/build-resolver.xml` ant file.
- Most classpaths in build.xml are replaced with resolver:resolve definitions.
- The build-deps-pom generated pom file is now only used for declaring test dependencies.
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-16557
Change upgrades from testing only a single path, to testing all upgrade paths that are defined as supported within the specified from-to range.
Change all upgrades to v40 and v4X to be open ended (i.e. implicit CURRENT version).
patch by Mick Semb Wever; reviewed by Alex Petrov for CASSANDRA-16649