Commit Graph

18607 Commits

Author SHA1 Message Date
Branimir Lambov 9074ee7ef8 Renames MemtableTrie to InMemoryTrie
patch by Branimir Lambov; reviewed by Andres de la Peña and Caleb Rackliffe for CASSANDRA-17240
2022-10-21 12:58:09 +03:00
Branimir Lambov 7c55c73825 Adds a trie-based memtable implementation
patch by Branimir Lambov; reviewed by Jason Rutherglen, Jacek Lewandowski, Andres de la Peña and Caleb Rackliffe for CASSANDRA-17240
2022-10-21 12:55:56 +03:00
Branimir Lambov 562cb26010 MemtableTrie using multiple buffers
The replaces the size doubling and copying required to grow the trie
with an allocation of a new buffer. This improves the cost of expansion
at the expense of increasing individual read and write costs.

patch by Branimir Lambov; reviewed by Jason Rutherglen, Jacek Lewandowski, Andres de la Peña and Caleb Rackliffe for CASSANDRA-17240
2022-10-21 12:54:19 +03:00
Branimir Lambov 30641ea7b6 Provides the Trie interface with MemtableTrie implementation
also includes functionality to merge, intersect and iterate on tries.

patch by Branimir Lambov; reviewed by Jason Rutherglen, Jacek Lewandowski, Andres de la Peña and Calib Rackliffe for CASSANDRA-17240
2022-10-21 12:54:03 +03:00
Branimir Lambov 49e0c61107 Further improves precision of memtable heap tracking
Partition key ByteBuffer and columns btree were not taken
into account and some ByteBuffers were not measured correctly.

Also fixes flakes in MemtableSizeTest caused by including
allocator pool in measurements and updates it to test all
memtable allocation types.

patch by Branimir Lambov; reviewed by Ekaterina Dimitrova, Andres de la Peña and Caleb Rackliffe for CASSANDRA-17240
2022-10-21 12:53:45 +03:00
Ekaterina Dimitrova 6f709ca0ec Merge branch 'cassandra-4.1' into trunk 2022-10-20 14:02:45 -04:00
Ekaterina Dimitrova 1df5dd671e Merge branch 'cassandra-4.0' into cassandra-4.1 2022-10-20 13:59:09 -04:00
Ekaterina Dimitrova ce1584ccc8 Fix ASM bytecode version inconsistency
patch by Ekaterina Dimitrova; reviewed by Berenguer Blasi and Benedict Elliot Smith for CASSANDRA-17873
2022-10-20 13:10:33 -04:00
Marcus Eriksson 7e6799a4b9 Keep sstable level when streaming for decommission and move
Patch by marcuse; reviewed by David Capwell for CASSANDRA-17969
2022-10-20 07:45:38 +02:00
Mick Semb Wever b0ae3de1c9
Merge branch 'cassandra-4.1' into trunk
* cassandra-4.1:
  Fix JMX security vulnerabilities
2022-10-18 22:58:57 +02:00
Mick Semb Wever fbb3079144
Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Fix JMX security vulnerabilities
2022-10-18 22:55:59 +02:00
Mick Semb Wever 9a24fa81e5
Merge branch 'cassandra-3.11' into cassandra-4.0
* cassandra-3.11:
  Fix JMX security vulnerabilities
2022-10-18 22:53:37 +02:00
Mick Semb Wever 95d0a936f9
Merge branch 'cassandra-3.0' into cassandra-3.11
* cassandra-3.0:
  Fix JMX security vulnerabilities
2022-10-18 22:50:49 +02:00
Abe Ratnofsky b2660bcf78
Fix JMX security vulnerabilities
patch by Abe Ratnofsky; reviewed by Jon Meredith, Mick Semb Wever, Sam Tunnicliffe for CASSANDRA-17921
2022-10-18 22:47:49 +02:00
Stefan Miklosovic c089818881 Make Cassandra logs able to be viewed in the virtual table system_views.system_logs
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-17948
2022-10-18 14:13:51 +02:00
Stefan Miklosovic c5f8e63f67 Merge branch 'cassandra-4.1' into trunk 2022-10-11 23:24:06 +02:00
Stefan Miklosovic 15b54687a5 Merge branch 'cassandra-4.0' into cassandra-4.1 2022-10-11 23:20:35 +02:00
Stefan Miklosovic 488c0c75a8 Remove empty cq4 log files to prevent BinLog from failing to start
This patch also backports CASSANDRA-17595.

patch by Stefan Miklosovic; reviewed by Caleb Rackliffe for CASSANDRA-17933
2022-10-11 23:13:13 +02:00
Aleksey Yeschenko 04cfb57dde Merge branch 'cassandra-4.1' into trunk 2022-10-11 15:47:43 +01:00
Aleksey Yeschenko 3fc9bc033a Merge branch 'cassandra-4.0' into cassandra-4.1 2022-10-11 15:43:49 +01:00
Piotr Kołaczkowski e13356d75d Fix multiple BufferPool bugs
patch by Piotr Kołaczkowski; reviewed by Aleksey Yeschenko for
CASSANDRA-16681
2022-10-11 15:42:30 +01:00
David Capwell af9439bcd7 IllegalArgumentException in Gossiper#order due to concurrent mutations to elements being applied
patch by David Capwell; reviewed by Blake Eggleston for CASSANDRA-17908
2022-10-10 17:45:46 -07:00
Josh McKenzie 4fc2d9e539 Include estimated active compaction remaining write size when starting a new compaction
Patch by Marcus Eriksson; reviewed by Chris Lohfink, Stefan Podkowinski, Caleb Rackliffe,and Josh McKenzie for CASSANDRA-17931

Co-authored-by: Marcus Eriksson <marcuse@apache.org>
Co-authored-by: Josh McKenzie <jmckenzie@apache.org>
2022-10-10 13:24:33 -04:00
Jyothsna Konisa ca75ffe4d0 Mixed mode support for internode authentication during TLS upgrades
patch by Jyothsna Konisa; reviewed by Jon Meredith, Yifan Cai for CASSANDRA-17923
2022-10-07 15:21:21 -07:00
Ariel Weisberg d62d845c7d Merge branch 'cassandra-4.1' into trunk 2022-10-06 14:12:24 -04:00
Ariel Weisberg 9524c22990 Merge branch 'cassandra-4.0' into cassandra-4.1 2022-10-06 14:11:34 -04:00
Andy Tolbert 3bdd2caa22 Fix StorageService.getNativeaddress handling of IPv6 addresses
StorageService.getNativeaddress does not currently correctly handle
IPv6 addresses correctly when NATIVE_ADDRESS_AND_PORT are not present in
that it simply concatenates the IP address with the default native port,
e.g.:

0:0:0:0:0:0:5a:3:9042

This does not parse into an InetSocketAddress as the address and port
can't be disambiguated.

Such a case would usually be present when there are 3.x nodes present in a
cluster with 4.0 nodes.

Change updates RPC_ADDRESS and else case to create InetAddressAndPort instances
with DatabaseDescriptor.getNativeTransportPort and returns the
getHostAddress(withPort) which properly bracket encodes the address,
e.g.:

[0:0:0:0:0:0:5a:3]:9042

which can be parsed as an InetSocketAddress.

patch by Andy Tolbert; reviewed by Ariel Weisberg, Brandon Williams for CASSANDRA-17945
2022-10-06 14:10:58 -04:00
Aleksey Yeschenko ba1a3fb8ae Merge branch 'cassandra-4.1' into trunk 2022-10-06 15:40:56 +01:00
Aleksey Yeschenko 0b083d3e73 Merge branch 'cassandra-4.0' into cassandra-4.1 2022-10-06 15:34:49 +01:00
Aleksey Yeschenko 4e1d31e729 Merge branch 'cassandra-3.11' into cassandra-4.0 2022-10-06 15:27:49 +01:00
Piotr Kołaczkowski dc2acba043 Make LongBufferPoolTest insensitive to timing
This commit changes the way how LongBufferPoolTest verifies
that all buffers were freed and recycled. Now, the delay between
rounds can be arbitrarily short and timing does not affect the
validity of checks.

patch by Piotr Kołaczkowski; reviewed by Aleksey Yeschenko for
CASSANDRA-16681
2022-10-05 15:46:10 +01:00
Stefan Miklosovic 872e34c2d6 add --older-than and --older-than-timestamp options for nodetool clearsnapshot
patch by Stefan Miklosovic; reviewed by Paulo Motta for CASSANDRA-16860
2022-09-27 19:30:17 +02:00
Stefan Miklosovic ff47de11d6 Merge branch 'cassandra-4.1' into trunk 2022-09-26 22:37:29 +02:00
Stefan Miklosovic 5d3c747719 add checkstyle modules for checking redundant and unused imports in Java code
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-17876

Co-authored-by: Ling Mao <maoling@apache.org>
2022-09-26 21:41:15 +02:00
Josh McKenzie f4b69ba0e8 Fix "open RT bound as its last item" exception
Patch by Marcus Eriksson; reviewed by Aleksey Yeschenko and Josh McKenzie for CASSANDRA-17810

Co-authored-by: Marcus Eriksson <marcuse@apache.org>
Co-authored-by: Josh McKenzie <jmckenzie@apache.org>
2022-09-26 13:57:02 -04:00
Leonard Ma e5c9cf4cbe Handle leak of non-standard Java types as clients using JMX cannot handle them
-deprecate and replace JMX setters that throw non-standard exceptions
-deprecate and replace respective JMX getters as well to make JMX usage consistent

patch by Leonard Ma; reviewed by Ekaterina Dimitrova and David Capwell for CASSANDRA-17668
2022-09-26 11:30:24 -04:00
Claude Warren, Jr 7adfdc85cf Deprecate Throwables.propagate usage
patch by Claude Warren; reviewed by Caleb Rackliffe and David Capwell for CASSANDRA-14218
2022-09-22 10:34:36 -05:00
Josh McKenzie 38a356b10c Merge branch 'cassandra-4.1' into trunk 2022-09-20 14:19:49 -04:00
Josh McKenzie 3608f67076 Merge branch 'cassandra-4.0' into cassandra-4.1 2022-09-20 14:18:09 -04:00
Josh McKenzie 22ec7eee7f Mitigate direct buffer memory OOM on replacements
Patch by Jon Meredith; reviewed by Josh McKenzie for CASSANDRA-17895

Co-authored-by: Jon Meredith <jonmeredith@apache.org>
Co-authored-by: Josh McKenzie <jmckenzie@apache.org>
2022-09-20 14:16:24 -04:00
Josh McKenzie 0aaad92f48 Merge branch 'cassandra-4.1' into trunk 2022-09-20 12:59:59 -04:00
Josh McKenzie 1f90c9eb3d Merge branch 'cassandra-4.0' into cassandra-4.1 2022-09-20 12:57:51 -04:00
Josh McKenzie 29c0ad80c9 Fix repair failure on assertion if two peers have overlapping mismatching ranges
Patch by Marcus Eriksson; reviewed by Benedict Elliott Smith and Josh McKenzie for CASSANDRA-17900

Co-authored-by: Marcus Eriksson <marcuse@apache.org>
Co-authored-by: Josh McKenzie <jmckenzie@apache.org>
2022-09-20 12:55:24 -04:00
Ekaterina Dimitrova d80d934ed2 Merge branch 'cassandra-4.1' into trunk 2022-09-19 18:32:14 -04:00
Ekaterina Dimitrova 4c85c6a403 key_cache_save_period, row_cache_save_period, counter_cache_save_period are not deprecated and we should not emit deprecation warning on startup for them
Patch by Ekaterina Dimitrova; reviewed by Stefan Miklosovic for CASSANDRA-17904
2022-09-19 18:10:36 -04:00
Josh McKenzie e89b214d06 Allow disabling hotness persistence for high sstable counts
Patch by Caleb Rackliffe; reviewed by Chris Lohfink and Josh McKenzie for CASSANDRA-17868

Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: Josh McKenzie <jmckenzie@apache.org>
2022-09-19 13:10:52 -04:00
Josh McKenzie ff5f4833aa Prevent NullPointerException when changing neverPurgeTombstones from true to false
Patch by Marcus Eriksson; reviewed by Caleb Rackliffe and Josh McKenzie for CASSANDRA-17897

Co-authored-by: Marcus Eriksson <marcuse@apache.org>
Co-authored-by: Josh McKenzie <jmckenzie@apache.org>
2022-09-19 12:07:28 -04:00
Josh McKenzie bd2ecb3454 Add metrics around storage usage and compression
Patch by Caleb Rackliffe; reviewed by Abe Ratnofsky and Josh McKenzie for CASSANDRA-17898

Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: Josh McKenzie <jmckenzie@apache.org>
2022-09-19 12:03:18 -04:00
Jacek Lewandowski 56ea39ec70 Merge branch 'cassandra-4.1' into trunk 2022-09-16 09:57:37 +02:00
Jacek Lewandowski d8bbeb9e39 Merge branch 'cassandra-4.0' into cassandra-4.1 2022-09-16 09:55:07 +02:00