Asias He 774307b3a7 streaming: Do send failed message for uninitialized session
The uninitialized session has no peer associated with it yet. There is
no point sending the failed message when abort the session. Sending the
failed message in this case will send to a peer with uninitialized
dst_cpu_id which will casue the receiver to pass a bogus shard id to
smp::submit_to which cases segfault.

In addition, to be safe, initialize the dst_cpu_id to zero. So that
uninitialized session will send message to shard zero instead of random
bogus shard id.

Fixes the segfault issue found by
repair_additional_test.py:RepairAdditionalTest.repair_abort_test

Fixes #3115
Message-Id: <9f0f7b44c7d6d8f5c60d6293ab2435dadc3496a9.1515380325.git.asias@scylladb.com>
2018-01-08 15:04:06 +02:00
2018-01-03 11:11:49 +02:00
2018-01-03 19:58:57 -05:00
2016-04-08 08:12:47 +03:00
2017-12-04 12:33:24 +02:00
2017-12-28 13:24:18 +02:00
2016-04-08 08:12:47 +03:00
2018-01-01 19:01:24 +02:00
2017-06-23 11:35:35 -04:00
2016-04-08 08:12:47 +03:00
2017-12-28 13:24:18 +02:00
2017-12-28 13:24:18 +02: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
2017-12-21 11:47:07 +01:00
2017-12-21 11:47:07 +01:00
2017-12-28 13:24:18 +02: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 450 MiB
Languages
C++ 72.3%
Python 26.5%
CMake 0.3%
GAP 0.3%
Shell 0.3%