mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-04 05:53:13 +00:00
e99e418238c7f76e2d90d1fdc8f8881a735fa3ad
In Cassandra, when you create a new column family, a directory for it immediately appears under the KS directory. In the past, we have made a decision to delay that creation until the first SSTable is created, which works well in general. There is a problem, however, for backup restoration: the standard procedure to call loadNewSSTables is to do that in an empty directory. But the directory simply won't be there until we create the first SSTable: bummer! In the current incarnation of the code in schema_tables.cc, there is already some code that runs on CPU0 only. That is a perfect place for the directory creation. So let's do it. After this patch, a directory for the CF appears right after the CF creation. Signed-off-by: Glauber Costa <glommer@scylladb.com>
#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 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
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 -i -t <image name>
Description
Languages
C++
72.1%
Python
26.7%
CMake
0.3%
GAP
0.3%
Shell
0.3%