mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-02 04:56:58 +00:00
138c5f58341d002c86367c3d352f556dc8e39aba
If we do - Decommission a node - Stop a node we will shutdown messaging_service more than once in: - storage_service::decommission - storage_service::drain_on_shutdown Fixes #1005 Refs #1013 This fix a dtest failure in debug build. update_cluster_layout_tests.TestUpdateClusterLayout.simple_decommission_node_1_test/ /data/jenkins/workspace/urchin-dtest/label/monster/mode/debug/scylla/seastar/core/future.hh:802:35: runtime error: member call on null pointer of type 'struct future_state' core/future.hh:334:49: runtime error: member access within null pointer of type 'const struct future_state' ASAN:SIGSEGV ================================================================= ==4557==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x00000065923e bp 0x7fbf6ffac430 sp 0x7fbf6ffac420 T0) #0 0x65923d in future_state<>::available() const /data/jenkins/workspace/urchin-dtest/label/monster/mode/debug/scylla/seastar/core/future.hh:334 #1 0x41458f1 in future<>::available() /data/jenkins/workspace/urchin-dtest/label/monster/mode/debug/scylla/seastar/core/future.hh:802 #2 0x41458f1 in then_wrapped<parallel_for_each(Iterator, Iterator, Func&&)::<lambda(parallel_for_each_state&)> [with Iterator = std::__detail::_Node_iterator<std::pair<const net::msg_addr, net::messaging_service::shard_info>, false, true>; Func = net::messaging_service::stop()::<lambda(auto:39&)> [with auto:39 = std::unordered_map<net::msg_addr, net::messaging_service::shard_info, net::msg_addr::hash>]::<lambda(std::pair<const net::msg_addr, net::messaging_service::shard_info>&)>]::<lambda(future<>)>, future<> > /data/jenkins/workspace/urchin-dtest/label/monster/mode/debug/scylla/seastar/core/future.hh:878
#Scylla
##Building Scylla
In addition to required packages by Seastar, the following packages are required by Scylla.
Submodules
Scylla uses submodules, so make sure you pull the submodules first by doing:
git submodule init
git submodule update --recursive
Building and Running Scylla on Fedora
- Installing required packages:
sudo yum install yaml-cpp-devel lz4-devel zlib-devel snappy-devel jsoncpp-devel thrift-devel antlr3-tool antlr3-C++-devel libasan libubsan gcc-c++ gnutls-devel ninja-build ragel libaio-devel cryptopp-devel xfsprogs-devel numactl-devel hwloc-devel libpciaccess-devel libxml2-devel python3-pyparsing
- Build Scylla
./configure.py --mode=release --with=scylla --disable-xen
ninja-build build/release/scylla -j2 # you can use more cpus if you have tons of RAM
- 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
Do not send pull requests.
Send patches to the mailing list address scylladb-dev@googlegroups.com. Be sure to subscribe.
In order for your patches to be merged, you must sign the Contributor's License Agreement, protecting your rights and ours. See http://www.scylladb.com/opensource/cla/.
Description
Languages
C++
72.2%
Python
26.6%
CMake
0.3%
GAP
0.3%
Shell
0.3%