187ebdbe462b2f01de4f4bbf1906537ccd37c2cd
untyped_result_set_row's cell data type is bytes_opt, and the get_block() accessor accesses the value assuming it's engaged (relying on the caller to call has()). has_unsalted_hash() calls get_blob() without calling has() beforehand, potentially triggering undefined behavior. Fix by using get_or() instead, which also simplifies the caller. I observed failures in Jenkins in this area. It's hard to be sure this is the root cause, since the failures triggered an internal consistency assertion in asan rather than an asan report. However, the error is hard to reproduce and the fix makes sense even if it doesn't prevent the error. See #3480 for the asan error. Fixes #3480 (hopefully). Message-Id: <20180602181919.29204-1-avi@scylladb.com>
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++
73.5%
Python
25.3%
CMake
0.3%
GAP
0.3%
Shell
0.3%