Duarte Nunes f6a461c7a4 Merge 'hinted handoff' from Vlad
"This series is the first part of hinted handoff implementation.
It includes:
   - Minor adjustment of commitlog layer.
   - Generation of hints when storage_proxy calls hint_to_dead_endpoints(...).
   - Sending the hints to the Node that becomes UP.

It doesn't include:
   - Node decommissioning.
   - Resharding."

* 'hinted_handoff-v7-1' of github.com:vladzcloudius/scylla:
  main + storage_service: wire up hints generation
  config: add hints related options
  db::hints::manager: initial commit
  tracing: make the session state modifying methods and tracing::trace(...) noexcept
  utils::fb_utilities: add is_me(addr) method
  tests: hint_test: initial commit
  db::commitlog::replay_position: added std::hash<replay_position>
  db::commitlog: truncate segments to their actual sizes during shutdown
  db::commitlog: allow defining a metrics category name
  db/commitlog/commitlog::descriptor: add a filename_prefix parameter
  db::commitlog::descriptor::descriptor(filename): pass a filename as a const ref
  docs: hinted_handoff_design.md: high level design of a Hinted Handoff feature
2017-12-14 21:16:40 +01:00
2017-12-14 15:08:11 -05:00
2017-12-14 15:08:11 -05:00
2016-04-08 08:12:47 +03:00
2017-12-04 12:33:24 +02:00
2017-12-12 11:00:38 +02:00
2017-12-14 15:05:48 -05:00
2016-04-08 08:12:47 +03:00
2017-06-23 11:35:35 -04:00
2016-04-08 08:12:47 +03:00
2015-06-24 13:09:51 +03:00
2017-02-02 10:35:14 +00:00
2016-01-24 12:29:21 +02:00
2017-11-15 23:22:42 -05:00
2017-11-15 23:22:42 -05:00
2015-09-20 10:45:35 +03:00
2017-08-27 13:11:33 +03:00
2016-03-11 18:27:13 +00:00
2015-12-07 09:50:27 +01:00
2017-10-02 16:49:24 +02:00
2016-09-28 17:34:16 +03:00
2017-06-23 11:35:35 -04:00

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

Guidelines for contributing

Description
No description provided
Readme 505 MiB
Languages
C++ 72.1%
Python 26.7%
CMake 0.3%
GAP 0.3%
Shell 0.3%