Duarte Nunes 1e3fae5bef db/schema_tables: Only drop UDTs after merging tables
Dropping a user type requires that all tables using that type also be
dropped. However, a type may appear to be dropped at the same time as
a table, for instance due to the order in which a node receives schema
notifications, or when dropping a keyspace.

When dropping a table, if we build a schema in a shard through a
global_schema_pointer, then we'll check for the existence of any user
type the schema employs. We thus need to ensure types are only dropped
after tables, similarly to how it's done for keyspaces.

Fixes #3068

Tests: unit-tests (release)

Signed-off-by: Duarte Nunes <duarte@scylladb.com>
Message-Id: <20180129114137.85149-1-duarte@scylladb.com>
2018-01-30 12:07:04 +01:00
2018-01-03 19:58:57 -05:00
2016-04-08 08:12:47 +03:00
2018-01-30 11:44:00 +02:00
2018-01-24 21:00:51 +01:00
2018-01-09 19:54:51 +01:00
2016-04-08 08:12:47 +03:00
2018-01-01 19:01:24 +02:00
2018-01-24 20:56:48 +01:00
2017-06-23 11:35:35 -04:00
2016-04-08 08:12:47 +03:00
2015-06-24 13:09:51 +03: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
2015-12-07 09:50:27 +01:00
2017-10-02 16:49:24 +02:00
2016-09-28 17:34:16 +03:00
2018-01-26 01:04:23 +01: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 462 MiB
Languages
C++ 72.3%
Python 26.5%
CMake 0.3%
GAP 0.3%
Shell 0.3%