Files
scylladb/docs
Nadav Har'El a896e2dbb9 alternator: add optional support for writing to system table
In commit 44a1daf we added the ability to read system tables through
the DynamoDB API (actually, the Scan and Query requests only).
This ability is useful for tests, and can also be useful to users who
want to read information that is only available through system tables.

This patch adds support also for *writing* into system tables. This will
be useful for Alternator tests, were we want to temporarily change
some live-updatable configuration option - and so far haven't been
able to do that like we did do in some cql-pytest tests.

For reasons explained in issue #23218, only superuser roles are allowed to
write to system tables - it is not enough for the role to be granted
MODIFY permissions on the system table or on ALL KEYSPACES. Moreover,
the ability to modify system tables carries special risks, so this
patch only allows writes to the system tables if a new configuration
option "alternator_allow_system_table_write" turned on. This option is
turned off by default.

This patch also includes a test for this new configuration-writing
capability. The test scripts test/alternator/run and test.py now
run Scylla with alternator_allow_system_table_write turned on, but
the new test can also run without this option, and will be skipped
in that case (to allow running the test suite against some manually-
run instance of Scylla).

Fixes: #12348

Signed-off-by: Nadav Har'El <nyh@scylladb.com>
2025-08-06 10:00:04 +03:00
..
2025-07-24 20:04:43 +02:00
2025-07-24 20:04:43 +02:00
2024-11-06 14:09:28 +02:00
2025-05-28 11:04:25 +03:00
2025-02-20 11:24:34 +02:00
2025-05-13 13:29:04 +03:00

ScyllaDB Documentation

This repository contains the source files for ScyllaDB documentation.

  • The dev folder contains developer-oriented documentation related to the ScyllaDB code base. It is not published and is only available via GitHub.
  • All other folders and files contain user-oriented documentation related to ScyllaDB and are sources for docs.scylladb.com/manual.

To report a documentation bug or suggest an improvement, open an issue in GitHub issues for this project.

To contribute to the documentation, open a GitHub pull request.

Key Guidelines for Contributors

To prevent the build from failing:

  • If you add a new file, ensure it's added to an appropriate toctree, for example:

     .. toctree::
        :maxdepth: 2
        :hidden:
    
        Page X </folder1/article1>
        Page Y </folder1/article2>
        Your New Page </folder1/your-new-article>
    
  • Make sure the link syntax is correct. See the guidelines on creating links

  • Make sure the section headings are correct. See the guidelines on creating headings Note that the markup must be at least as long as the text in the heading. For example:

    ----------------------
    Prerequisites
    ----------------------
    

Building User Documentation

Prerequisites

  • Python
  • poetry
  • make

See the ScyllaDB Sphinx Theme prerequisites to check which versions of the above are currently required.

Mac OS X

You must have a working Homebrew in order to install the needed tools.

You also need the standard utility make.

Check if you have these two items with the following commands:

brew help
make -h

Linux Distributions

Building the user docs should work out of the box on most Linux distributions.

Windows

Use "Bash on Ubuntu on Windows" for the same tools and capabilities as on Linux distributions.

Building the Docs

  1. Run make preview to build the documentation.
  2. Preview the built documentation locally at http://127.0.0.1:5500/.

Cleanup

You can clean up all the build products and auto-installed Python stuff with:

make pristine

Information for Contributors

If you are interested in contributing to Scylla docs, please read the Scylla open source page at http://www.scylladb.com/opensource/ and complete a Scylla contributor agreement if needed. We can only accept documentation pull requests if we have a contributor agreement on file for you.

Third-party Documentation

  • Do any copying as a separate commit. Always commit an unmodified version first and then do any editing in a separate commit.

  • We already have a copy of the Apache license in our tree, so you do not need to commit a copy of the license.

  • Include the copyright header from the source file in the edited version. If you are copying an Apache Cassandra document with no copyright header, use:

This document includes material from Apache Cassandra.
Apache Cassandra is Copyright 2009-2014 The Apache Software Foundation.