mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-03 21:47:10 +00:00
d2632ddf1dfb718b3246a325aa44ffe8c27641fe
"This series tries to improve the bootstrap of a node in a large cluster by improving how gossip applies the gossip node state. In #2404, the joining node failed to bootstrap, because it did not see the seed node when storage_service::bootstrap ran. After this series, we apply the whole gossip state contained in the gossip ack/ack2 message before applying the next one, and we apply the state of the seed node earlier than non-seed node so we can have the seed node's state faster. We also add some randomness to the order of applying gossip node state to prevent some of the nodes' state are always applied earlier than the others. This series improves apply_state_locally for large cluster: - Tune the order of applying endpoint_state - Serialize apply_state_locally - Avoid copying of the gossip state map Fixes #2404" * tag 'asias/gossip_issue_2404_v2' of github.com:scylladb/seastar-dev: gossip: Avoid copying with apply_state_locally gossip: Serialize apply_state_locally gossip: Tune the order of applying endpoint_state in apply_state_locally gossip: Introduce is_seed helper gossip: Pass const endpoint_state& in notify_failure_detector gossip: Pass reference in notify_failure_detector
…
…
…
…
…
…
…
…
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%