Commit Graph

1037 Commits

Author SHA1 Message Date
David Garcia
84e073d0ec docs: update theme 1.6
Closes scylladb/scylladb#15782
2023-11-03 09:45:16 +01:00
Kamil Braun
0846d324d7 Merge 'rollback topology operation on streaming failure' from Gleb
This patch series adds error handling for streaming failure during
topology operations instead of an infinite retry. If streaming fails the
operation is rolled back: bootstrap/replace nodes move to left and
decommissioned/remove nodes move back to normal state.

* 'gleb/streaming-failure-rollback-v4' of github.com:scylladb/scylla-dev:
  raft: make sure that all operation forwarded to a leader are completed before destroying raft server
  storage_service: raft topology: remove code duplication from global_tablet_token_metadata_barrier
  tests: add tests for streaming failure in bootstrap/replace/remove/decomission
  test/pylib: do not stop node if decommission failed with an expected error
  storage_service: raft topology: fix typo in "decommission" everywhere
  storage_service: raft topology: add streaming error injection
  storage_service: raft topology: do not increase topology version during CDC repair
  storage_service: raft topology: rollback topology operation on streaming failure.
  storage_service: raft topology: load request parameters in left_token_ring state as well
  storage_service: raft topology: do not report term_changed_error during global_token_metadata_barrier as an error
  storage_service: raft topology: change global_token_metadata_barrier error handling to try/catch
  storage_service: raft topology: make global_token_metadata_barrier node independent
  storage_service: raft topology: split get_excluded_nodes from exec_global_command
  storage_service: raft topology: drop unused include_local and do_retake parameters from exec_global_command which are always true
  storage_service: raft topology: simplify streaming RPC failure handling
2023-11-02 10:15:45 +01:00
Anna Stuchlik
d4b1e8441a doc: add the latest AWS image info to Installation
This commit adds the AWS image information for
the latest patch release to the Launch on AWS
page in the installation section.

This is a follow-up PR required to finalize
the AWS installation docs and should be
backported to branch-5.4.

Related:
https://github.com/scylladb/scylladb/pull/14153
https://github.com/scylladb/scylladb/pull/15651

Closes scylladb/scylladb#15867
2023-10-30 23:41:23 +02:00
Avi Kivity
03a801b61b Merge 'Nodetools docs improvements 1/N' from Botond Dénes
While working on https://github.com/scylladb/scylladb/issues/15588, I noticed problems with the existing documentation, when comparing it with the actual code.
This PR contains fixes for nodetool compact, stop and scrub.

Closes scylladb/scylladb#15636

* github.com:scylladb/scylladb:
  docs: nodetool compact: remove common arguments
  docs: nodetool stop: fix compaction types and examples
  docs: nodetool compact: remove unsupported partition option
2023-10-30 20:17:14 +02:00
Paweł Zakrzewski
384427bd02 doc: Replace instances of SimpleStrategy with NetworkTopologyStrategy
The goal is to make the available defaults safe for future use, as they
are often taken from existing config files or documentation verbatim.

Referenced issue: #14290

Closes scylladb/scylladb#15856
2023-10-30 20:15:48 +02:00
Aleksandr Bykov
6b991b4791 doc: add note about run test.py with toolchain/dbuild
test.py tests could be run with toolchain/dbuild and in this case
there is no need to executed ./install-dependicies.sh.

Closes scylladb/scylladb#15837
2023-10-29 18:30:32 +02:00
Yaniv Kaul
600822379d Docs: small typo in cql extensions page
Signed-off-by: Yaniv Kaul <yaniv.kaul@scylladb.com>

Closes scylladb/scylladb#15840
2023-10-25 17:27:04 +03:00
Anna Stuchlik
ad29ba4cad doc: add info about encrypted tables to Backup
This commit updates the introduction of the Backup Your Data page to include information about encryption.

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

Closes scylladb/scylladb#15612
2023-10-25 17:15:15 +03:00
Gleb Natapov
cee7aab32c storage_service: raft topology: fix typo in "decommission" everywhere 2023-10-25 13:03:57 +03:00
Anna Stuchlik
e223624e2e doc: fix the Reference page layout
This commit fixes the layout of the Reference
page. Previously, the toctree level was "2",
which made the page hard to navigate.
This PR changes the level to "1".

In addition, the capitalization of page
titles is fixed.

This is a follow-up PR to the ones that
created and updated the Reference section.
It must be backported to branch-5.4.

Closes scylladb/scylladb#15830
2023-10-25 12:15:27 +03:00
David Garcia
a5519c7c1f docs: update cofig params design
Closes scylladb/scylladb#15827
2023-10-24 15:41:56 +03:00
Anna Stuchlik
55ee999f89 doc: enable publishing docs for branch-5.4
This commit enables publishing documentation
from branch-5.4. The docs will be published
as UNSTABLE (the warning about version 5.4
being unstable will be displayed).

Closes scylladb/scylladb#15762
2023-10-23 15:47:01 +03:00
Botond Dénes
950a1ff22c Merge 'doc: improve the docs for handling failures' from Anna Stuchlik
This PR improves the way of how handling failures is documented and accessible to the user.
- The Handling Failures section is moved from Raft to Troubleshooting.
- Two new topics about failure are added to Troubleshooting with a link to the Handling Failures page (Failure to Add, Remove, or Replace a Node, Failure to Update the Schema).
- A note is added to the add/remove/replace node procedures to indicate that a quorum is required.

See individual commits for more details.

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

Closes scylladb/scylladb#15628

* github.com:scylladb/scylladb:
  doc: add a note about Raft
  doc: add the quorum requirement to procedures
  doc: add more failure info to Troubleshooting
  doc: move Handling Failures to Troubleshooting
2023-10-23 11:09:28 +03:00
Botond Dénes
f811a63e1b docs: nodetool compact: remove common arguments
These are already documented in the nodetool index page. The list in the
nodetool index page is less informative, so copy the list from nodetool
compact over there.
2023-10-20 10:16:42 -04:00
Botond Dénes
397f67990f docs: nodetool stop: fix compaction types and examples
Nodetool doesn't recognize RESHARD, even though ScyllaDB supports
stopping RESHARD compaction.
Remove VALIDATE from the list - ScyllaDB doesn't support it.
Add a note about the unimplemented --id option.
Fix the examples, they are broken.
Fix the entry in the nodetool command list, the command is called
`stop`, not `stop compaction`.
2023-10-20 10:15:47 -04:00
Botond Dénes
70ba6b94c3 docs: nodetool compact: remove unsupported partition option
This option is not supported by either the nodetool frontend, nor
ScyllaDB itself. Remove it.
Also improve the wording on the unsupported options.
2023-10-20 10:15:44 -04:00
Anna Stuchlik
274cf7a93a doc:remove upgrade guides for unsupported versions
This commit:
- Removes upgrade guides for versions older than 5.0.
  The oldest one is from version 4.6 to 5.0.
- Adds the redirections for the removed pages.

Closes scylladb/scylladb#15709
2023-10-18 15:12:26 +03:00
David Garcia
51466dcb23 docs: add latest option to aws_images extension
rollback only latest

Closes scylladb/scylladb#15651
2023-10-18 11:43:21 +03:00
Avi Kivity
dfffc022da Merge 'doc: doc: remove recommended image upgrade with OS from previous releases' from Anna Stuchlik
This commit removes the information about the recommended way of upgrading ScyllaDB images - by updating ScyllaDB and OS packages in one step. This upgrade procedure is not supported (it was implemented, but then reverted).

The scope of this commit:

- Remove the information from the 5.0-to.-5.1 upgrade guide and replace with general info.
- Remove the information from the 4.6-to.-5.1 upgrade guide and replace with general info.
- Remove the information from the 5.x.y-to.-5.x.z upgrade guide and replace with general info.
- Remove the following files as no longer necessary (they were only created to incorporate the (invalid) information about image upgrade into the upgrade guides.
     /upgrade/_common/upgrade-image-opensource.rst
    /upgrade/_common/upgrade-guide-v5-patch-ubuntu-and-debian-p1.rst
    /upgrade/_common/upgrade-guide-v5-patch-ubuntu-and-debian-p2.rst
    /upgrade/_common/upgrade-guide-v5-patch-ubuntu-and-debian.rst

This PR is a continuation of https://github.com/scylladb/scylladb/pull/15739.

**This PR must be backported to branch-5.2 and branch-5.1.**

Closes scylladb/scylladb#15740

* github.com:scylladb/scylladb:
  doc: remove wrong image upgrade info (5.x.y-to-5.x.y)
  doc: remove wrong image upgrade info (4.6-to-5.0)
  doc: remove wrong image upgrade info (5.0-to-5.1)
2023-10-17 18:29:36 +03:00
Anna Stuchlik
9d9fe57efa doc: remove recommended image upgrade with OS
This commit removes the information about
the recommended way of upgrading ScyllaDB
images - by updating ScyllaDB and OS packages
in one step.
This upgrade procedure is not supported
(it was implemented, but then reverted).

The scope of this commit:
- Remove the information from the 5.1-to.-5.2
  upgrade guide and replace with general info.
- Remove the information from the Image Upgrade
  page.
- Remove outdated info (about previous releases)
  from the Image Upgrade page.
- Rename "AMI Upgrade" as "Image Upgrade"
  in the page tree.

Refs: https://github.com/scylladb/scylladb/issues/15733

Closes scylladb/scylladb#15739
2023-10-17 18:28:52 +03:00
Anna Stuchlik
7718f76ecd doc: remove outdated info from Materialized Views
This commit removes outdated info from
the Materialized Views page:

- The reference to the outated blog post.
- Irrelevant information about versions.

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

Closes scylladb/scylladb#15742
2023-10-17 18:26:54 +03:00
Anna Stuchlik
dd1207cabb doc: remove wrong image upgrade info (5.x.y-to-5.x.y)
This commit removes the invalid information about
the recommended way of upgrading ScyllaDB
images (by updating ScyllaDB and OS packages
in one step) from the 5.x.y-to-5.x.y upgrade guide.
This upgrade procedure is not supported (it was
implemented, but then reverted).

Refs https://github.com/scylladb/scylladb/issues/15733

In addition, the following files are removed as no longer
necessary (they were only created to incorporate the (invalid)
information about image upgrade into the upgrade guides.

/upgrade/_common/upgrade-image-opensource.rst
/upgrade/_common/upgrade-guide-v5-patch-ubuntu-and-debian-p1.rst
/upgrade/_common/upgrade-guide-v5-patch-ubuntu-and-debian-p2.rst
/upgrade/_common/upgrade-guide-v5-patch-ubuntu-and-debian.rst
2023-10-17 16:48:51 +02:00
Anna Stuchlik
526d543b95 doc: remove wrong image upgrade info (4.6-to-5.0)
This commit removes the invalid information about
the recommended way of upgrading ScyllaDB
images (by updating ScyllaDB and OS packages
in one step) from the 4.6-to-5.0 upgrade guide.
This upgrade procedure is not supported (it was
implemented, but then reverted).

Refs https://github.com/scylladb/scylladb/issues/15733
2023-10-17 16:28:19 +02:00
Anna Stuchlik
9852130c5b doc: remove wrong image upgrade info (5.0-to-5.1)
This commit removes the invalid information about
the recommended way of upgrading ScyllaDB
images (by updating ScyllaDB and OS packages
in one step) from the 5.0-to-5.1 upgrade guide.
This upgrade procedure is not supported (it was
implemented, but then reverted).

Refs https://github.com/scylladb/scylladb/issues/15733
2023-10-17 16:04:16 +02:00
Anna Stuchlik
5d3584faa5 doc: add a note about Raft
This commit adds a note to specify
that the information on the Handling
Failures page only refers to clusters
with Raft enabled.
Also, the comment is included to remove
the note in future versions.
2023-10-06 16:04:43 +02:00
Anna Stuchlik
eb5a9c535a doc: add the quorum requirement to procedures
This commit adds a note to the docs for
cluster management that a quorum is
required to add, remove, or replace a node,
and update the schema.
2023-10-04 13:16:21 +02:00
Anna Stuchlik
bf25b5fe76 doc: add more failure info to Troubleshooting
This commit adds new pages with reference to
Handling Node Failures to Troubleshooting.
The pages are:
- Failure to Add, Remove, or Replace a Node
  (in the Cluster section)
- Failure to Update the Schema
  (in the Data Modeling section)
2023-10-04 12:44:26 +02:00
Anna Stuchlik
8c4f9379d5 doc: move Handling Failures to Troubleshooting
This commit moves the content of the Handling
Failures section on the Raft page to the new
Handling Node Failures page in the Troubleshooting
section.

Background:
When Raft was experimental, the Handling Failures
section was only applicable to clusters
where Raft was explicitly enabled.
Now that Raft is the default, the information
about handling failures is relevant to
all users.
2023-10-04 12:23:33 +02:00
David Garcia
1121a4df04 docs: add groups to reference docs
fix: comment

Closes scylladb/scylladb#15592
2023-10-04 11:42:36 +03:00
Botond Dénes
e0c8fee7db Merge 'doc: update the Cassandra compatibility information' from Anna Stuchlik
This PR updates the information on the ScyllaDB vs. Cassandra compatibility. It covers the information from https://github.com/scylladb/scylladb/issues/15563, but there could more more to fix.

@tzach @scylladb/scylla-maint Please review this PR and the page covering our compatibility with Cassandra and let me know if you see anything else that needs to be fixed.

I've added the updates with separate commits in case you want to backport some info (e.g. about AzureSnitch).

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

Closes scylladb/scylladb#15582

* github.com:scylladb/scylladb:
  doc: deprecate Thrift in Cassandra compatibility
  doc: remove row/key cache from Cassandra compatibility
  doc: add AzureSnitch to Cassandra compatibility
2023-10-03 13:31:27 +03:00
Botond Dénes
926da9eeb2 docs: nodetool compact: correct phrase about table arguments
The sentence says that if table args are provided compaction will run on
all tables. This is ambigous, so the sentence is rephrased to specify
that compaction will only run on the provided tables.

Closes scylladb/scylladb#15394
2023-10-03 10:31:03 +02:00
David Garcia
d543b96d18 docs: download iam csv files
docs: automate generation

docs: rm _data dir

fix: windows build

Closes scylladb/scylladb#15276
2023-10-02 12:28:56 +03:00
Kamil Braun
060f2de14e Merge 'Cluster features on raft: new procedure for joining group 0' from Piotr Dulikowski
This PR implements a new procedure for joining nodes to group 0, based on the description in the "Cluster features on Raft (v2)" document. This is a continuation of the previous PRs related to cluster features on raft (https://github.com/scylladb/scylladb/pull/14722, https://github.com/scylladb/scylladb/pull/14232), and the last piece necessary to replace cluster feature checks in gossip.

Current implementation relies on gossip shadow round to fetch the set of enabled features, determine whether the node supports all of the enabled features, and joins only if it is safe. As we are moving management of cluster features to group 0, we encounter a problem: the contents of group 0 itself may depend on features, hence it is not safe to join it unless we perform the feature check which depends on information in group 0. Hence, we have a dependency cycle.

In order to solve this problem, the algorithm for joining group 0 is modified, and verification of features and other parameters is offloaded to an existing node in group 0. Instead of directly asking the discovery leader to unconditionally add the node to the configuration with `GROUP0_MODIFY_CONFIG`, two different RPCs are added: `JOIN_NODE_REQUEST` and `JOIN_NODE_RESPONSE`. The main idea is as follows:

- The new node sends `JOIN_NODE_REQUEST` to the discovery leader. It sends a bunch of information describing the node, including supported cluster features. The discovery leader verifies some of the parameters and adds the node in the `none` state to `system.topology`.
- The topology coordinator picks up the request for the node to be joined (i.e. the node in `none` state), verifies its properties - including cluster features - and then:
	- If the node is accepted, the coordinator transitions it to `boostrap`/`replace` state and transitions the topology to `join_group0` state. The node is added to group 0 and then `JOIN_NODE_RESPONSE` is sent to it with information that the node was accepted.
	- Otherwise, the node is moved to `left` state, told by the coordinator via `JOIN_NODE_RESPONSE` that it was rejected and it shuts down.

The procedure is not retryable - if a node fails to do it from start to end and crashes in between, it will not be allowed to retry it with the same host_id - `JOIN_NODE_REQUEST` will fail. The data directory must be cleared before attempting to add it again (so that a new host_id is generated).

More details about the procedure and the RPC are described in `topology-over-raft.md`.

Fixes: #15152

Closes scylladb/scylladb#15196

* github.com:scylladb/scylladb:
  tests: mark test_blocked_bootstrap as skipped
  storage_service: do not check features in shadow round
  storage_service: remove raft_{boostrap,replace}
  topology_coordinator: relax the check in enable_features
  raft_group0: insert replaced node info before server setup
  storage_service: use join node rpc to join the cluster
  topology_coordinator: handle joining nodes
  topology_state_machine: add join_group0 state
  storage_service: add join node RPC handlers
  raft: expose current_leader in raft::server
  storage_service: extract wait_for_live_nodes_timeout constant
  raft_group0: abstract out node joining handshake
  storage_service: pass raft_topology_change_enabled on rpc init
  rpc: add new join handshake verbs
  docs: document the new join procedure
  topology_state_machine: add supported_features to replica_state
  storage_service: check destination host ID in raft verbs
  group_state_machine: take reference to raft address map
  raft_group0: expose joined_group0
2023-09-28 11:45:09 +02:00
Anna Stuchlik
f4d53978da doc: deprecate Thrift in Cassandra compatibility
This commit adds the information that Thrift is
deprecated (both in ScyllaDB and Cassandra) to
the Cassandra compatibility page.

Refs: https://github.com/scylladb/scylladb/issues/3811
2023-09-28 10:53:59 +02:00
Anna Stuchlik
d1f6832909 doc: remove row/key cache from Cassandra compatibility
This commit removes the misleading "row/key cache"
row from the Indexing and Caching table on
the Cassandra compatibility page.
2023-09-28 10:42:28 +02:00
Anna Stuchlik
9d4ad355c5 doc: add AzureSnitch to Cassandra compatibility
This commit adds AzureSnitch (together with a link
to the AzureSnitch description) to the Cassandra
compatibility page.
In addition, the Sniches table is fixed.
2023-09-28 10:37:14 +02:00
Botond Dénes
6d34f99202 Merge 'doc: replace the link to Cassandra compatibility information' from Anna Stuchlik
This PR replaces a link to a section of the ScyllaDB website with little information about ScyllaDB vs. Cassandra with a link to
a documentation section where Cassandra compatibility is covered in detail.

In addition, it removes outdated or irrelevant information about versions from the Cassandra compatibility page.
Now that the documentation is versioned, we shouldn't add such information to the content.

Fixes https://github.com/scylladb/scylla-enterprise/issues/3454

Closes scylladb/scylladb#15562

* github.com:scylladb/scylladb:
  doc: remove outdated/irrelevant version info
  doc: replace the link to Cassandra compatibility
2023-09-27 16:43:28 +03:00
Anna Stuchlik
c19959e226 doc: remove outdated/irrelevant version info
This commit removes outdated or irrelevant
information about versions from the Cassandra
compatibility page.
Now that the documentation is versioned, we
shouldn't add such information to the content.
2023-09-27 14:08:07 +02:00
Anna Stuchlik
61d2730e6d doc: fix section headings that appear on page tree
Some "Additional Information" section headings
appear on the page tree in the left sidebar
because of their incorrect underline.

This commit fixes the problem by replacing title
underline with section underline.

Closes scylladb/scylladb#15550
2023-09-27 13:58:51 +02:00
Anna Stuchlik
53d5635dc3 doc: replace the link to Cassandra compatibility
This commit replaces a link to a section of
the ScyllaDB website with little information
about ScyllaDB vs. Cassandra with a link to
a documentation section where Cassandra
compatibility is covered in detail.
2023-09-27 13:52:34 +02:00
Piotr Dulikowski
dd4579637b docs: document the new join procedure 2023-09-26 15:56:52 +02:00
Anna Stuchlik
4afe2b9d9f doc: add RBNO to glossary
This commit adds Repair Based Node Operations
to the ScyllaDB glossary.

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

Closes scylladb/scylladb#15522
2023-09-25 18:16:53 +03:00
Nadav Har'El
be942c1bce Merge 'treewide: rename s3 credentials related variable and option names' from Kefu Chai
in this series, we rename s3 credential related variable and option names so they are more consistent with AWS's official document. this should help with the maintainability.

Closes scylladb/scylladb#15529

* github.com:scylladb/scylladb:
  main.cc: rename aws option
  utils/s3/creds: rename aws_config member variables
2023-09-24 14:03:47 +03:00
Nadav Har'El
4e1e7568d8 Merge 'cql3:statements:describe_statement: include UDT/UDF/UDA in generic describe' from Michał Jadwiszczak
So far generic describe (`DESC <name>`) followed Cassandra implementation and it only described keyspace/table/view/index.

This commit adds UDT/UDF/UDA to generic describe.

Fixes: #14170

Closes scylladb/scylladb#14334

* github.com:scylladb/scylladb:
  docs:cql: add information  about generic describe
  cql-pytest:test_describe: add test for generic UDT/UDF/UDA desc
  cql3:statements:describe_statement: include UDT/UDF/UDA in generic describe
2023-09-24 13:03:04 +03:00
Kefu Chai
f3f31f0c65 main.cc: rename aws option
- s/aws_key/aws_access_key_id/
- s/aws_secret/aws_secret_access_key/
- s/aws_token/aws_session_token/

rename them to more popular names, these names are also used by
boto's API. this should improve the readability and consistency.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-09-23 14:31:32 +08:00
David Garcia
762ca61ad9 docs: format db reference as list
docs: limit reference max_depth

docs: change reference description order

Closes scylladb/scylladb#15205
2023-09-22 19:25:01 +03:00
Kefu Chai
2392b6a179 doc: start unordered list with an empty line
otherwise, sphinx would render them as a single block instead of
as an unordererd list.

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

Closes scylladb/scylladb#15504
2023-09-21 14:35:09 +03:00
Anna Stuchlik
5073609366 doc: improve TTL limitation info on Counters page
This commit improves the information about
counters not supporting TTL on the Counters
page.
2023-09-20 14:38:35 +02:00
Anna Stuchlik
715b1a80c7 doc: add a note that counters do not support TTL
This commit adds the information that counters
do not support data expiration wtih TTL, plus
the link to the TTL page.

Fixes https://github.com/scylladb/scylladb/issues/15479
2023-09-20 13:28:33 +02:00
Michael Huang
62a8a31be7 cdc: use chunked_vector for topology_description entries
Lists can grow very big. Let's use a chunked vector to prevent large contiguous
allocations.
Fixes: #15302.

Closes scylladb/scylladb#15428
2023-09-18 23:17:01 +03:00