The ScyllaDB team is pleased to announce the release of ScyllaDB 1.1, the second production-ready ScyllaDB release. ScyllaDB is an open source NoSQL database compatible with Apache Cassandra, with superior performance and consistent low latency.
From now on, only critical bugs (showstoppers) will be fixed in branch-1.1.x. We will continue to fix bugs and add features on the master branch toward 1.2 and beyond. Followup minor releases (1.2, 1.3 etc) will be time-based releases, closed at the end of each month; ScyllaDB 1.2 is due in early June.
Get started with ScyllaDB 1.1 here. Upgrade instructions from 1.0 to 1.1 here
Please let us know if you encounter any problem.
New features
Alter Table
ScyllaDB now supports the CQL operation ALTER TABLE, #428
ALTER TABLE myFamily
ALTER id TYPE uuid;
ALTER TABLE myFamily
ADD location varchar;
ALTER TABLE myFamily
WITH comment = 'a table'
AND read_repair_chance = 0.1;
This feature was previously available in ScyllaDB 1.0 when the –experimental flag was used.
User Defined Types (UDT)
ScyllaDB now supports the CQL operations:
CREATE TYPE,
ALTER TYPE,
DROP TYPE
Which allow creating, altering and dropping user defined types. #426
Example:
CREATE TYPE employee (
id int,
name text,
salary int
)
CREATE TYPE pair (
first employee,
second employee
)
Authentication
ScyllaDB now supports authentication and user management CQL operations, #1121
CREATE USER
ALTER USER
DROP USER
LIST USERS
Example:
CREATE USER alice WITH PASSWORD 'password_alice' SUPERUSER;
CREATE USER bob WITH PASSWORD 'password_bob' NOSUPERUSER;
ALTER USER alice WITH PASSWORD 'ecila';
ALTER USER bob SUPERUSER;
DROP USER alice;
DROP USER IF EXISTS bob;
Authorization
ScyllaDB now support authorization operations, compatible with Cassandra 2.1, #1138
GRANT PERMISSIONS
LIST PERMISSIONS
REVOKE PERMISSIONS
Example:
GRANT SELECT ON ALL KEYSPACES TO viewers;
GRANT MODIFY ON KEYSPACE keyspace1 TO writers;
REVOKE SELECT ON ALL KEYSPACES FROM viewers;
LIST ALL PERMISSIONS OF bob;
New SSTable Loader tool
ScyllaDB now comes with sstableloader
a CQL-based tool for bulk import of existing sstables into a running ScyllaDB cluster.
Encryption support for server-to-server and client-to-server connection
Supports secure SSL/TLS communication for both server-to-server and client connection. More on setting up ScyllaDB encryption here
ScyllaDB Setup Script
scylla_setup is an all-in-one script to set up your ScyllaDB environment for production usage.
It will guide you through a list of recommended setup steps including:
- Disabling SELinux
- Setting up RAID 0 and XFS
- Setting up NTP
- Running scylla_io_setup to tune IO queues for best performance
You can run scylla_setup multiple times, skipping steps you do not want to execute.
Additional Nodetool operations:
- nodetool disablebinary #1137
- nodetool removenode force #1135
- nodetool removenode status #1135
- nodetool snapshot -kc #1133
- Nodetools cfstats SSTable Compression Ratio (#636)
Additional metrics
- PreparedStatementsRatio #1068
Bug fixes and minor improvements
- scylla_setup and other scripts are now in the execution path by default #1187
- Adding nodes to a cluster may fail or freeze the cluster if streaming causes throttling #1144
- Fix corner cases of migration from Cassandra to ScyllaDB, including merging range tombstones #1136, #1125
- Fix performance issues caused by having all NIC interrupts routed to cpu0 by default, reducing its performance #1126
- Fix potential overflow in Linux’s syn backlog. tcp_syncookies resulting from opening a lot of connections simultaneously #1118
- Do not allow ScyllaDB to run if scylla_io_setup did not complete #1091
- ScyllaDB docker image did not run JMX proxy #1090
- Fix potential file system errors found by CharybdeFS error injections #705, #706, #707, #709, #710, #711, #712
- Respect configuration options for shutting down communications after I/O errors
- Improve I/O performance on AWS i2 instances
- Provide default metrics for scyllatop
- Add sums and means to scyllatop
- Support PostgreSQL-style string literal (#1078)
- Improve error messages for failed compactions (#1123)
- Ignore commitlog segments generated by Cassanadra-derived tools (#1112)
- Replay batch logs during node decommission (#1085)
- Improve leveled compaction strategy efficiency when small sstables are present
- Fix incorrect sstable sizes with leveled compaction strategy if compression is enabled (#1177)
- Allow specifying maximum sstable size with leveled compaction strategy
- Fix level mismatch with leveled compaction strategy (#1180)
- Prevent data resurrection due to non-atomic deletion of sstables shared across shards after data import from Cassandra (#1181)
- Seastar fixes for better latency response
- Seastar rpc protocol fixes
- Fix build with older gnutls versions
- Per-data-center collectd counters
- Unofficial debian 8.4 support
ScyllaDB 1.1 contributions
Amnon Heiman (1):
api: set the api_doc before registering any api
Asias He (33):
tests: Fix stop of storage_service in cql_test_env
streaming: Handle cf is deleted after the deletion check
streaming: Move ranges in stream_plan
gossip: Handle unknown application_state when printing
gossip: Sync gossip_digest.idl.hh and application_state.hh
streaming: Simplify session completion logic
messaging_service: Take reference of ms in send_message_timeout_and_retry
streaming: Start to send mutations after PREPARE_DONE_MESSAGE
streaming: Complete receive task after the flush
Revert "Revert "streaming: Simplify session completion logic""
Revert "Revert "streaming: Start to send mutations after PREPARE_DONE_MESSAGE""
streaming: Harden keep alive timer
streaming: Fix log of plan_id and session address in stream_session
batchlog_manager: Allow user initiated bachlog replay operation
batchlog_manager: Avoid stopping batchlog_manager more than once
storage_service: Do batch log replay in decommission
storage_service: Shutdown batchlog_manager after decommission
conf: Drop duplicated section for endpoint_snitch
gossip: Add SUPPORTED_FEATURES application_state
gossip: Introduce get_supported_features
gossip: Introduce wait_for_feature_on_{all}_node
db: Add supported_features column in system.local and system.peers table
gossip: Add supported_features helper in versioned_value
storage_service: Introduce get_config_supported_features
system_keyspace: Add supported_features into system.local table
storage_service: Add supported_features into system.peers table
storage_service: Advertise supported_features into cluster
token_metadata: Do not assert in get_host_id
storage_service: Add print info in confirm_replication
storage_service: Add get_removal_status
storage_service: Add force_remove_completion
storage_service: Rename remove_node to removenode
api: Wire up storage_service removal_status and force_remove_completion
Avi Kivity (32):
Merge seastar upstream
Update scylla-ami submodule
Merge "Ubuntu based AMI support" from Takuya
Merge "Make apply() exception-safe" from Tomasz
Merge "CQL syntax extension to handle sstable loader lists" from Calle
Merge "Merge "iotune packaging fix" from Takuya
Update scylla-ami submodule
Merge "Fix row_cache_alloc_stress test" from Tomasz
Merge seastar upstream
Merge "Bring back simplify session completion logic" from Asias
Initial github issue template
dist: ami: fix AMI_OPT receiving no value
schema_tables: fix deadlock in cross-node communications
dist/ubuntu: specify kill timeout
dist/ubuntu: improve handling of bad command line options
commitlog: ignore commitlog segments generated by Cassandra-derived tools
cql: unlock ALTER TABLE syntax
Merge "Fix query digest mismatch" from Tomasz
Merge seastar upstream
sstables: filter sstables single-row read using first_key/last_key
sstables: add delete_atomically(), for atomically deleting multiple sstables
main: cancel pending atomic deletions on shutdown
sstables: convert sstable::mark_for_deletion() to atomic deletion infrastructure
db: delete compacted sstables atomically
Merge seastar upstream
Merge
Merge seastar upstream
dist/redhat: package scylla_kernel_check
Merge seastar upstream
Point seastar submodule at scylla-seastar repository
Backport seastar iotune fixes
Update seastar submodule
Benoît Canet (6):
exception: Optionally shutdown communication on I/O errors.
exceptions: Shutdown communications on non file I/O errors
dist/ubuntu: Fix the init script variable sourcing
collectd: Write to the network to get rid of spurious log messages
scylla_setup: Check if scylla-jmx is installed
scylla_dev_mode_setup: Unify --developer-mode prompt and parsing
Calle Wilund (55):
cql3::lists: Add setter_by_uuid operation
cql3::operation: Allow set_element to be "by uuid" (for lists)
Cql.g: Add extension function SCYLLA_TIMEUUID_LIST_INDEX
sstables: Add delete func to rename TOC ensuring table is marked dead
database: Use disk-marking delete function in discard_sstables
lists.cc: setter_by_uuid does not require read before execute
auth::authenticator: option<->string
authenticated_user: implement "is_super"
client_state : Add ensure_not_anonymous method
client_state: Propagate login user in merge
client_state: break up setting login/validation
cql3::user_options: Add options wrapper type
cql3::authentication_statement: cql auth base class
cql3::create_user_statement: Initial conversion
cql3::alter_user_statement: Initial conversion
cql3::drop_user_statement: Initial conversion
cql3::list_users_statement: Initial conversion
Cql.g: Add create/drop/alter/list user parsing
auth::data_resource: Move declaration of "resource_ids"
auth::data_resource: Fix to_string to match origin
auth::permission: Add stringizers + move sets into namespace
auth::permission_set: Add < operator
auth::authenticated_user: Add copy/move constructors
log: Add output operator for std::exception&/std::system_error&
cql3::untyped_result_set: Add get_set<> method
data_value: Add constructor from unordered_set<>
tuple_hash: Add convinence operator for two arguments (non-pair)
auth::authorizer: Initial conversion
auth::authenticator: Change "protected_resources" to return reference
utils::loading_cache: Version of the LoadingCache type used in origin
tests::cql_test_env: Fake logged in user in case test requires is.
auth::auth: Add authorizer initialization + permissions getter
db::config: Add permissions cache entries/mark auth/perm as used
validation: Add KS validation + convinence methods
service::client_state: Add authorization checkers
cql3::statements: Change check_access to future<> + implement
cql3::statements::authorizarion_statement: Initial conversion
cql3::statements::permission_altering_statement: Inital conversion
cql3::statements::list_permissions_statement: Initial conversion
cql3::statements::grant_statement: Initial conversion
cql3::statements::revoke_statement: Initial conversion
cql3::statements::drop_user_statement: Drop all permissions for user
Cql.g: Permission statements parsing
scylla.yaml: Move authorizer/authenticator options to supported section
cql3/drop_table_statement: Fix exception handling in access check
database.cc: Fix compilation error with boost 1.55
sstables: Fix compilation error on boost 1.55
client_state: Remove unwarranted keyspace check
messaging_service: Change init to use per-shard tls credentials
auth: Make auth.* schemas use deterministic UUIDs
messaging_service: Add logging to match origin
storage_service: Add logging to match origin
messaging_service: Change tls init to use credentials_builder
cql_server: Use credentials_builder to init tls
transport::server: Do not treat accept exception as fatal
Duarte Nunes (32):
init: Trim spaces in seeds list
cql: Add support for pg-style string literal
cql3: Disable pg-style string format test
cql: Fix antlr3 missing token leak
udt: Fix user type compatibility check
udt: Implement to_string() for selectable
cql3: Implement contains relation
types: Don't wrap tombstone in an std::optional
udt: Parse user types system table
udt: Remove user_types field from keyspace
udt: Take name by ref when querying for an UDT
udt: Add migration notifications
udt: Add mutations for user defined types
udt: Announce UDT migrations
schema: Replace ad hoc func with indirect_equal_to
udt: Implement equals() for user_type_impl
types: Add operator== for abstract_types
map_difference: Allow on unordered_map
udt: Fix user type compatibility check
udt: Merge user defined type mutations
udt: Complete create_type_statement
udt: Implement as_cql3_type for user_type_impl
udt: Add is_user_type function to abstract_type
udt: Add references_user_type to abstract_type
udt: Add drop type statement
udt: Add grammar for dropping user types
udt: Add capability to replace a user_type
udt: Add alter type statement
udt: Add grammar for altering user types
udt: Add unit test for user type schema changes
udt: type_parser handles user defined types
udt: Enable user type query test case
Glauber Costa (32):
sstables: do not assume mutation_reader will be kept alive
stream_session: remove duplicated debug message
stream_session: print debug message for STREAM_MUTATION
fix small typo
database: create a class for memtable_list
database: move active_memtable to memtable_list
database: move add_memtable as a method of the memtable_list
database: make seal_on_overflow a method of the memtable_list
priority manager: separate streaming reads from writes
streaming: add incoming streaming mutations to a different sstable
streaming memtables: coalesce incoming writes
database: keep streaming memtables in their own region group
repair: rework repair code so we can limit parallelism
sanity check Seastar's I/O queue configuration
commitlog: initialize sync period with actual sync period
compaction: be verbose about which table is causing an exception
sstables: fix exception printouts in check_marker
do not re-read the summary
make get_sstable_key_range an instance method
index reader: make index_consumer a template parameter
sstables: avoid passing schema unnecessarily
sstables: allow read_toc to be called more than once
summary: generate one if it is not present
index_reader: avoid misleading parent name
clear components if reading toc fail
review fixes for generate_summary
be robust against broken summary files
sstable_tests: make sure the generation of the Summary is sane
move information about memtables' region group inside memtable list
unnest throttle_state
memtable_list: make sure at least two memtables are available
throttle: always release at least one request if we are below the limit
Gleb Natapov (23):
avoid invoke_on_all during developer-mode application if possible
messaging: do not delete client during messaging service shutdown
messaging: do not admit new requests during messaging service shutdown.
init: make more initialization threaded
config: enable truncate_request_timeout_in_ms option
commitlog, sstables: enlarge XFS extent allocation for large files
storage_proxy: cleanup data_read_resolver::resolve()
storage_proxy: move hack to make coordinator most preferable node for read into sorting function
cl: enable logging for insufficient LOCAL_QUORUM consistency
storage_proxy: add logging for mutation write path
storage_proxy: add logging to read executor creation path
query: add lazy printer to query::result
query: add calculate_row_count function to query::result
storage_proxy: cleanup query logging.
storage_proxy: move verbose query result printing into separate logger
storage_proxy: add query result row count to brief format
udt: fix error generation if accessed type is not udt
storage_proxy: add logging for range query row count estimation
storage_proxy: fix calculation of concurrency queried ranges
query: put live row count into query::result
storage_proxy: stop range query with limit after the limit is reached
query: fix result row counting for results with multiple partitions
tests: test for result row counting
Nadav Har'El (12):
Fix out-of-range exception when uncompressing 0 bytes
Allow uncompression at end of file
sstable: fix use-after-free of temporary ioclass copy
sstable: fix read failure of certain sstables
sstables: merge range tombstones if possible
sstables: overhaul range tombstone reading
sstables: Move check_marker() to source file
sstables: another test for range tombstone merging
stable: overhaul (again) range tombstone merging
sstable_mutation_test: strengthen tombstone_merging test
sstable_mutation_test: another test for range tombstone merging
stables_mutation_test: more compare keys not representations
Paweł Dziepak (15):
lsa: update _closed_occupancy after freeing all segments
tests/lsa: do not leak memory in large allocation test
tests/lsa: add test for region groups
sstables: remove HyperLogLog throw() specifier
storage_proxy: catch all exceptions in read executor
commitlog: make sure that segment destructor doesn't throw
log: ignore logging exceptions
database: remove throw() specifiers
transport: retry do_accept() in case of bad_alloc
storage_proxy: catch all errors in abstract_read_executor::execute()
log: try to report logger failure
gossiper: handle failures in gossiper thread creation
transport: ignore errors during connection shutdown
exceptions: make exception constructors noexcept
storage_proxy: mark hint_to_dead_endpoints() noexcept
Pekka Enberg (40):
tests/gossip_test: Fix messaging service stop
Merge "Fix debug messages for streaming session" from Glauber
main: Defer API server hooks until commitlog replay
dist: Fix '--developer-mode' parsing in scylla_io_setup
main: Fix broadcast_address and listen_address validation errors
dist/ubuntu: Install wget package if it's not available
build: Invoke Seastar build only once
dist/ubuntu: Use tilde for release candidate builds
Merge seastar upstream
service/migration_manager: Simplify verb unregistration
Revert "streaming: Start to send mutations after PREPARE_DONE_MESSAGE"
Revert "streaming: Simplify session completion logic"
Merge "Make sure repairs do not cripple incoming load" from Glauber
Revert "dist: re-enable clocksource=tsc on AMI"
Revert "dist: move setup scripts to /usr/sbin"
Update scylla-ami submodule
dist/docker/ubuntu: Use bash in start-scylla script
Merge "Random exception safety fixes" from Paweł
Merge "Do batch log replay in decommission" from Asias
Fix pre-ScyllaDB copyright statements
Merge "gossip: Introduce SUPPORTED_FEATURES" from Asias
Merge "Fixes for mutation querying" from Tomek
Merge "Be able to boot without a Summary" from Glauber
cql3: Make lexer and parser error messages compatible with Cassandra
Merge "CQL authentication implementation" from Calle
Merge "More exception safety fixes" from Paweł
Merge "Fixes for the reading of missing Summary" from Glauber
dist/docker/redhat: Make sure image builds against latest ScyllaDB
dist/docker/redhat: Start up JMX proxy and include tools
Merge "Support nodetool removenode force and status" from Asias
Merge "Delete compacted sstables atomically" from Avi
Merge "Fix query of collection cell with all items deleted" from Tomek
Merge seastar upstream
Merge "Authorizer support" from Calle
Merge "Add support for User Defined Types" from Duarte
cql3: Fix DROP KEYSPACE error message when keyspace does not exist
Merge "Additional mutations/queries related collectd metrics" from Vlad
Merge "Fix for systemd support on Ubuntu, add Ubuntu 16.04 support" from Takuya
release: prepare for 1.1.rc1
release: prepare for 1.1.0
Piotr Jastrzebski (3):
Add more info to wrong RPC address error
Implement tuple_type_impl::from_string
sstables: Remove unused code from mp_row_consumer
Raphael Carvalho (4):
db: better handling of failure in column_family::populate
service: fix refresh
Fix corner-case in refresh
sstables: fix deletion of sstable with temporary TOC
Raphael S. Carvalho (9):
api: Add support to get column family compression ratio
sstables: enable leveled strategy feature to prevent L0 from falling behind
sstables: fix incorrect sstable size when compression is enabled
sstables: allow user to specify max sstable size with leveled strategy
sstables: Fix leveled compaction strategy
tests: test that leveled strategy was fixed
sstables: move compaction strategy code to a new source file
sstables: kill unused code from size tiered strategy
tests: fix use-after-free in sstable test
Shlomi Livne (4):
fix centos local ami creation (revert some changes)
dist/ami: Use the actual number of disks instead of AWS meta service
scylla_io_setup import scylla-server env args
fix a collision betwen --ami command line param and env
Takuya ASADA (49):
dist: do not auto-start scylla-server job on Ubuntu package install time
dist: add scylla-gdb.py on Ubuntu dbg package
dist: On scylla_sysconfig_setup, don't disable cpu0 on non-AMI environments
dist: follow sysconfig setting when counting number of cpus on scylla_io_setup
dist: Ubuntu based AMI support
dist: prevent to show up dialog on apt-get in scylla_raid_setup
dist: fix broken scylla_install_pkg --local-pkg and --unstable on Ubuntu
dist: launch scylla_ami_setup on Ubuntu AMI
dist: allow to run 'sudo scylla_ami_setup' for Ubuntu AMI
dist: allow more requests for i2 instances
dist: stop using '-p' option on lsblk since Ubuntu doesn't supported it
dist: enable collectd on scylla_setup by default, to make scyllatop usable
dist: introduce dev-mode.conf and scylla_dev_mode_setup
dist: on scylla_io_setup print out message both for stdout and syslog
dist: remove scylla-io-setup.service and make it standalone script
dist: on scylla_io_setup, SMP and CPUSET should be empty when the parameter not present
dist: drop -j2 option on .spec, make build_rpm.sh able to specify -j option
dist/ami: use tilde for release candidate builds
dist: move setup scripts to /usr/sbin
dist: re-enable clocksource=tsc on AMI
dist: re-enable clocksource=tsc on AMI
dist/redhat: prevent 'yum: command not found' on some Fedora environment
dist/ubuntu: drop classical sysv init script, only support Upstart for Ubuntu 14.04LTS
dist/common/scripts: prevent misinterpret blank input as '/dev/', show error when inputted device path is not found
dist: add setup scripts symlink to /usr/sbin
dist/common/scripts: update SET_NIC when --setup-nic passed to scylla_sysconfig_setup
dist/redhat: drop very old %pre script
dist: fix build error at copy symlinks
dist/ubuntu: drop unused scripts
dist: Support systemd for Ubuntu 15.10
dist: #!/bin/bash for all scripts
dist/ami: fix incorrect service name on .bash_profile
dist/ami: Show correct login message when scylla-ami-setup.service is still running
utils: fix compilation error on utils/exceptions.hh
main: add tcp_syncookies sanity check
dist/common/scripts: Add kernel version check
dist/common/scripts: On scylla_setup, skip showing 'lo' interface on sysconfig prompt
dist/common/scripts: Fix incorrect order to run scylla_sysconfig_setup on scylla_setup
configure.py: configure.py: add --static-thrift option to link libthrift statically
dist/ubuntu: Drop dependency to libthrift0, link it statically
dist/common/scripts: notice restart required after changing bootparameters
dist/common/scripts: show knowledge base URL when kernel is too old
dist/ubuntu/dep: use distribution's thrift-compiler-0.9.1 on newer versions of Ubuntu
dist/ubuntu/dep: Drop python-support on Ubuntu 16.04
dist/ubuntu: skip dh_installinit --upstart-only on recent versions of Ubuntu
dist/ubuntu: add dependency for libsystemd-dev to handle startup correctly on recent versions of Ubuntu
dist/ubuntu: don't use ubuntu-toolchain-r/test ppa repo on recent versions of Ubuntu, since it has newer g++
dist/ubuntu: support 16.04
dist/ubuntu: unofficial support Debian 8.4
Tomasz Grabiec (61):
Merge branch 'pdziepak/fix-lsa-memory-accounting/v1' from seastar-dev.git
mutation_partition: Unmark cell_entry's copy constructor as noexcept
mutation_partition: Make row::vector_to_set() exception-safe
mutation_partition: Add cell_entry constructor which makes an empty cell
modificiation_statement: Use result_view::do_with()
mutation: Add copy assignment operator
managed_bytes: Make linearization_context::forget() noexcept
managed_bytes: Make copy assignment exception-safe
managed_bytes: Mark move-assignment noexcept
mutation_partition: Make row::merge() tolerate empty row
mutation_partition: row: Allow storing empty cells internally
mutation_partition: row: Add empty()
Introduce the concept of ReversiblyMergeable
tombstone: Make ReversiblyMergeable
atomic_cell: Add REVERT flag
atomic_cell_hash: Specialize appending_hash<> for atomic_cell and collection_mutation
atomic_cell_or_collection: Introduce as_atomic_cell_ref()
mutation_partition: Make row ReversiblyMergeable
mutation_partition: Make row_marker ReversiblyMergeable
mutation_partition: Make rows_entry ReversiblyMergeable
mutation_partition: Make row_tombstones_entry ReversiblyMergeable
mutation_partition: Make intrusive sets ReversiblyMergeable
mutation_partition: Make apply() atomic even in case of exception
mutation_partition: Fix friend declarations
mutation_test: Fix use-after-free
mutation_test: Make make_blob() return different blob each time
mutation_test: Hoist make_blob() to a function
mutation_test: Add more apply() tests
mutation_test: Add allocation failure stress test for apply()
perf_simple_query: Make duration configurable
managed_bytes: Make operator[] work for large blobs as well
logalloc: Rename tracker::occupancy() to region_occupancy()
logalloc: Introduce tracker::occupancy()
Fix assertion in row_cache_alloc_stress
cql3: batch_statement: Execute statements sequentially
cql_test_env: Make initialization exception-safe
schema_tables: Wait for notifications to be processed.
storage_service: Fix typos
tests: sstable_mutation_test: Compare keys not representations
mutation_query: Extract main part of mutation_query() into more generic querying_reader
database: Compact mutations when executing data queries
tests: result_set_assertions: Add and_only_that()
partition_slice_builder: Add new setters
tests: mutation_test: Add test case for querying of expired cells
tests: mutation_test: Move mutation generator to mutation_source_test.hh
tests: mutation_source: Include random mutations in generate_mutation_sets() result
tests: Add test for query digest calculation
mutation_partition: Fix reversed trim_rows()
mutation_partition: Fix static row being returned when paginating
tests: cql_query_test: Add test for slicing in reverse
types: Add default argument values to is_any_live()
mutation_partition: Fix collection emptiness check
tests: Add test for query of collection with deleted item
Merge branch 'dev/gleb/logging'
Merge branch 'glommer/issue-1144-v5'
api: Fix error message
query: Do not take arguments via ... in the visitor
migration_manager: Invalidate prepared statements on every schema change
migration_manager: Fix schema syncing with older version
schema_registry: Fix possible hang in maybe_sync() if syncer doesn't defer
tests: Add unit tests for schema_registry
Vlad Zolotarov (7):
conf: resurrect the important text related to endpoint_snitch configuration
storage_proxy: add counters for received and forwarded mutations
storage_proxy: add split counters for writes
storage_proxy: add read requests split counters
database: add metrics for total writes and reads
batchlog_manager: add a counter for a total number of write attempts
query_processor: account unprepared statements executions
Yoav Kleinberger (4):
tools/scyllatop: some sensible default metrics
tools/scyllatop: defend against unexpected strings from collectd
tools/scyllatop: add sums to aggregate view
scyllatop: differentiate metrics coming from different hosts
yan cui (2):
dist: add ubuntu docker file
dist/docker: refine docker file for ubuntu
ScyllaDB JMX 1.1 contributions
Amnon Heiman (5):
ProcessingException was changed to IllegalStateException
ApiClient: Add getReverseMapStrValue method
StorageService: Get the broadcast address from the API
EndpointState: log and ignore not supported states
StorageService: Add takeMultipleColumnFamilySnapshot support
Pekka Enberg (6):
APIClient: Make API server errors human readable
StorageService: Fix scrub() variant API wiring
dist/ubuntu: Relax Java dependencies
dist/ubuntu: Use tilde for release candidate builds
release: prepare for 1.1.rc1
release: prepare for 1.1.0
Takuya ASADA (6):
dist: do not auto-start scylla-server job on Ubuntu package install time
dist/ubuntu: drop classical sysv init script, only support Upstart for Ubuntu 14.04LTS
dist: #!/bin/bash for all scripts
dist/ubuntu: generate correct distribution codename on debian/changelog
dist/ubuntu: resolve build time dependency by mk-build-deps command
dist/ubuntu: fix build error on Ubuntu 16.04