Avi Kivity 24a9a3c679 Merge "Push memory limits configuration up to main" from Gleb
"
May components limit its internal memory pools/caches/queues depending
on amount of memory present in a system. Each of them uses seastar
memory interface to get the information about memory availability
which makes it harder to 1: test the components with various memory
configurations and 2: to see which components reserve memory and how
much each one reserves.

The patch changes all the components that rely on memory size to get this
information through configuration parameter during creation instead of
checking it directly with seastar, so only main interacts with seastar
allocator.
"

* 'gleb/memory-config-v2' of github.com:scylladb/seastar-dev:
  Provide available memory size to compaction_manager object during creation
  Configure authorized_prepared_statment_cache memory limit during object creation
  Configure logalloc memory size during initialization
  Provide cql max request limit to cql server object during creation
  Configure query result memory limiter size limit during object creation
  Configure querier_cache size limit during object creation
  Provide available memory size to messaging_service object during creation
  Provide available memory size to hinted handoff resource manager during creation
  Provide available memory size to storage_proxy object during creation
  Provide available memory size to commitlog during creation
  Provide available memory size to database object during creation
  Configure prepared_statements_cache memory limit from outside
2018-06-11 15:34:14 +03:00
2018-04-23 10:45:25 +01:00
2018-05-31 15:51:11 +01:00
2018-05-31 10:09:01 +01:00
2018-05-30 14:41:41 +02:00
2017-06-23 11:35:35 -04:00
2018-02-14 14:15:59 -05:00
2017-08-27 13:11:33 +03:00
2018-05-30 14:41:39 +02:00
2018-05-04 15:26:51 +01:00
2018-06-10 15:55:00 +03:00
2017-06-23 11:35:35 -04:00
2018-06-05 11:10:24 +02: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 503 MiB
Languages
C++ 72.1%
Python 26.7%
CMake 0.3%
GAP 0.3%
Shell 0.3%