mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-03 21:47:10 +00:00
bd1efbc25cf613f250e1983ad805c7042f8f5a80
This series mainly fixes issues with the serialization of promoted index entries for non-compound schemas and with the serialization of range tombstones, also for non-compound schemas. We lift the correct cell name writing code into its own function, and direct all users to it. We also ensure backward compatibility with incorrectly generated promoted indexes and range tombstones. Fixes #2995 Fixes #2986 Fixes #2979 Fixes #2992 Fixes #2993 * git@github.com:duarten/scylla.git promoted-index-serialization/v3: sstables/sstables: Unify column name writers sstables/sstables: Don't write index entry for a missing row maker sstables/sstables: Reuse write_range_tombstone() for row tombstones sstables/sstables: Lift index writing for row tombstones sstables/sstables: Leverage index code upon range tombstone consume sstables/sstables: Move out tombstone check in write_range_tombstone() sstables/sstables: A schema with static columns is always compound sstables/sstables: Lift column name writing logic sstables/sstables: Use schema-aware write_column_name() for collections sstables/sstables: Use schema-aware write_column_name() for row marker sstables/sstables: Use schema-aware write_column_name() for static row sstables/sstables: Writing promoted index entry leverages column_name_writer sstables/sstables: Add supported feature list to sstables sstables/sstables: Don't use incorrectly serialized promoted index cql3/single_column_primary_key_restrictions: Implement is_inclusive() cql3/delete_statement: Constrain range deletions for non-compound schemas tests/cql_query_test: Verify range deletion constraints sstables/sstables: Correctly deserialize range tombstones service/storage_service: Add feature for correct non-compound RTs tests/sstable_*: Start the storage service for some cases sstables/sstable_writer: Prepare to control range tombstone serialization sstables/sstables: Correctly serialize range tombstones tests/sstable_assertions: Fix monotonicity check for promoted indexes tests/sstable_assertions: Assert a promoted index is empty tests/sstable_mutation_test: Verify promoted index serializes correctly tests/sstable_mutation_test: Verify promoted index repeats tombstones tests/sstable_mutation_test: Ensure range tombstone serializes correctly tests/sstable_datafile_test: Add test for incorrect promoted index tests/sstable_datafile_test: Verify reading of incorrect range tombstones sstables/sstable: Rename schema-oblivious write_column_name() function sstables/sstables: No promoted index without clustering keys tests/sstable_mutation_test: Verify promoted index is not generated sstables/sstables: Optimize column name writing and indexing compound_compat: Don't assume compoundness
…
…
…
…
…
…
…
…
…
…
…
…
…
…
Scylla
Quick-start
$ git submodule update --init --recursive
$ sudo ./install-dependencies.sh
$ ./configure.py --mode=release
$ ninja-build -j4 # Assuming 4 system threads.
$ ./build/release/scylla
$ # Rejoice!
Please see HACKING.md for detailed information on building and developing Scylla.
Running Scylla
- Run Scylla
./build/release/scylla
- run Scylla with one CPU and ./tmp as data directory
./build/release/scylla --datadir tmp --commitlog-directory tmp --smp 1
- For more run options:
./build/release/scylla --help
Building Fedora RPM
As a pre-requisite, you need to install Mock on your machine:
# Install mock:
sudo yum install mock
# Add user to the "mock" group:
usermod -a -G mock $USER && newgrp mock
Then, to build an RPM, run:
./dist/redhat/build_rpm.sh
The built RPM is stored in /var/lib/mock/<configuration>/result directory.
For example, on Fedora 21 mock reports the following:
INFO: Done(scylla-server-0.00-1.fc21.src.rpm) Config(default) 20 minutes 7 seconds
INFO: Results and/or logs in: /var/lib/mock/fedora-21-x86_64/result
Building Fedora-based Docker image
Build a Docker image with:
cd dist/docker
docker build -t <image-name> .
Run the image with:
docker run -p $(hostname -i):9042:9042 -i -t <image name>
Contributing to Scylla
Description
Languages
C++
72.1%
Python
26.7%
CMake
0.3%
GAP
0.3%
Shell
0.3%