Commit Graph

39694 Commits

Author SHA1 Message Date
Asias He
194507dffa repair: Convert put_row_diff_with_rpc_stream to use coroutine
It will be easier to add more logics in this function.
2023-11-08 13:52:34 +08:00
Nadav Har'El
a3621dbd3e Merge 'Alternator: Support new ReturnValuesOnConditionCheckFailure feature' from Marcin Maliszkiewicz
alternator: add support for ReturnValuesOnConditionCheckFailure feature

As announced in https://aws.amazon.com/about-aws/whats-new/2023/06/amazon-dynamodb-cost-failed-conditional-writes/, DynamoDB added a new option for write operations (PutItem, UpdateItem, or DeleteItem), ReturnValuesOnConditionCheckFailure, which if set to ALL_OLD returns the current value of the item - but only if a condition check failed.

Fixes https://github.com/scylladb/scylladb/issues/14481

Closes scylladb/scylladb#15125

* github.com:scylladb/scylladb:
  alternator: add support for ReturnValuesOnConditionCheckFailure feature
  alternator: add ability to send additional fields in api_error
2023-11-07 23:19:51 +02:00
Takuya ASADA
a4aeef2eb0 scylla_util.py: run apt-get update before apt-get install if it necessary
Unlike yum, "apt-get install" may fails because package cache is outdated.
Let's check package cache mtime and run "apt-get update" if it's too old.

Fixes #4059

Closes scylladb/scylladb#15960
2023-11-07 20:40:16 +02:00
Wojciech Mitros
ab743271f1 test: increase timeout for lua UDF execution
When running on a particularly slow setup, for example on
an ARM machine in debug mode, the execution time of even
a small Lua UDF that we're using in tests may exceed our
default limits.
To avoid timeout errors, the limit in tests is now increased
to a value that won't be exceeded in any reasonable scenario
(for the current set of tested UDFs), while not making the
test take an excessive amount of time in case of an error in
the UDF execution.

Fixes #15977

Closes scylladb/scylladb#15983
2023-11-07 20:28:28 +02:00
Kamil Braun
07e9522d6c Merge 'raft topology: handle abort exceptions better in fence_previous_coordinator' from Piotr Dulikowski
When topology coordinator tries to fence the previous coordinator it
performs a group0 operation. The current topology coordinator might be
aborted in the meantime, which will result in a `raft::request_aborted`
exception being thrown. After the fix to scylladb/scylladb#15728 was
merged, the exception is caught, but then `sleep_abortable` is called
which immediately throws `abort_requested_exception` as it uses the same
abort source as the group0 operation. The `fence_previous_coordinator`
function which does all those things is not supposed to throw
exceptions, if it does - it causes `raft_state_monitor_fiber` to exit,
completely disabling the topology coordinator functionality on that
node.

Modify the code in the following way:

- Catch `abort_requested_exception` thrown from `sleep_abortable` and
  exit the function if it happens. In addition to the described issue,
it will also handle the case when abort is requested while
`sleep_abortable` happens,
- Catch `raft::request_aborted` thrown from group0 operation, log the
  exception with lower verbosity and exit the function explicitly.

Finally, wrap both `fence_previous_coordinator` and `run` functions in a
`try` block with `on_fatal_internal_error` in the catch handler in order
to implement the behavior that adding `noexcept` was originally supposed
to introduce.

Fixes: scylladb/scylladb#15747

Closes scylladb/scylladb#15948

* github.com:scylladb/scylladb:
  raft topology: catch and abort on exceptions from topology_coordinator::run
  Revert "storage_service: raft topology: mark topology_coordinator::run function as noexcept"
  raft topology: don't print an error when fencing previous coordinator is aborted
  raft topology: handle abort exceptions from sleeping in fence_previous_coordinator
2023-11-07 17:17:49 +01:00
Botond Dénes
60ea940f9e Merge 'docs: render options with role' from Kefu Chai
this series tries to

1. render options with role. so the options can be cross referenced and defined.
2. move the formatting out of the content. so the representation can be defined in a more flexible way.

Closes scylladb/scylladb#15860

* github.com:scylladb/scylladb:
  docs: add divider using CSS
  docs: extract _clean_description as a filter
  docs: render option with role
  docs: parse source files right into rst
2023-11-07 17:01:22 +02:00
Benny Halevy
6a628dd9a6 docs: operating-scylla: nodetool: improve documentation for {en,dis}ableautocompaction
Fixes scylladb/scylladb#15554

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>

Closes scylladb/scylladb#15950
2023-11-07 14:05:55 +02:00
Kamil Braun
e64613154f Merge 'cleanup no longer used gossiper states' from Gleb
Remove no longer used gossiper states that are not needed even for
compatibility any longer.

* 'remove_unused_states' of github.com:scylladb/scylla-dev:
  gossip: remove unused HIBERNATE gossiper status
  gossip: remove unused STATUS_MOVING state
2023-11-07 11:48:04 +01:00
Pavel Emelyanov
9443253f3d Merge 'api: failure_detector: invoke on shard 0' from Kamil Braun
These APIs may return stale or simply incorrect data on shards
other than 0. Newer versions of Scylla are better at maintaining
cross-shard consistency, but we need a simple fix that can be easily and
without risk be backported to older versions; this is the fix.

Add a simple test to check that the `failure_detector/endpoints`
API returns nonzero generation.

Fixes: scylladb/scylladb#15816

Closes scylladb/scylladb#15970

* github.com:scylladb/scylladb:
  test: rest_api: test that generation is nonzero in `failure_detector/endpoints`
  api: failure_detector: fix indentation
  api: failure_detector: invoke on shard 0
2023-11-07 11:54:27 +03:00
Botond Dénes
76ab66ca1f Merge 'Support state change for S3-backed sstables' from Pavel Emelyanov
The sstable currently can move between normal, staging and quarantine state runtime. For S3-backed sstables the state change means maintaining the state itself in the ownership table and updating it accordingly.

There's also the upload facility that's implemented as state change too, but this PR doesn't support this part.

fixes: #13017

Closes scylladb/scylladb#15829

* github.com:scylladb/scylladb:
  test: Make test_sstables_excluding_staging_correctness run over s3 too
  sstables,s3: Support state change (without generation change)
  system_keyspace: Add state field to system.sstables
  sstable_directory: Tune up sstables entries processing comment
  system_keyspace: Tune up status change trace message
  sstables: Add state string to state enum class convert
2023-11-07 10:45:41 +02:00
Botond Dénes
74f68a472f Merge 'doc: add the upgrade guide from 5.2 to 5.4' from Anna Stuchlik
This PR adds the 5.2-5.4 upgrade guide.
In addition, it removes the redundant upgrade guide from 5.2 to 5.3 (as 5.3 was skipped), as well as some mentions of version 5.3.

This PR must be backported to branch-5.4.

Closes scylladb/scylladb#15880

* github.com:scylladb/scylladb:
  doc: add the upgrade guide from 5.2 to 5.4
  doc: remove version "5.3" from the docs
  doc: remove the 5.2-to-5.3 upgrade guide
2023-11-07 10:35:33 +02:00
David Garcia
afaeb30930 docs: add dynamic version on aws images extension
Closes scylladb/scylladb#15940
2023-11-07 10:30:23 +02:00
Takuya ASADA
2e7552a0ca dist/redhat: drop rpm conflict with ABRT, add systemd conflict instead
Currently, "yum install scylla" causes conflict when ABRT is installed.

To avoid this behavior and keep using systemd-coredump for scylla
coredump, let's drop "Conflicts: abrt" from rpm and
add "Conflicts=abrt-ccpp.service" to systemd unit.

Fixes #892

Closes scylladb/scylladb#15691
2023-11-07 10:30:23 +02:00
Botond Dénes
2f0284f30d Merge 'build: cmake: configure all available config types' from Kefu Chai
in this series, instead of assuming that we always have only one single `CMAKE_BUILD_TYPE`, we configure all available configurations, to be better prepared for the multi-config support.

Refs #15241
Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>

Closes scylladb/scylladb#15933

* github.com:scylladb/scylladb:
  build: cmake: set compile options with generator expression
  build: cmake: configure all available config types
  build: cmake: set per-mode stack usage threshold
  build: cmake: drop build_mode
  build: cmake: check for config type if multi-config is used
2023-11-07 09:45:57 +02:00
Botond Dénes
7679152209 Merge 'Sanitize usage of make_sstable_easy+make_memtable in tests' from Pavel Emelyanov
The helper makes sstable, writes mutations into it and loads one. Internally it uses the make_memtable() helper that prepares a memtable out of a vector of mutations. There are many test cases that don't use these facilities generating some code duplication.

The make_sstable() wrapper around make_sstable_easy() is removed along the way.

Closes scylladb/scylladb#15930

* github.com:scylladb/scylladb:
  tests: Use make_sstable_easy() where appropriate
  sstable_conforms_to_mutation_source_test: Open-code the make_sstable() helper
  sstable_mutation_test: Use make_sstable_easy() instead of make_sstable()
  tests: Make use of make_memtable() helper
  tests: Drop as_mutation_source helper
  test/sstable_utils: Hide assertion-related manipulations into branch
2023-11-07 09:29:30 +02:00
Kefu Chai
882e7eca25 build: cmake: set compile options with generator expression
instead of using a single compile option for all modes, use per-mode
compile options. this change keeps us away from using `CMAKE_BUILD_TYPE`
directly, and prepares us for the multi-config generator support.

because we only apply these settings in the configurations where
sanitizers are used, there is no need to check if these option can be
accepted by the compiler. if this turns out to be a problem, we can
always add the check back on a per-mode basis.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-11-07 10:35:20 +08:00
Kefu Chai
61a542ffd0 build: cmake: configure all available config types
if `CMAKE_CONFIGURATION_TYPES` is set, it implies that the
multi-config generator is used, in this case, we include all
available build types instead of only the one specified by
`CMAKE_BUILD_TYPE`, which is typically used by non-multi-config
generators.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-11-07 10:14:33 +08:00
Kefu Chai
6fcff51cf1 build: cmake: set per-mode stack usage threshold
instead of setting a single stack usage threshold, set per-mode
stack usage threshold. this prepares for the support of
multi-config generator.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-11-07 10:13:50 +08:00
Kefu Chai
23bb644314 build: cmake: drop build_mode
there is no benefit having this variable. and it introduces
another layer of indirection. so drop it.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-11-07 10:10:59 +08:00
Kefu Chai
7369e2e3df build: cmake: check for config type if multi-config is used
we should not set_property() on a non-existant property. if a multi-config
generator is used, `CMAKE_BUILD_TYPE` is not added as a cached entry at all.

Refs #15241
Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-11-07 10:10:59 +08:00
Paweł Zakrzewski
9e240c2dc8 test/cql-pytest: Verify that GRANT ALTER ALL allows changing the superuser password
This is a test for #14277. We do want to match Cassandra's behavior,
which means that a user who is granted ALTER ALL is able to change
the password of a superuser.

Closes scylladb/scylladb#15961
2023-11-06 18:39:53 +01:00
Takuya ASADA
a23278308f dist: fix local-fs.target dependency
systemd man page says:

systemd-fstab-generator(3) automatically adds dependencies of type Before= to
all mount units that refer to local mount points for this target unit.

So "Before=local-fs.taget" is the correct dependency for local mount
points, but we currently specify "After=local-fs.target", it should be
fixed.

Also replaced "WantedBy=multi-user.target" with "WantedBy=local-fs.target",
since .mount are not related with multi-user but depends local
filesystems.

Fixes #8761

Closes scylladb/scylladb#15647
2023-11-06 18:39:53 +01:00
Kefu Chai
d78ccab337 test/s3: add --keep-tmp option to preserve the tmp dir
before this change, the tempdir is always nuked no matter if the
test succceds. but sometimes, it would be important to check
scylla's sstables after the test finishes.

so, in this change, an option named `--keep-tmp` is added so
we can optionally preserve the temp directory. this option is off
by default.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>

Closes scylladb/scylladb#15949
2023-11-06 18:39:53 +01:00
Anna Stuchlik
3756705520 doc: add OS support in version 5.4
This commit adds OS support information
in version 5.4 (removing the non-released
version 5.3).

In particular, it adds support for Oracle Linux
and Amazon Linux.

Also, it removes support for outdated versions.

Closes scylladb/scylladb#15923
2023-11-06 18:39:53 +01:00
Anna Stuchlik
1e0cbfe522 doc: update package installation in version 5.4
This commit updates the package installation
instructions in version 5.4.
- It updates the variables to include "5.4"
  as the version name.
- It adds the information for the newly supported
  Rocky/RHEL 9 - a new EPEL download link is required.

Closes scylladb/scylladb#15963
2023-11-06 18:39:53 +01:00
Pavel Emelyanov
bcec9c4ffc Merge 'test/object_store: PEP8 compliant cleanups' from Kefu Chai
this series applies fixes to make the test more PEP8 compliant. the goal is to improve the readability and maintainability.

Closes scylladb/scylladb#15946

* github.com:scylladb/scylladb:
  test/object_store: wrap line which is too long
  test/object_store: use pattern matching to capture variable in loop
  test/object_store: remove space after and before '{' and '}'
  test/object_store: add an empty line before nested function definition
  test/object_store: use two empty lines in-between global functions
2023-11-06 18:39:53 +01:00
Benny Halevy
0064fc55b0 interval: make default ctor and make_open_ended_both_sides constexpr
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>

Closes scylladb/scylladb#15955
2023-11-06 18:39:53 +01:00
Kefu Chai
39340d23e5 storage_service: avoid using non-constexpr as format string
in order to use compile-time format check, we would need to use
compile-time constexpr for the format string. despite that we
might be able to find a way to tell if an expression is compile-time
constexpr in C++20, it'd be much simpler to always use a
known-to-be-constexpr format string. this would help us to eventually
migrate to the compile-time format check in seastar's logging subsystem.

so, in this change, instead of feeding `seastar::logger::info()` and
friends with a non-constexpr format string, let's just use "{}" for
printing it, or mark the format string with `constexpr` instead of
`const`. as the former tells the compiler it is a variable that
can be evaluated at compile-time, while the latter just inform the
compiler that the variable is not mutable after it is initialized.

This change also helps to address the compiling failure with the
yet-merged compile-time format check patch in Seastar:

```
/usr/bin/clang++ -DBOOST_NO_CXX98_FUNCTION_BASE -DDEBUG -DDEBUG_LSA_SANITIZER -DFMT_DEPRECATED_OSTREAM -DFMT_SHARED -DSANITIZE -DSCYLLA_BUILD_MODE=debug -DSCYLLA_ENABLE_ERROR_INJECTION -DSEASTAR_API_LEVEL=7 -DSEASTAR_DEBUG -DSEASTAR_DEFAULT_ALLOCATOR -DSEASTAR_LOGGER_TYPE_STDOUT -DSEASTAR_SCHEDULING_GROUPS_COUNT=16 -DSEASTAR_SHUFFLE_TASK_QUEUE -DSEASTAR_SSTRING -DSEASTAR_TYPE_ERASE_MORE -DXXH_PRIVATE_API -I/home/kefu/dev/scylladb -I/home/kefu/dev/scylladb/build/cmake/gen -I/home/kefu/dev/scylladb/seastar/include -I/home/kefu/dev/scylladb/build/cmake/seastar/gen/include -Og -g -gz -std=gnu++20 -fvisibility=hidden -Wall -Werror -Wextra -Wno-error=deprecated-declarations -Wimplicit-fallthrough -Wno-c++11-narrowing -Wno-mismatched-tags -Wno-overloaded-virtual -Wno-unsupported-friend -Wno-unused-parameter -Wno-missing-field-initializers -Wno-deprecated-copy -Wno-ignored-qualifiers -ffile-prefix-map=/home/kefu/dev/scylladb=. -march=westmere -U_FORTIFY_SOURCE -Werror=unused-result "-Wno-error=#warnings" -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr -MD -MT service/CMakeFiles/service.dir/storage_service.cc.o -MF service/CMakeFiles/service.dir/storage_service.cc.o.d -o service/CMakeFiles/service.dir/storage_service.cc.o -c /home/kefu/dev/scylladb/service/storage_service.cc
/home/kefu/dev/scylladb/service/storage_service.cc:2460:18: error: call to consteval function 'seastar::logger::format_info<>::format_info<const char *, 0>' is not a constant expression
    slogger.info(str.c_str());
                 ^
```

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>

Closes scylladb/scylladb#15959
2023-11-06 18:39:53 +01:00
Kamil Braun
315c69cec2 test: rest_api: test that generation is nonzero in failure_detector/endpoints 2023-11-06 18:03:34 +01:00
Kamil Braun
eb6943b852 api: failure_detector: fix indentation 2023-11-06 17:12:17 +01:00
Kamil Braun
a89c69007e api: failure_detector: invoke on shard 0
These APIs may return stale or simply incorrect data on shards
other than 0. Newer versions of Scylla are better at maintaining
cross-shard consistency, but we need a simple fix that can be easily and
without risk be backported to older versions; this is the fix.

Fixes: scylladb/scylladb#15816
2023-11-06 17:03:38 +01:00
Piotr Dulikowski
85516c9155 raft topology: catch and abort on exceptions from topology_coordinator::run
The `topology_coordinator` function is supposed to handle all of the
exceptions internally. Assert, in runtime, that this is the case by
wrapping the `run` invocation with a try..catch; in case of an
exception, step down as a leader first and then abort.
2023-11-06 15:25:38 +01:00
Anna Stuchlik
a6fd4cccf2 doc: add the upgrade guide from 5.2 to 5.4
This commit adds the upgrade guide from
version 5.2 to 5.4.
Version 5.3 was never released.

This commit must be backported to branch-5.4.
2023-11-06 14:48:26 +01:00
Piotr Dulikowski
843f02eb5d Revert "storage_service: raft topology: mark topology_coordinator::run function as noexcept"
This reverts commit dcaaa74cd4. The
`noexcept` specifier that it added is only relevant to the function and
not the coroutine returned from that function. This was not the
intention and it looks confusing now, so remove it.
2023-11-06 12:00:42 +01:00
Piotr Dulikowski
41c2dac250 raft topology: don't print an error when fencing previous coordinator is aborted
An attempt to fence the previous coordinator may fail because the
current coordinator is aborted. It's not a critical error and it can
happen during normal operations, so lower the verbosity used to print a
message about this error to 'debug'.

Return from the function immediately in that case - the sleep_aborted
that happens as a next step would fail on abort_requested_exception
anyway, so make it more explicit.
2023-11-06 12:00:42 +01:00
Piotr Dulikowski
1408b7cfa8 raft topology: handle abort exceptions from sleeping in fence_previous_coordinator
The fence_previous_coordinator function has a retry loop: if it fails to
perform a group0 operation, it will try again after a 1 second delay.
However, if the topology coordinator is aborted while it waits, an
exception will be thrown and will be propagated out of the function. The
function is supposed to handle all exceptions internally, so this is not
desired.

Fix this by catching the abort_requested_exception and returning from
the function if the exception is caught.
2023-11-06 12:00:41 +01:00
Botond Dénes
2e1562d889 Merge 'dht: i_partitioner cleanup' from Benny Halevy
This series refactors the `dht/i_paritioner.hh` header file
and cleans up its usage so to reduce the dependencies on it,
since it is carries a lot of baggage that is rarely required in other header files.

Closes scylladb/scylladb#15954

* github.com:scylladb/scylladb:
  everywhere: reduce dependencies on i_partitioner.hh
  locator: resolve the dependency of token_metadata.hh on token_range_splitter.hh
  cdc: cdc_partitioner: remove extraneous partition_key_view fwd declaration
  dht: reduce dependency on i_partitioner.hh
  dht: fold compatible_ring_position in ring_position.hh
  dht: refactor i_partitioner.hh
  dht: move token_comperator to token.{cc,hh}
  dht/i_partitioner: include i_partitioner_fwd.hh
2023-11-06 10:34:38 +02:00
Kefu Chai
2b961d8e3f build: cmake: define per-mode compile definition
instead of setting for a single CMAKE_BUILD_TYPE, set the compilation
definitions for each build configuration.

this prepares for the multi-config generator.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>

Closes scylladb/scylladb#15943
2023-11-06 10:34:38 +02:00
Kefu Chai
f2693752f1 build: cmake: avoid referencing CMAKE_BUILD_TYPE
use generator-expresion instead, so that the value can be evaluated
when generating the build system. this prepares for the multi-config
support.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>

Closes scylladb/scylladb#15942
2023-11-06 10:34:38 +02:00
Botond Dénes
7c7baf71d5 Merge 'Change all tests to shut down gracefully on shutdown' from Eliran Sinvani
This mini series purpose is to move all tests (that uses the infrastructure to create a Scylla cluster) to shut down gracefully
on shutdown.
One benefit is that the shutdown sequence for cluster will be tested better, however it is not the main purpose of this change. The main purpose of this change is to pave the way for coverage reporting on all tests and not only the ones that
has a standalone executables.

Full test runs are only slightly impacted by this change (~2.4% increase in runtime):

Without gracefull shutdown
```
time ./test.py --mode dev
Found 2966 tests.
================================================================================
[N/TOTAL]   SUITE    MODE   RESULT   TEST
------------------------------------------------------------------------------
[2966/2966] topology_experimental_raft   dev   [ PASS ] topology_experimental_raft.test_raft_cluster_features.1
------------------------------------------------------------------------------
CPU utilization: 13.1%

real    4m50.587s
user    13m58.358s
sys     6m55.975s
```

With gracefull shutdown
```
time ./test.py --mode dev
Found 2966 tests.
================================================================================
[N/TOTAL]   SUITE    MODE   RESULT   TEST
------------------------------------------------------------------------------
[2966/2966] topology_experimental_raft   dev   [ PASS ] topology_experimental_raft.test_raft_cluster_features.1
------------------------------------------------------------------------------
CPU utilization: 12.6%

real    4m57.637s
user    13m56.864s
sys     6m46.657s
```

Closes scylladb/scylladb#15851

* github.com:scylladb/scylladb:
  test.py: move to a gracefull temination of nodes on teardown
  test.py: Use stop lock also in the graceful version
2023-11-06 10:34:38 +02:00
Benny Halevy
a1acf6854b everywhere: reduce dependencies on i_partitioner.hh
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2023-11-05 20:47:44 +02:00
Benny Halevy
6de1cc2993 locator: resolve the dependency of token_metadata.hh on token_range_splitter.hh
define token_metadata_ptr in token_metadata_fwd.hh
So that the declaration of `make_splitter` can be moved
to token_range_splitter.hh, where it belongs,
and so token_metadata.hh won't have to include it.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2023-11-05 20:01:29 +02:00
Benny Halevy
182e5381d8 cdc: cdc_partitioner: remove extraneous partition_key_view fwd declaration
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2023-11-05 20:01:29 +02:00
Benny Halevy
4b184e950a dht: reduce dependency on i_partitioner.hh
include only the required header files where needed.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2023-11-05 20:01:29 +02:00
Benny Halevy
aa70e3a536 dht: fold compatible_ring_position in ring_position.hh
Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2023-11-05 20:01:29 +02:00
Benny Halevy
28b5482403 dht: refactor i_partitioner.hh
Extract decorated_key.hh and ring_position.hh
out of i_partitioner.hh so they can be included
selectively, since i_partitioner.hh contains too much
bagage that is not always needed in full.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2023-11-05 20:01:27 +02:00
Benny Halevy
232918eef0 dht: move token_comperator to token.{cc,hh}
Move the `token_comparator` definition and
implementation to token.{hh,cc}, respectively
since they are independent of i_partitioner.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2023-11-05 20:01:15 +02:00
Benny Halevy
8309cf743e dht/i_partitioner: include i_partitioner_fwd.hh
Rather than repeating the same declarations in i_partitioner.hh

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2023-11-05 20:01:14 +02:00
Kefu Chai
08f8796cf0 test/object_store: wrap line which is too long
to be compliant to PEP8, see
https://peps.python.org/pep-0008/#blank-lines

also easier to read with smaller screen and/or large fonts.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-11-04 21:29:31 +08:00
Kefu Chai
5c0e4df624 test/object_store: use pattern matching to capture variable in loop
instead of referencing the elements in tuple with their indexes, use
pattern matching to capture them. for better readability.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-11-04 21:29:31 +08:00