Commit Graph

1201 Commits

Author SHA1 Message Date
Tzach Livyatan
a245c0bb98 Docs: Remove 3rd party Rust Driver from the driver list
The 3rd party Rust https://github.com/AlexPikalov/cdrs is not maintained, and we have a better internal alternative.

Closes scylladb/scylladb#15815
2024-03-06 10:34:43 +02:00
Botond Dénes
f164ed8bae Merge 'docs: fix the formattings in operating-scylla/nodetool-commands/info.rst' from Kefu Chai
couple minor formatting fixes.

Closes scylladb/scylladb#17518

* github.com:scylladb/scylladb:
  docs: remove leading space in table element
  docs: remove space in words
2024-03-06 10:33:21 +02:00
Tzach Livyatan
dafc83205b Docs: rename the select-from-mutation-fragments page name
Closes scylladb/scylladb#17456
2024-03-06 10:32:56 +02:00
David Garcia
d27d89fd34 docs: add collapsible for images
Introduces collapsible dropdowns for images reference docs. With this update, only the latest version's details will be displayed open by default. Information about previous versions will be hidden under dropdowns, which users can expand as needed. This enhancement aims to make pages shorter and easier to navigate.

Closes scylladb/scylladb#17492
2024-03-06 10:32:35 +02:00
David Garcia
847882b981 docs: add dynamic substitutions
This pull request adds dynamic substitutions for the following variables:

* `.. |CURRENT_VERSION| replace:: {current_version}`
* `.. |UBUNTU_SCYLLADB_LIST| replace:: scylla-{current_version}.list`
* `.. |CENTOS_SCYLLADB_REPO| replace:: scylla-{current_version}.repo`

As a result, it is no longer needed to update the "Installation on Linux" page manually after every new release.

Closes scylladb/scylladb#17544
2024-03-06 10:25:57 +02:00
comsky
48ad1b3d20 Update stats-output.rst
I read this doc to learn how to use nodetool commands, and I eventually found some typos in the docs. 😄

Closes scylladb/scylladb#15771
2024-03-06 10:25:06 +02:00
Avi Kivity
6383aa1e3c docs: maintainer.md: add exceptions to the don't-commit-your-own-code rules
Submodule and toolchain updates aren't original code and so are exempt
from the don't-commit-own-code rule.

Closes scylladb/scylladb#17534
2024-03-06 10:19:46 +02:00
Tzach Livyatan
04b483e286 Docs: fix RF type in the consistency-calculator
Closes scylladb/scylladb#17557
2024-03-06 10:18:29 +02:00
Tzach Livyatan
1edce9f4b6 Improve the frozen vs. non-frozen doc section, removing falses claimes
Closes scylladb/scylladb#17556
2024-03-06 10:16:33 +02:00
Anna Stuchlik
a024c2d692 doc: remove Membership changes vs LWT page
This commit removes the redundant
"Cluster membership changes and LWT consistency" page.

The page is no longer useful because the Raft algorithm
serializes topology operations, which results in
consistent topology updates.

Closes scylladb/scylladb#17523
2024-03-06 10:10:01 +02:00
Botond Dénes
6f374aa7d6 Merge 'doc: update procedures following the introduction of Raft-based topology' from Anna Stuchlik
This PR updates the procedures that changed as a result of introducing Raft-based topology.

Refs https://github.com/scylladb/scylladb/issues/15934
Applied the updates from https://docs.google.com/document/d/1BgZaYtKHs2GZKAxudBZv4G7uwaXcRt2jM6TK9dctRQg/edit

In addition, it adds a placeholder for the 5.4-to-6.0 upgrade guide, as a file included in that guide, Enable Raft topology, is referenced from other places in the docs.

Closes scylladb/scylladb#17500

* github.com:scylladb/scylladb:
  doc: replace "Raft Topology" with "Consistent Topology"
  doc: (Raft topology) update Removenode
  doc: (Raft topology) update Upscale a Cluster
  doc:(Raft topology)update Membership Change Failures
  doc: doc: (Raft topology) update Replace Dead Node
  doc: (Raft topology) update Remove a Node
  doc: (Raft topology) update Add a New DC
  doc: (Raft topology) update Add a New Node
  doc: (Raft topology) update Create Cluster (EC2)
  doc: (Raft topology) update Create Cluster (n-DC)
  doc: (Raft topology) update Create Cluster (1DC)
  doc: include the quorum requirement file
  doc: add the quorum requirement file
  doc: add placeholder for Enable Raft topology page
2024-03-06 10:05:47 +02:00
Kefu Chai
1519904fb9 docs: quote CQL keywords
this "misspelling" was identified by codespell. actually, it's not
quite a misspelling, as "UPDATE" and "INSERT" are keywords in CQL.
so we intended to emaphasis them, so to make codespell more useful,
and to preserve the intention, let's quote the keywords with backticks.

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

Closes scylladb/scylladb#17391
2024-03-06 09:57:07 +02:00
Anna Stuchlik
85cfc6059b doc: replace "Raft Topology" with "Consistent Topology"
This commit replaces "Raft-based Topology" with
"Consistent Topology Updates"
in the 5.4-to-6.0 upgrade guide and all the links to it.
2024-02-29 14:42:30 +01:00
Anna Stuchlik
9250e0d8e0 doc: (Raft topology) update Removenode
This commit updates the Nodetool Removenode page
with reference to the Raft-related topology.
Specifically, it removes outdated warnings, and
adds the information about banning removed and ignored
nodes from the cluster.
2024-02-29 14:40:19 +01:00
Anna Stuchlik
d59f38a6ad doc: (Raft topology) update Upscale a Cluster
This commit updates the Upscale a Cluster page
with reference to the Raft-related topology.
Specifically, it adds a note with the quorum requirement.
2024-02-29 14:40:11 +01:00
Anna Stuchlik
5bece99d4d doc:(Raft topology)update Membership Change Failures
This commit updates the Handling Cluster Membership Change Failures page
with reference to the Raft-related topology.
Specifically, it adds a note that the page only applies when
Raft-based topology is not enabled.
In addition, it removes the Raft-enabled option.
2024-02-29 14:38:45 +01:00
Anna Stuchlik
48dd7021a7 doc: doc: (Raft topology) update Replace Dead Node
This commit updates the Replace a Dead Node page
with reference to the Raft-related topology.
Specifically, it removes the previous pre-Raft limitation
to replace the nodes one by one and the requirement to ensure
that the the replaced node will never come back to the cluster
In addition, a warning is added to indicate the limitations
when Raft-base topology is not enabled upon upgrade from 5.4.
2024-02-29 14:38:45 +01:00
Anna Stuchlik
a390ce9e6b doc: (Raft topology) update Remove a Node
This commit updates the Remove a Node page
with reference to the Raft-related topology.
Specifically, it removes the previous pre-Raft limitation
to remove the nodes one by one and the requirement to ensure
that the the removed node will never come back to the cluster
In addition, a warning is added to indicate the limitations
when Raft-base topology is not enabled upon upgrade from 5.4.
2024-02-29 14:38:45 +01:00
Anna Stuchlik
59f890c0ef doc: (Raft topology) update Add a New DC
This commit updates the Add a New DC) page
with reference to the Raft-related topology.
Specifically, it removes the previous pre-Raft limitation
to bootstrap the nodes one by one.
In addition, a warning is added to indicate the limitations
when Raft-base topology is not enabled upon upgrade from 5.4.
2024-02-29 14:38:36 +01:00
Anna Stuchlik
5a3a720b82 doc: (Raft topology) update Add a New Node
This commit updates the Add a New Node (Out Scale) page
with reference to the Raft-related topology.
Specifically, it removes the previous pre-Raft limitation
to bootstrap the nodes one by one.
In addition, a warning is added to indicate the limitations
when Raft-base topology is not enabled upon upgrade from 5.4.
2024-02-29 14:35:03 +01:00
Anna Stuchlik
631fcebe12 doc: (Raft topology) update Create Cluster (EC2)
This commit updates the Create Cluster (EC2) page
with reference to the Raft-related topology.
Specifically, it removes the previous pre-Raft limitation
to bootstrap the nodes one by one.

In addition, it updates the concept of the seed node.
2024-02-29 14:30:00 +01:00
Anna Stuchlik
b6b610c16e doc: (Raft topology) update Create Cluster (n-DC)
This commit updates the Create Cluster (Multi DC) page
with reference to the Raft-related topology.
Specifically, it removes the previous pre-Raft limitation
to bootstrap the nodes one by one.

In addition, it updates the concept of the seed node.
2024-02-29 14:30:00 +01:00
Anna Stuchlik
cbf054f2b9 doc: (Raft topology) update Create Cluster (1DC)
This commit updates the Create Cluster (Single DC) page
with reference to the Raft-related topology.
Specifically, it removes the previous pre-Raft limitation
to bootstrap the nodes one by one.

In addition, it updates the concept of the seed node.
2024-02-29 14:30:00 +01:00
Anna Stuchlik
57e0f15c7c doc: include the quorum requirement file
Include the file to avoid repetition.
2024-02-29 14:29:39 +01:00
Anna Stuchlik
b02f8a0759 doc: add the quorum requirement file 2024-02-28 13:21:11 +01:00
Kefu Chai
cd228f4d6c docs: remove leading space in table element
otherwise sphinx would consider "Within which Data Center the"
as the "term" part of an entry in a definition list, and
"node is located" as the definition part of this entry.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2024-02-26 13:03:26 +08:00
Kefu Chai
d12655ff46 docs: remove space in words
* remove space in "Exceptions", otherwise it renders like "Except"
  "tions", which does not look right.
* remove space in "applicable".
* remove space in "Transport".

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2024-02-26 13:03:26 +08:00
Anna Stuchlik
14a4fa16a8 doc: add placeholder for Enable Raft topology page
This commit adds a placeholder for the Enable Raft-based Topology page
in the 5.4-to-6.0 upgrade guide.
This page needs to be referenced from other pages in the docs.
2024-02-22 16:02:06 +01:00
Kamil Braun
3ee56e1936 Merge 'raft topology: enable writes to previous CDC generations' from Patryk Jędrzejczak
When we create a CDC generation and ring-delay is non-zero, the
timestamp of the new generation is in the future. Hence, we can
have multiple generations that can be written to. However, if we
add a new node to the cluster with the Raft-based topology, it
receives only the last committed generation. So, this node will
be rejecting writes considered correct by the other nodes until
the last committed generation starts operating.

In scylladb/scylladb#17134, we have allowed sending writes to the
previous CDC generations. So, the situation became even more
complicated. This PR adjusts the Raft-based topology
to ensure all required generations are loaded into memory and their
data isn't cleared too early.

To load all required generations into memory, we replace
`current_cdc_generation_{uuid, timestamp}` with the set containing
IDs of all committed generations - `committed_cdc_generations`.
To ensure this set doesn't grow endlessly, we remove an entry from
this set together with the data in CDC_GENERATIONS_V3.

Currently, we may clear a CDC generation's data from
CDC_GENERATIONS_V3 if it is not the last committed generation
and it is at least 24 hours old (according to the topology
coordinator's clock). However, after allowing writes to the
previous CDC generations, this condition became incorrect. We
might clear data of a generation that could still be written to.
The new solution introduced in this PR is to clear data of the
generations that finished operating more than 24 hours ago.

Apart from the changes mentioned above, this PR hardens
`test_cdc_generation_clearing.py`.

Fixes scylladb/scylladb#16916
Fixes scylladb/scylladb#17184
Fixes scylladb/scylladb#17288

Closes scylladb/scylladb#17374

* github.com:scylladb/scylladb:
  test: harden test_cdc_generation_clearing
  test: test clean-up of committed_cdc_generations
  raft topology: clean committed_cdc_generations
  raft topology: clean only obsolete CDC generations' data
  storage_service: topology_state_load: load all committed CDC generations
  system_keyspace: load_topology_state: fix indentation
  raft topology: store committed CDC generations' IDs in the topology
2024-02-22 11:41:25 +01:00
Anna Stuchlik
37237407f6 doc: remove info about outdated versions
This PR removes information about outdated versions, including disclaimers and information when a given feature was added.
Now that the documentation is versioned, information about outdated versions is unnecessary (and makes the docs harder to read).

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

Closes scylladb/scylladb#17430
2024-02-20 19:32:13 +02:00
Avi Kivity
93af3dd69b Merge 'Maintenance socket: set filesystem permissions to 660' from Mikołaj Grzebieluch
Set filesystem permissions for the maintenance socket to 660 (previously it was 755) to allow a scyllaadm's group to connect.
Split the logic of creating sockets into two separate functions, one for each case: when it is a regular cql controller or used by maintenance_socket.

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

Closes scylladb/scylladb#17113

* github.com:scylladb/scylladb:
  maintenance_socket: add option to set owning group
  transport/controller: get rid of magic number for socket path's maximal length
  transport/controller: set unix_domain_socket_permissions for maintenance_socket
  transport/controller: pass unix_domain_socket_permissions to generic_server::listen
  transport/controller: split configuring sockets into separate functions
2024-02-20 15:09:54 +02:00
Patryk Jędrzejczak
e145e758eb raft topology: store committed CDC generations' IDs in the topology
When we create a CDC generation and ring-delay is non-zero, the
timestamp of the new generation is in the future. Hence, we can
have multiple generations that can be written to. However, if we
add a new node to the cluster with the Raft-based topology, it
receives only the last committed generation. So, this node will
be rejecting writes considered correct by the other nodes until
the last committed generation starts operating.

In scylladb/scylladb#17134, we have allowed sending writes to the
previous CDC generations. So, the situation became even more
complicated. We need to adjust the Raft-based topology to ensure
all required generations are loaded into memory and their data
isn't cleared too early.

This patch is the first step of the adjustment. We replace
`current_cdc_generation_{uuid, timestamp}` with the set containing
IDs of all committed generations - `committed_cdc_generations`.
This set is sorted by timestamps, just like
`unpublished_cdc_generations`.

This patch is mostly refactoring. The last generation in
`committed_cdc_generations` is the equivalent of the previous
`current_cdc_generation_{uuid, timestamp}`. The other generations
are irrelevant for now. They will be used in the following patches.

After introducing `committed_cdc_generations`, a newly committed
generation is also unpublished (it was current and unpublished
before the patch). We introduce `add_new_committed_cdc_generation`,
which updates both sets of generations so that we don't have to
call `add_committed_cdc_generation` and
`add_unpublished_cdc_generation` together. It's easy to forget
that both of them are necessary. Before this patch, there was
no call to `add_unpublished_cdc_generation` in
`topology_coordinator::build_coordinator_state`. It was a bug
reported in scylladb/scylladb#17288. This patch fixes it.

This patch also removes "the current generation" notion from the
Raft-based topology. For the Raft-based topology, the current
generation was the last committed generation. However, for the
`cdc::metadata`, it was the generation operating now. These two
generations could be different, which was confusing. For the
`cdc::metadata`, the current generation is relevant as it is
handled differently, but for the Raft-based topology, it isn't.
Therefore, we change only the Raft-based topology. The generation
called "current" is called "the last committed" from now.
2024-02-20 12:35:16 +01:00
Anna Stuchlik
69ead0142d doc: remove outdated/invalid entries from FAQ
This commit removes outdated or invalid
FAQ entries specified in https://github.com/scylladb/scylladb/issues/16631

In addition, the questions about Cassandra compatibility
are removed as they are already answered on the forum:
https://forum.scylladb.com/t/which-cassandra-version-is-scylladb-it-compatible-with/84

Also, the incorrect entry about the cache has been removed
and the correct answer is added to the forum.
Fixes https://github.com/scylladb/scylladb/issues/17003

The question about troubleshooting performance issues
has also been removed, as it's already covered on the Forum.

Also, it removes the Apache copyright entry,
which should not be added to the FAQ page.

Closes scylladb/scylladb#17200
2024-02-20 08:43:58 +02:00
Anna Stuchlik
4f8f183736 doc: remove SSTable2json from the docs
This commit removes the SSTable2json documentation,
as well as the links to the removed page.

In addition, it adds a redirection for that page
to prevent 404.

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

Closes scylladb/scylladb#17340
2024-02-20 08:43:27 +02:00
Mikołaj Grzebieluch
182cfebe40 maintenance_socket: add option to set owning group
Option `maintenance-socket-group` sets the owning group of the maintenance socket.
If not set, the group will be the same as the user running the scylla node.
2024-02-19 10:21:00 +01:00
Anna Stuchlik
ef1468d5ec doc: remove Enterprise OS support from Open Source
With this commit:
- The information about ScyllaDB Enterprise OS support
  is removed from the Open Source documentation.
- The information about ScyllaDB Open Source OS support
  is moved to the os-support-info file in the _common folder.
- The os-support-info file is included in the os-support page
  using the scylladb_include_flag directive.

This update employs the solution we added with
https://github.com/scylladb/scylladb/pull/16753.
It allows to dynamically add content to a page
depending on the opensource/enterprise flag.

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

Closes scylladb/scylladb#17310
2024-02-18 22:09:06 +02:00
Avi Kivity
9bb4482ad0 Merge 'cdc: metadata: allow sending writes to the previous generations' from Patryk Jędrzejczak
Before this PR, writes to the previous CDC generations would
always be rejected. After this PR, they will be accepted if the
write's timestamp is greater than `now - generation_leeway`.

This change was proposed around 3 years ago. The motivation was
to improve user experience. If a client generates timestamps by
itself and its clock is desynchronized with the clock of the node
the client is connected to, there could be a period during
generation switching when writes fail. We didn't consider this
problem critical because the client could simply retry a failed
write with a higher timestamp. Eventually, it would succeed. This
approach is safe because these failed writes cannot have any side
effects. However, it can be inconvenient. Writing to previous
generations was proposed to improve it.

The idea was rejected 3 years ago. Recently, it turned out that
there is a case when the client cannot retry a write with the
increased timestamp. It happens when a table uses CDC and LWT,
which makes timestamps permanent. Once Paxos commits an entry
with a given timestamp, Scylla will keep trying to apply that entry
until it succeeds, with the same timestamp. Applying the entry
involves writing to the CDC log table. If it fails, we get stuck.
It's a major bug with an unknown perfect solution.

Allowing writes to previous generations for `generation_leeway` is
a probabilistic fix that should solve the problem in practice.

Apart from this change, this PR adds tests for it and updates
the documentation.

This PR is sufficient to enable writes to the previous generations
only in the gossiper-based topology. The Raft-based topology
needs some adjustments in loading and cleaning CDC generations.
These changes won't interfere with the changes introduced in this
PR, so they are left for a follow-up.

Fixes scylladb/scylladb#7251
Fixes scylladb/scylladb#15260

Closes scylladb/scylladb#17134

* github.com:scylladb/scylladb:
  docs: using-scylla: cdc: remove info about failing writes to old generations
  docs: dev: cdc: document writing to previous CDC generations
  test: add test_writes_to_previous_cdc_generations
  cdc: generation: allow increasing generation_leeway through error injection
  cdc: metadata: allow sending writes to the previous generations
2024-02-18 19:21:53 +02:00
Anna Stuchlik
e132ffdb60 doc: add missing redirections
This commit adds the missing redirections
to the pages whose source files were
previously stored in the install-scylla folder
and were moved to another location.

Closes scylladb/scylladb#17367
2024-02-16 14:09:26 +02:00
Anna Stuchlik
710d182654 doc: update Handling Node Failures to add topology
This commit updates the Handling Node Failures page
to specify that the quorum requirement refers to both
schema and topology updates.

Closes scylladb/scylladb#17321
2024-02-14 17:15:13 +01:00
Tzach Livyatan
902733cd7e Docs: rename doc page from REST tp Admin REST API
Closes scylladb/scylladb#17334
2024-02-14 13:49:54 +02:00
Anna Stuchlik
02cd84adbf doc: remove OSS-vs-Ent Matrix from OSS docs
This commit removes the Open Source vs. Enterprise matrix
from the Open Source documentation.

In addition, a redirection is added to prevent 404 in the OSS docs,
and to the removed page is replaced with a link to the same page
in the Enterprise docs.

This commit must be reverted enterprise.git, because
we want to keep the Matrix in the Enterprise docs.

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

Closes scylladb/scylladb#17295
2024-02-13 17:17:22 +02:00
Yaniv Kaul
d2ef100b60 Typos: more/less then -> more/less than
Fix repated typos in comments: more then -> more than, less then -> less than

Signed-off-by: Yaniv Kaul <yaniv.kaul@scylladb.com>

Closes scylladb/scylladb#17303
2024-02-13 17:16:15 +02:00
David Garcia
f45d9d33f1 docs: remove liveness asterisks
Instead of adding an asterisk next to "liveness" linking to the glossary, we will temporarily replace them with a hyperlink pending the implementation of tooltip functionality.

Closes scylladb/scylladb#17244
2024-02-12 20:37:52 +02:00
Patryk Jędrzejczak
38e1ddb8bc docs: using-scylla: cdc: remove info about failing writes to old generations
In one of the previous patches, we have allowed writing to the
previous CDC generations for `generation_leeway`. This change has
made the information about failing writes to the previous
generation and the "rejecting writes to an old generation" example
obsolete so we remove them.

After the change, a write can only fail if its timestamp is distant
from the node's timestamp. We add the information about it.
2024-02-12 10:14:00 +01:00
Patryk Jędrzejczak
9b923f8b81 docs: dev: cdc: document writing to previous CDC generations
We update the dev documentation after allowing writes to the
previous CDC generations in one of the previous patches.
2024-02-12 10:14:00 +01:00
Kamil Braun
e9e24f47ec Merge 'raft topology: implement upgrade and recovery procedure' from Piotr Dulikowski
This PR implements a procedure that upgrades existing clusters to use
raft-based topology operations. The procedure does not start
automatically, it must be triggered manually by the administrator after
making sure that no topology operations are currently running.

Upgrade is triggered by sending `POST
/storage_service/raft_topology/upgrade` request. This causes the
topology coordinator to start who drives the rest of the process: it
builds the `system.topology` state based on information observed in
gossip and tells all nodes to switch to raft mode. Then, topology
coordinator runs normally.

Upgrade progress is tracked in a new static column `upgrade_state` in
`system.topology`.

The procedure also serves as an extension to the current recovery
procedure on raft. The current recovery procedure requires restarting
nodes in a special mode which disables raft, perform `nodetool
removenode` on the dead nodes, clean up some state on the nodes and
restart them so that they automatically rebuild the group 0. Raft
topology fits into existing procedure by falling back to legacy topology
operations after disabling raft. After rebuilding the group 0, upgrade
needs to be triggered again.

Because upgrade is manual and it might not be convenient for
administrators to run it right after upgrading the cluster, we allow the
cluster to operate in legacy topology operations mode until upgrade,
which includes allowing new nodes to join. In order to allow it, nodes
now ask the cluster about the mode they should use to join before
proceeding by using a new `JOIN_NODE_QUERY` RPC.

The procedure is explained in more detail in `topology-over-raft.md`.

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

Closes scylladb/scylladb#17077

* github.com:scylladb/scylladb:
  test/topology_custom: upgrade/recovery tests for topology on raft
  cdc/generation_service: in legacy mode, fall back to raft tables
  system_keyspace: add read_cdc_generation_opt
  cdc/generation_service: turn off gossip notifications in raft topo mode
  cql_test_env: move raft_topology_change_enabled var earlier
  group0_state_machine: pull snapshot after raft topology feature enabled
  storage_service: disable persistent feature enabler on upgrade
  storage_service: replicate raft features to system.peers
  storage_service: gossip tokens and cdc generation in raft topology mode
  API: add api for triggering and monitoring topology-on-raft upgrade
  storage_service: infer which topology operations to use on startup
  storage_service: set the topology kind value based on group 0 state
  raft_group0: expose link to the upgrade doc in the header
  feature_service: fall back to checking legacy features on startup
  storage_service: add fiber for tracking the topology upgrade progress
  gms: feature_service: add SUPPORTS_CONSISTENT_TOPOLOGY_CHANGES
  topology_coordinator: implement core upgrade logic
  topology_coordinator: extract top-level error handling logic
  storage_service: initialize discovery leader's state earlier
  topology_coordinator: allow for custom sharding info in prepare_and_broadcast_cdc_generation_data
  topology_coordinator: allow for custom sharding info in prepare_new_cdc_generation_data
  topology_coordinator: remove outdated fixme in prepare_new_cdc_generation_data
  topology_state_machine: introduce upgrade_state
  storage_service: disallow topology ops when upgrade is in progress
  raft_group0_client: add in_recovery method
  storage_service: introduce join_node_query verb
  raft_group0: make discover_group0 public
  raft_group0: filter current node's IP in discover_group0
  raft_group0: remove my_id arg from discover_group0
  storage_service: make _raft_topology_change_enabled more advanced
  docs: document raft topology upgrade and recovery
2024-02-09 11:54:53 +01:00
Kefu Chai
64c829da70 docs: reformat the state machine diagram using mermaid
for better readability

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

Closes scylladb/scylladb#16620
2024-02-08 19:43:53 +02:00
Piotr Dulikowski
1104f8b00f docs: document raft topology upgrade and recovery 2024-02-07 09:54:54 +01:00
David Garcia
f14edf3543 docs: correct image sorting order for reference docs
This commit displays images in reference docs in the correct order. Prior to this fix, the images were listed as 4.0.0, 4.0.1, and 4.0.2, but they should be sorted in reverse order (4.0.2, 4.0.1, 4.0.0).

The changes made in this PR resolve the issue introduced in https://github.com/scylladb/scylladb/pull/16942 when common functions for Azure and GCP were extracted into a separate file without reversing the list as defined in the original extension: https://github.com/scylladb/scylladb/pull/16942/files#diff-b8f6253ea8fdcca681deb556ca61cd1f3feb3b7aeb7e856b145ef9b685aad460L185

Closes scylladb/scylladb#17185
2024-02-06 16:24:22 +02:00
David Garcia
ad1c9ae452 docs: fix logging in images extensions
Adds a missing logging import in the file scylladb_common_images extension, which prevents the enterprise build from building.

Additionally, it standardizes logging handling across the extensions and removes "ami" references in Azure and GCP extensions.

Closes scylladb/scylladb#17137
2024-02-06 13:00:37 +02:00