Commit Graph

785 Commits

Author SHA1 Message Date
Andrés de la Peña 8fd44ca8fc Upgrade Python driver to 3.29.0
patch by Andrés de la Peña; reviewed by Berenguer Blasi for CASSANDRA-19245
2024-01-19 17:14:57 +00:00
Brandon Williams f9ebec98a2 Fix cqlshlib cython test by definining DIST_DIR
Patch by brandonwilliams, reviewed by bereng for CASSANDRA-19183
2023-12-14 08:49:23 -06:00
Mick Semb Wever fe7997884d
Write ccm clusters under test's TMPDIR
This prevents docker overlay file leakage from containers by keeping write-heavy directories in bind mounts (or volumes). It also offers better performance by avoiding the container filesystem.

 patch by Mick Semb Wever; reviewed Brandon Williams for INFRA-25202
2023-12-04 13:26:57 +01:00
Ethan Brown fb806d51e3
Add UCS sstable_growth and min_sstable_size options
patch by Ethan Brown; reviewed by Branimir Lambov, Stefan Miklosovic for CASSANDRA-18945
2023-11-14 21:41:07 +01:00
Andrés de la Peña b91c0fcb6e Change cqlsh's min required Python version from 3.6+ to 3.7+
patch by Andrés de la Peña; reviewed by Brandon Williams for CASSANDRA-18960
2023-11-14 11:43:00 +00:00
Brandon Williams 127f718797 Merge branch 'cassandra-4.1' into cassandra-5.0 2023-11-13 14:18:04 -06:00
Andrés de la Peña f41ecf586c Upgrade Python driver to 3.28.0
patch by Andrés de la Peña and Jeremiah Jordan; reviewed by Brandon Williams for CASSANDRA-18960

Co-authored-by: Jeremiah Jordan <jeremiah@datastax.com>
Co-authored-by: Andrés de la Peña <a.penya.garcia@gmail.com>
2023-11-02 17:08:38 +00:00
Andrés de la Peña 5eba52feb8 Add cqlsh autocompletion for the vector data type
patch by Andrés de la Peña; reviewed by Brandon Williams for CASSANDRA-18946
2023-10-25 11:54:01 +01:00
Stefan Miklosovic b9f614f7e5
Remove deprecated properties in CompressionParams
This patch removes deprecated chunk_length_kb and sstable_compression in favor of
chunk_length_in_kb and class parameters.

The only deprecated compression parameter left, crc_check_chance (which is configurable outside
of compression parameters as a standalone table parameter) is meant to be treated separately.

patch by Stefan Miklosovic; reviewed by Maxim Muzafarov and Brandon Williams for CASSANDRA-18742
2023-09-29 15:19:12 +02:00
Brad Schoening b58d8f174d
Make the output of ON/OFF commands in cqlsh consistent
patch by Brad Schoening; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-18547
2023-09-27 12:27:19 +02:00
Stefan Miklosovic 66bc1daf16
Merge branch 'cassandra-4.1' into cassandra-5.0 2023-09-05 16:58:50 +02:00
Mick Semb Wever 865954fd99
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Missing license info and headers
2023-08-31 22:43:33 +02:00
Mick Semb Wever 20125c5053
Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Missing license info and headers
2023-08-31 22:41:56 +02:00
Mick Semb Wever aa2494b30b
Merge branch 'cassandra-3.11' into cassandra-4.0
* cassandra-3.11:
  Missing license info and headers
2023-08-31 22:39:56 +02:00
Mick Semb Wever 14e89fc3c7
Merge branch 'cassandra-3.0' into cassandra-3.11
* cassandra-3.0:
  Missing license info and headers
2023-08-31 22:36:33 +02:00
Mick Semb Wever ce49e775f7
Missing license info and headers
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-18807
2023-08-31 22:30:42 +02:00
Brandon Williams ef2903f20f Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-18 14:00:28 -05:00
Brandon Williams 9e0ccf0f95 Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-18 10:14:40 -05:00
Stefan Miklosovic ada67cb2a4
Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-08 18:05:20 +02:00
Shailaja Koppu 933137fb14 CIDR filtering authorizer
Patch by Shailaja Koppu, Yifan Cai; Reviewed by Dinesh Joshi, Yifan Cai for CASSANDRA-18592

Co-Authored-By: Yifan Cai <ycai@apache.org>
2023-07-28 20:10:02 -07:00
Stefan Miklosovic 4a46992724
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-07-25 09:55:47 +02:00
Stefan Miklosovic ac26b44f9d
Merge branch 'cassandra-4.1' into trunk 2023-07-25 10:43:18 +02:00
Mick Semb Wever f5df4b219e
Move build and test scripts in-tree, under .build/
See .build/README.md  .Build and test scripts cover all CI activities in an CI agnostic manner. Scripts are found in non-docker and dockerised variants.

The non-docker scripts are found first under .build/ .These interact directly with ant, providing additional checks and environment setup. It is intended that what can be pushed down into the base ant build layer should be. The
debian and redhat build scripts are hidden under .build/docker because they are generally not usuable outside of their corresponding linux dists, and we don't want to encourage anything to the contrary.  Bring the artifact/deb/rpm
build scripts (and associated docker images) from cassandra-builds repo to the .build directory.  These packaging script for debian and redhat are now separated from the artifacts scripts. An additional build script check-code.sh
has been added that is solely responsible for all linter and code checks (includes owasp dependency checker).  Only JDK11 and JDK17 are supported (as JDK8 is soon to be dropped).  Scripts do not clean (or realclean) so that
scripts can be better pipelined, but `ant jar` was required to be added to circleci and ci-cassandra.a.o cqlsh-tests.  Scripts can define a custom BUILD_DIR (build.dir) which can permit running parrallel builds off the same source
(though not all tests support this, or their support for it has atrophied).  All build and test artifacts, results, and logs are found under build/ (or the BUILD_DIR).  The build local venv and .ccm directories are now also
created under build (or BUILD_DIR).  The test venv, logs and results are wiped each run.  Use a separate mktemp directory each run, under /tmp (respect /tmp responsibility, and python fails when tmpdir is on a docker volume).
Don't set CASSANDRA_HOME when running python dtests (and fail-fast if `ant artifacts` was used to build instead of `ant jar`).

The docker scripts are found lower down under .build/docker/ .These scripts re-used the non-docker scripts inside containers. The docker images are versioned controlled in the same directory as dockerfiles, and tagged by their
md5sums.  When running the docker scripts these docker images will, if not in the local registry, will first be attempted to be pulled from dockerhub and only then fallback to be built locally.  This allows the dockerfiles to be
modified in existing patches and be run in existing CI as-is.  Docker scripts timeout after one hour.  virtualenv-clone is used, re-using the python versioned venvs in the image saves time over creating new ones each run.  The inner-spliting of docker containers has been removed.  It added a lot of complexity, for the most part duplicating the splitting concept, for little performance gain.

Ant target 'generate-unified-test-report' added, used for aggregating test reports and printing a summary.

 patch by Mick Semb Wever; reviewed by Brandon Williams, Josh McKenzie, Maxim Muzafarov, Stefan Miklosovic for CASSANDRA-18133
2023-07-12 12:59:37 +02:00
Leonard Ma a2dc44f072
Remove dependency on pytz library for setting CQLSH timezones on Python version >= 3.9
patch by Leonard Ma; reviewed by Brad Schoening, Brandon Williams and Stefan Miklosovic for CASSANDRA-17433
2023-06-05 21:13:30 +02:00
Brad Schoening 61333964f4
Add HISTORY command for CQLSH
patch by Brad Schoening; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-15046
2023-05-23 14:02:23 +02:00
Andrés de la Peña d3c55ed8f8 Use snake case for the names of CQL native functions
patch by Andrés de la Peña; reviewed by Berenguer Blasi for CASSANDRA-18037
2023-04-04 15:01:34 +01:00
Andrés de la Peña 2e2a49fcdc CEP-20: Dynamic Data Masking
Allows to attach the native masking functions and UDFs to the definitions of
table columns in the schema, as defined by CEP-20.

The functions masking a column can be specified on CREATE TABLE queries, right
at the end of the column definition. The mask of a column can also be changed
or dropped with an ALTER TABLE query. Once a column is masked, SELECT queries
will always return the masked value of the column. That masking is done on the
coordinator, at the end of the query execution. Thus, masking won't affect any
filters or ordering, which would be based on the clear values of the masked
columns. Column masks are stored on the table system_schema.column_masks.

A new UNMASK permission allows to see the clear data of columns with an
attached mask. Also, a new SELECT_MASKED permission allows to run SELECT
queries restricting the clear values of masked columns. Superusers have both
permissions by default, whereas regular users don't have them.

Dynamic data masking can be enabled/disabled with the config property
dynamic_data_masking_enabled in cassandra.yaml. It is disabled by default.

This is the combination of multiple tickets:

 * Add masking functions to column metadata (CASSANDRA-18068)
 * Add UNMASK permission (CASSANDRA-18069)
 * Add SELECT_MASKED permission (CASSANDRA-18070)
 * Add support for using UDFs as masking functions (CASSANDRA-18071)
 * Add feature flag for dynamic data masking (CASSANDRA-18316)

patch by Andrés de la Peña; reviewed by Benjamin Lerer and Berenguer Blasi for CASSANDRA-17940
2023-03-24 13:57:18 +00:00
Brandon Williams b4d4cf716b Merge branch 'cassandra-4.1' into trunk 2023-03-22 13:29:20 -05:00
Brandon Williams 70b95d8098 Restore COPY ... TO STDOUT behavior in cqlsh
Patch by brandonwilliams; reviewed by adelapena for CASSANDRA-18353
2023-03-22 13:28:47 -05:00
Brandon Williams 080ad4963c Merge branch 'cassandra-4.1' into trunk 2023-03-22 10:20:08 -05:00
Brandon Williams a6f8dd10cd Remove six and Py2SaferScanner merge cruft
Patch by brandonwilliams; reviewed by smiklosovic for CASSANDRA-18354
2023-03-22 10:18:29 -05:00
Stefan Miklosovic 58a3b12508
Remove DateTieredCompactionStrategy
patch by Stefan Miklosovic; reviewed by Jacek Lewandowski for CASSANDRA-18043
2023-03-16 09:38:10 +01:00
Mick Semb Wever 86604f5038
Prepare for JDK17 experimental support
Removes the use of CASSANDRA_USE_JDK11 and introduces the build.xml properties `java.default` and `java.supported`.

 patch by Mick Semb Wever; reviewed by Ekaterina Dimitrova for CASSANDRA-18179
2023-02-12 20:43:46 +01:00
Ekaterina Dimitrova a0ec0ae303 Remove scripted UDFs, remove related tests or rewrite some tests to create java UDFs instead, where it makes sense
patch by Ekaterina Dimitrova; reviewed by Michael Semb Wever for CASSANDRA-18252
2023-02-12 10:18:29 -05:00
Brandon Williams 51e3149169 Upgrade cython
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18121
2023-01-20 15:27:50 -06:00
Brandon Williams 4d192f728c get newest pip in cassandra-cqlsh-tests.sh
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18121
2023-01-20 15:27:44 -06:00
Brandon Williams 25e4a89f76 Accommodate python 3.11
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18088
2023-01-20 15:27:24 -06:00
Brandon Williams 5086b7d0a7 Upgrade cython
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18121
2023-01-20 15:26:17 -06:00
Brandon Williams 4f32d43d88 get newest pip in cassandra-cqlsh-tests.sh
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18121
2023-01-20 15:26:12 -06:00
Brandon Williams cd38edbb41 Accommodate python 3.11
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18088
2023-01-20 15:25:57 -06:00
Brandon Williams b43293e200 Upgrade cython
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18121
2023-01-20 15:24:41 -06:00
Brandon Williams f6933a0419 convert cqlshlib from nose to pytest
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18088
2023-01-20 15:24:29 -06:00
Brandon Williams 563a26c6b1 get newest pip in cassandra-cqlsh-tests.sh
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18121
2023-01-20 15:24:17 -06:00
Brandon Williams 0b5248d8c3 Accommodate python 3.11
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18088
2023-01-20 15:23:58 -06:00
Brandon Williams 1bba8ebee2 Merge branch 'cassandra-4.1' into trunk 2023-01-17 14:32:12 -06:00
Brandon Williams be61ad9d03 Merge branch 'cassandra-4.0' into cassandra-4.1 2023-01-17 14:31:11 -06:00
Maciej Sokol 175272fff4 Fix formatting of duration in cqlsh
Patch by Maciej Sokol; reviewed by brandonwilliams and edimitrova for
CASSANDRA-18141
2023-01-17 14:28:31 -06:00
yziadeh 1528798a5b Add tests for CQL and cqlsh quote escaping
Patch by Yaman Ziadeh; Reviewed by Paulo Motta and Brandom Williams for CASSANDRA-15458
2023-01-17 15:27:51 -05:00
maxwellguo ee8b66da8c Make incremental backup configurable per table
patch by Maxwell Guo; reviewed by Stefan Miklosovic and Benjamin Lerer for CASSANDRA-15402
2022-11-19 10:57:54 +01:00
Brad Schoening 3860a90c5f Change shebangs of Python scripts to resolve Python 3 from env command
patch by Brad Schoening; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-17832

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2022-11-18 14:38:03 +01:00