mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-31 03:56:42 +00:00
c6ea25c5fbfc88e7e04ca8b35f55bf0f9d014213
For stopping a task of compaction manager, we first close the gate used by compaction then bust semaphore via semaphore::broken(). The problem is that semaphore::broken() only signals waiters, and so subsequent semaphore::wait() calls would succeed and the task would remain alive forever. The fix is to signal semaphore, forcing the task to exit via gate exception, so we will no longer rely on semaphore::broken() for finishing the task. That's possible because we try to access the gate right after we waited on semaphore. Signed-off-by: Raphael S. Carvalho <raphaelsc@cloudius-systems.com>
#Urchin
##Building Urchin
In addition to required packages by Seastar, the following packages are required by Urchin.
Submodules
Urchin uses submodules, so make sure you pull the submodules first by doing:
git submodule init
git submodule update
Building urchin 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
Building urchin on Ubuntu 14.04
Installing required packages:
sudo apt-get install libyaml-cpp-dev liblz4-dev zlib1g-dev libsnappy-dev libjsoncpp-dev
Description
Languages
C++
72.3%
Python
26.5%
CMake
0.3%
GAP
0.3%
Shell
0.3%