Paweł Dziepak 64b1a2caf9 tests: modernise tmpdir
tmpdir is a helper class representing a temporary directory.
Unfortunately, it suffers for some problems such as lack of proper
encapsulation and weak typing. This has caused bugs in the past when the
user code accidentally modified the member variable with the path to the
directory.

This patch modernises tmpdir and updates its users. The path is stored
in a std::filesystem::path and available read-only to the class users.
mkdtemp and boost are replaced by standard solution.

The users are update to use path more (when it didn't involve too many
changes to their code) and stop using lw_shared_ptr to store the tmpdir
when it wasn't necessary.

tmpdir intentionally doesn't provide any helpers for getting the path as
a string in order to discourage weak types.

Message-Id: <20190207145727.491-1-pdziepak@scylladb.com>
2019-02-07 20:18:14 +02:00
2019-02-06 15:33:09 +02:00
2018-11-21 00:01:44 +02:00
2019-01-30 11:17:38 +02:00
2018-08-01 16:50:58 +01:00
2018-12-03 11:18:02 +02:00
2018-11-26 18:59:41 +01:00
2019-02-07 20:08:15 +02:00
2019-01-28 15:03:14 -08:00
2018-11-27 13:01:02 +02:00
2019-02-07 20:18:14 +02:00
2018-06-19 16:26:51 +03:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2019-01-28 15:03:14 -08:00
2019-01-28 15:03:14 -08:00
2018-11-21 00:01:44 +02:00
2018-02-14 14:15:59 -05:00
2019-01-22 15:34:32 +02:00
2018-11-01 13:16:17 +00:00
2018-11-21 00:01:44 +02:00
2018-11-28 23:54:03 +01:00
2019-01-28 15:03:14 -08:00
2019-02-04 18:38:23 +02:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2018-12-12 16:49:01 +08: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. 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

Guidelines for contributing

Description
No description provided
Readme 397 MiB
Languages
C++ 72.5%
Python 26.2%
CMake 0.4%
GAP 0.3%
Shell 0.3%