mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-07 15:33:15 +00:00
9b79f0f58b568f866edaeb16599678a86e91e386
" This series addresses the problem mentioned in issue 4032, which is a race between creating a view and streaming sstables to a node. Before this patch the following scenario is possible: - sstable X arrives from a streaming session - we decide that view updates won't be generated from an sstable X by the view builder - new view is created for the table that owns sstable X - view builder doesn't generate updates from sstable X, even though the table has accompanying views - which is an inconsistency This race is fixed by making the view builder wait for all ongoing streams, just like it does for reads and writes. It's implemented with a phaser. Tests: unit (release) dtest(not merged yet: materialized_views_test.TestMaterializedViews.stream_from_repair_during_build_process_test) " * 'add_stream_phasing_2' of https://github.com/psarna/scylla: repair: add stream phasing to row level repair streaming: add phasing incoming streams multishard_writer: add phaser operation parameter view: wait for stream sessions to finish before view building table: wait for pending streams on table::stop database: add pending streams phaser
…
…
…
…
…
…
…
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. Note: GCC >= 8.1.1 is require to compile 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%