Commit Graph

918 Commits

Author SHA1 Message Date
Botond Dénes
8d1dfbf0d9 Merge 'Fixing broken links to ScyllaDB University lessons, Scylla University…' from Guy Shtub
… -> ScyllaDB University

Closes #14385

* github.com:scylladb/scylladb:
  Update docs/operating-scylla/procedures/backup-restore/index.rst
  Fixing broken links to ScyllaDB University lessons, Scylla University -> ScyllaDB University
2023-06-27 13:05:46 +03:00
Guy Shtub
89bb690098 Update docs/operating-scylla/procedures/backup-restore/index.rst
Co-authored-by: Anna Stuchlik <37244380+annastuchlik@users.noreply.github.com>
2023-06-27 12:22:59 +03:00
Calle Wilund
00e5aec7ec docs: Add documentation of certificate auth + auth_superuser_name
Not great docs. But a start.
2023-06-27 07:38:50 +00:00
Anna Stuchlik
74fc69c825 doc: add Ubuntu 22 to 2021.1 OS support
Fixes https://github.com/scylladb/scylla-enterprise/issues/3036

This commit adds support for Ubuntu 22.04 to the list
of OSes supported by ScyllaDB Enterprise 2021.1.

This commit fixex a bug and must be backported to
branch-5.3 and branch-5.2.

Closes #14372
2023-06-26 10:41:43 +03:00
Guy Shtub
fa9df1b216 Fixing broken links to ScyllaDB University lessons, Scylla University -> ScyllaDB University 2023-06-25 09:09:49 +03:00
Anna Stuchlik
950ef5195e Merge branch 'master' into anna-install-cloud-v2 2023-06-22 10:03:29 +02:00
Anna Stuchlik
c65abb06cd doc: udpate the OSS docs landing page
Fixes https://github.com/scylladb/scylladb/issues/14333

This commit replaces the documentation landing page with
the Open Source-only documentation landing page.

This change is required as now there is a separate landing
page for the ScyllaDB documentation, so the page is duplicated,
creating bad user experience.

Closes #14343
2023-06-21 17:06:48 +03:00
Nadav Har'El
8a9de08510 sstable: limit compression chunk size to 128 KB
The chunk size used in sstable compression can be set when creating a
table, using the "chunk_length_in_kb" parameter. It can be any power-of-two
multiple of 1KB. Very large compression chunks are not useful - they
offer diminishing returns on compression ratio, and require very large
memory buffers and reading a very large amount of disk data just to
read a small row. In fact, small chunks are recommended - Scylla
defaults to 4 KB chunks, and Cassandra lowered their default from 64 KB
(in Cassandra 3) to 16 KB (in Cassandra 4).

Therefore, allowing arbitrarily large chunk sizes is just asking for
trouble. Today, a user can ask for a 1 GB chunk size, and crash or hang
Scylla when it runs out of memory. So in this patch we add a hard limit
of 128 KB for the chunk size - anything larger is refused.

Fixes #9933

Signed-off-by: Nadav Har'El <nyh@scylladb.com>

Closes #14267
2023-06-21 14:26:02 +03:00
Tomasz Grabiec
87b4606cd6 Merge 'atomic_cell: compare value last' from Benny Halevy
Currently, when two cells have the same write timestamp
and both are alive or expiring, we compare their value first,
before checking if either of them is expiring
and if both are expiring, comparing their expiration time
and ttl value to determine which of them will expire
later or was written later.

This was based on an early version of Cassandra.
However, the Cassandra implementation rightfully changed in
e225c88a65 ([CASSANDRA-14592](https://issues.apache.org/jira/browse/CASSANDRA-14592)),
where the cell expiration is considered before the cell value.

To summarize, the motivation for this change is three fold:
1. Cassandra compatibility
2. Prevent an edge case where a null value is returned by select query when an expired cell has a larger value than a cell with later expiration.
3. A generalization of the above: value-based reconciliation may cause select query to return a mixture of upserts, if multiple upserts use the same timeastamp but have different expiration times.  If the cell value is considered before expiration, the select result may contain cells from different inserts, while reconciling based the expiration times will choose cells consistently from either upserts, as all cells in the respective upsert will carry the same expiration time.

Fixes #14182

Also, this series:
- updates dml documentation
- updates internal documentation
- updates and adds unit tests and cql pytest reproducing #14182

Closes #14183

* github.com:scylladb/scylladb:
  docs: dml: add update ordering section
  cql-pytest: test_using_timestamp: add tests for rewrites using same timestamp
  mutation_partition: compare_row_marker_for_merge: consider ttl in case expiry is the same
  atomic_cell: compare_atomic_cell_for_merge: update and add documentation
  compare_atomic_cell_for_merge: compare value last for live cells
  mutation_test: test_cell_ordering: improve debuggability
2023-06-20 12:11:48 +02:00
Benny Halevy
26ff8f7bf7 docs: dml: add update ordering section
and add docs/dev/timestamp-conflict-resolution.md
to document the details of the conflict resolution algorithm.

Refs scylladb/scylladb#14063

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2023-06-20 11:55:54 +03:00
Botond Dénes
63b395fe70 Merge 'docs: changes subdomain to opensource.docs.scylladb.com' from David Garcia
docs.scylladb.com will point to https://github.com/scylladb/scylladb-docs-homepage

This pull request changes the domain of this repo to opensource.docs.scylladb.com and moves all the redirects to https://github.com/scylladb/scylladb-docs-homepage/blob/main/docs/_utils/redirects.yaml

Closes #14221

* github.com:scylladb/scylladb:
  Update conf.py
  docs: separate homepage
2023-06-20 10:00:40 +03:00
David Garcia
43bb19ce62 Merge branch 'master' into separate-homepage 2023-06-19 14:02:32 +01:00
David Garcia
73806de8b0 Update conf.py 2023-06-19 14:01:04 +01:00
Anna Stuchlik
5dbf169068 doc: remove the rpm-info file (What is in each RPM) from the installation section 2023-06-19 12:37:57 +02:00
Anna Stuchlik
77ebc18730 Merge branch 'master' into anna-install-cloud-v2 2023-06-19 12:09:31 +02:00
Anna Stuchlik
d0bae532bd doc: move cloud deployment instruction to docs -v2
This is V2 of https://github.com/scylladb/scylladb/pull/14108

This commit moves the installation instruction for the cloud from the [website ](https://www.scylladb.com/download/)to the docs.

The scope:

* Added new files with instructions for AWS, GCP, and Azure.
* Added the new files to the index.
* Updating the "Install ScyllaDB" page to create the "Cloud Deployment" section.
* Adding new bookmarks in other files to create stable links, for example, ".. _networking-ports:"
* Moving common files to the new "installation-common" directory. This step is required to exclude the open source-only files
in the Enterprise repository.

In addition:
- The Configuration Reference file was moved out of the installation
  section (it's not about installation at all)
- The links to creating a cluster were removed from the installation
page (as not related).

Related: https://github.com/scylladb/scylla-docs/issues/4091
2023-06-19 12:06:28 +02:00
Botond Dénes
e92b71c451 docs/operating-scylla/admin-tools: scylla-sstable: document scrub operation 2023-06-16 06:20:14 -04:00
Botond Dénes
aaac455ebe Merge 'doc: add OS support for ScyllaDB 5.3' from Anna Stuchlik
Fixes https://github.com/scylladb/scylladb/issues/14084

This commit adds OS support for version 5.3 to the table on the OS Support by Linux Distributions and Version page.

Closes #14228

* github.com:scylladb/scylladb:
  doc: remove OS support for outdated ScyllaDB versions 2.x and 3.x
  doc: add OS support for ScyllaDB 5.3
2023-06-14 11:42:48 +03:00
Anna Stuchlik
bbd7c7db72 doc: remove OS support for outdated ScyllaDB versions 2.x and 3.x 2023-06-14 09:46:23 +02:00
David Garcia
7c22877613 docs: separate homepage
Update index.rst

Update index.rst

Update index.rst
2023-06-13 15:16:24 +01:00
Anna Stuchlik
152e90d4fa doc: add OS support for ScyllaDB 5.3
Fixes https://github.com/scylladb/scylladb/issues/14084

This commit adds OS support for version 5.3 to the table
on the OS Support by Linux Distributions and Version page.
2023-06-13 16:03:48 +02:00
Anna Stuchlik
9d1f62fdbf doc: remove warnings against reverse queries
Refs: https://github.com/scylladb/scylla-doc-issues/issues/831

This commit removes the troubleshooting page about reverse
queries, as well as a warning on the Tips page against using
reverse queries.

Closes #14190
2023-06-13 13:19:39 +03:00
David Garcia
b4b13f43dd docs: edit landing page
docs: add icons

docs: update icons

Closes #13559
2023-06-13 12:14:01 +03:00
Anna Stuchlik
b7022cd74e doc: remove support for Ubuntu 18
Fixes https://github.com/scylladb/scylladb/issues/14097

This commit removes support for Ubuntu 18 from
platform support for ScyllaDB Enterprise 2023.1.

The update is in sync with the change made for
ScyllaDB 5.2.

This commit must be backported to branch-5.2 and
branch-5.3.

Closes #14118
2023-06-12 13:27:07 +03:00
Avi Kivity
5acb137c2e Merge 'docs/dev/reader-concurrency-semaphore.md: add section about operations' from Botond Dénes
Containing two tables, describing all the possible operations seen in user, system and streaming semaphore diagnostics dumps.

Closes #14171

* github.com:scylladb/scylladb:
  docs/dev/reader-concurrency-semaphore.md: add section about operations
  docs/dev/reader-concurrency-semaphore.md: switch to # headers markings
  reader_concurrency_semaphore: s/description/operation/ in diagnostics dumps
2023-06-07 22:53:18 +03:00
Piotr Sarna
9064d3c6ec docs: mention the new synchronous_updates option in mv docs
This commit adds a table (with 1 row) explaining Scylla-specific
materialized view options - which now consists just of
synchronous_updates.

Tested manually by running `make preview` from docs/ directory.

Closes #11150
2023-06-07 15:06:06 +03:00
Botond Dénes
0c632b6e3d docs/dev/reader-concurrency-semaphore.md: add section about operations
Containing two tables, describing all the possible operations seen in
user, system and streaming semaphore diagnostics dumps.
2023-06-07 14:22:52 +03:00
Botond Dénes
0067fa0a09 docs/dev/reader-concurrency-semaphore.md: switch to # headers markings
As they allow for more levels, than the current `---` and `===` ones.
2023-06-07 14:22:10 +03:00
Botond Dénes
c4faa05888 reader_concurrency_semaphore: s/description/operation/ in diagnostics dumps
"description" is not the respective column contains, so fix the header.
2023-06-07 14:21:48 +03:00
Marcin Maliszkiewicz
8b06684a8c docs: dev: document pytest run convenience script
Closes #13995
2023-06-07 12:37:52 +03:00
Nadav Har'El
5984db047d Merge 'mv: forbid IS NOT NULL on columns outside the primary key' from Jan Ciołek
statement_restrictions: forbid IS NOT NULL on columns outside the primary key

IS NOT NULL is currently allowed only when creating materialized views.
It's used to convey that the view will not include any rows that would make the view's primary key columns NULL.

Generally materialized views allow to place restrictions on the primary key columns, but restrictions on the regular columns are forbidden. The exception was IS NOT NULL - it was allowed to write regular_col IS NOT NULL. The problem is that this restriction isn't respected, it's just silently ignored (see #10365).

Supporting IS NOT NULL on regular columns seems to be as hard as supporting any other restrictions on regular columns.
It would be a big effort, and there are some reasons why we don't support them.

For now let's forbid such restrictions, it's better to fail than be wrong silently.

Throwing a hard error would be a breaking change.
To avoid breaking existing code the reaction to an invalid IS NOT NULL restrictions is controlled by the `strict_is_not_null_in_views` flag.

This flag can have the following values:
* `true` - strict checking. Having an `IS NOT NULL` restriction on a column that doesn't belong to the view's primary key causes an error to be thrown.
* `warn` - allow invalid `IS NOT NULL` restrictions, but throw a warning. The invalid restrictions are silently ignored.
* `false` - allow invalid `IS NOT NULL` restricitons, without any warnings or errors. The invalid restrictions are silently ignored.

The default values for this flag are `warn` in `db::config` and `true` in scylla.yaml.

This way the existing clusters will have `warn` by default, so they'll get a warning if they try to create such an invalid view.

New clusters with fresh scylla.yaml will have the flag set to `true`, as scylla.yaml overwrites the default value in `db::config`.
New clusters will throw a hard error for invalid views, but in older existing clusters it will just be a warning.
This way we can maintain backwards compatibility, but still move forward by rejecting invalid queries on new clusters.

Fixes: #10365

Closes #13013

* github.com:scylladb/scylladb:
  boost/restriction_test: test the strict_is_not_null_in_views flag
  docs/cql/mv: columns outside of view's primary key can't be restricted
  cql-pytest: enable test_is_not_null_forbidden_in_filter
  statement_restrictions: forbid IS NOT NULL on columns outside the primary key
  schema_altering_statement: return warnings from prepare_schema_mutations()
  db/config: add strict_is_not_null_in_views config option
  statement_restrictions: add get_not_null_columns()
  test: remove invalid IS NOT NULL restrictions from tests
2023-06-07 12:12:19 +03:00
Jan Ciolek
83932f9f37 docs/cql/mv: columns outside of view's primary key can't be restricted
We used to allow IS NOT NULL restrictions on columns
that were not part of the materialized view's primary key.
It runs out that such restrictions are silently ignored (see #10365),
so we no longer allow such restrictions.

Update the documentation to reflect that change.

Also there was a mistake in the documentation.
It said that restrictions are allowed on all columns
of the base table's primary key, but they are actually
allowed on all columns of the view table's primary key,
not the base tables.
This change also fixes that mistake.

Signed-off-by: Jan Ciolek <jan.ciolek@scylladb.com>
2023-06-07 02:30:11 +02:00
David Garcia
285066e8eb docs: update theme 1.5
Closes #14119
2023-06-06 08:36:56 +03:00
Tzach Livyatan
e655060429 Remove Ubuntu 18.04 support from 5.2
Ubuntu [18.04 will be soon out of standard support](https://ubuntu.com/blog/18-04-end-of-standard-support), and can be removed from 5.2 supported list
https://github.com/scylladb/scylla-pkg/issues/3346

Closes #13529
2023-05-30 11:12:17 +03:00
Kefu Chai
8e7c7e1079 docs/dev/repair_based_node_ops: better formatting
* indent the nested paragraphs of list items
* use table to format the time sequence for better
  readability

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

Closes #14016
2023-05-25 08:31:43 +03:00
Kefu Chai
8e6fbb99c7 docs/operating-scylla: lowercase the name of an option
"Enable_repair_based_node_ops" is the name of an option, and the leading
character should be lowecase "e". so fix it.

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

Closes #14018
2023-05-25 08:21:59 +03:00
Botond Dénes
eb457b6104 Merge 'fixed broken links, added community forum link, university link, spelling and other mistakes' from Guy Shtub
Closes #13979

* github.com:scylladb/scylladb:
  Update docker-hub.md
  Update docs/dev/docker-hub.md
  Update docs/dev/docker-hub.md
  Update docs/dev/docker-hub.md
  Update docs/dev/docker-hub.md
  Update docs/dev/docker-hub.md
  fixed broken links, added community forum link, university link,  other mistakes
2023-05-24 09:58:58 +03:00
Guy Shtub
65c0afc899 Update docker-hub.md 2023-05-24 07:34:58 +03:00
Guy Shtub
7e3d768369 Update docs/dev/docker-hub.md
Co-authored-by: Anna Stuchlik <37244380+annastuchlik@users.noreply.github.com>
2023-05-24 07:27:07 +03:00
Guy Shtub
6329036656 Update docs/dev/docker-hub.md
Co-authored-by: Anna Stuchlik <37244380+annastuchlik@users.noreply.github.com>
2023-05-24 07:26:42 +03:00
Guy Shtub
3538a2e1c2 Update docs/dev/docker-hub.md
Co-authored-by: Anna Stuchlik <37244380+annastuchlik@users.noreply.github.com>
2023-05-24 07:23:51 +03:00
Guy Shtub
53183d6302 Update docs/dev/docker-hub.md
Co-authored-by: Anna Stuchlik <37244380+annastuchlik@users.noreply.github.com>
2023-05-24 07:23:37 +03:00
Guy Shtub
2677d47bbc Update docs/dev/docker-hub.md
Co-authored-by: Anna Stuchlik <37244380+annastuchlik@users.noreply.github.com>
2023-05-24 07:23:28 +03:00
Kefu Chai
b8c565875b docs/dev/system_keyspace: add raft table
it is one of the non-volatile tables. we need add more of them.
but let's do this piecemeal.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-05-24 10:08:04 +08:00
Kefu Chai
eee0003312 docs/dev/system_keyspace: move sstables and tablets into another section
not all tables in system keyspace are volatile. among other things,
system.sstables and system.tablets are persisted using sstables like
regular user tables. so move them into the section where we have
other regular tables there.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-05-24 10:08:03 +08:00
Nadav Har'El
88fd7f7111 Merge 'Docs: add feature store tutorial' from Attila Tóth
* Adds the new feature tutorial site to the docs
* fixes the unnecessary redirection (iot.scylladb.com)

Closes #13998

* github.com:scylladb/scylladb:
  Skip unnecessary redirection
  Add links to feature store tutorial
2023-05-23 16:17:23 +03:00
Attila Toth
cf686b4238 Skip unnecessary redirection 2023-05-23 14:09:39 +02:00
Attila Toth
a8008760f7 Add links to feature store tutorial 2023-05-23 14:08:01 +02:00
Kefu Chai
1246568e3b docs/dev/system_keyspace: use timeuuid for sstables.generation
we changed the type of generation column in system.sstables
from bigint to timeuuid in 74e9e6dd1a
but that change failed to update the document accordingly. so let's
update the document to reflect the change.

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

Closes #13994
2023-05-23 14:37:28 +03:00
Anna Stuchlik
f45976730c doc: add versioning and support information
Fixes https://github.com/scylladb/scylla-docs/issues/3966
Fixes https://github.com/scylladb/scylladb/issues/12753

This commit adds a new page that explains the ScyllaDB
versioning convention and the new ScyllaDB Enterprise
support policy.

Closes #13987
2023-05-23 11:08:38 +03:00