RELEASE Scylla 0.14 Beta
Tzach Livyatan edited this page Jan 6, 2016
·
5 revisions
The Scylla team is pleased to announce the release of Scylla version 0.14
Scylla is an open source, Cassandra-compatible NoSQL database, with superior performance and consistent low latency This version is an incremental improvement release on the beta series, focus on stability and bug fix. Some of the noteworthy updates are:
- Scylla does not consume 100% CPU when idle anymore
- By default, Scylla will not run without XFS. Use
--developer-mode true
option to bypass this mechanism to run without XFS. Note that running in developer mode (without XFS) will result in inferior performance. The Docker image always use developer-mode. - CQL: TRUNCATE TABLE alias for TRUNCATE A full list of contributions below
Get started with Scylla 0.14 here.
If you have any questions about the new release, please post to the scylladb-users mailing list.
Scylla Contributions
Amnon Heiman (9):
Add memory_footprint method to summary_ka
sstable: Add get_summary function
API: Add the implementation for index_summary_off_heap_memory
API: Init value for cf_map reduce should be of type int64_t
storage_service: describe_ring return full data
load_broadcaster report negative size
API: report the load map as an unformatted double
main: start the http server in the first step
API: repair to use documented params
Asias He (35):
storage_service: Fix added node not showing up in nodetool in status joining
storage_service: Simplify prepare_to_join with seastar thread
storage_service: Fix decommissioned nodes are willing to rejoin the cluster if restarted
storage_service: Make before_change and on_change log print more informative
gossip: Pass const ref for versioned_value in on_change and before_change
gossip: Kill default constructor for versioned_value
gossip: Fix endless marking a node down
gossip: Introduce get_gossip_status
gossip: Simplify is_shutdown and friends.
gossip: Print node status in handle_major_state_change
token_metadata: Print Token changing ownership from
system_keyspace: Flush system.peers in remove_endpoint
token_metadata: Do nothing if tokens is empty.
token_metadata: Add get_endpoint_to_token_map_for_reading
storage_service: Enable commented out code in handle_state_normal
storage_service: Log removing replaced endpoint from system.peers
streaming: Add retransmit logic for streaming verbs
streaming: Propagate fail to send PREPARE_DONE_MESSAGE exception
storage_service: Fix default ring_delay time
storage_service: Make bootstrapping/leaving/moving log more consistent
database: Add non-const version of get_row_cache
streaming: Remove transfer_files
streaming: Add helper to get distributed<database> db
streaming: Invalidate cache upon receiving of stream
streaming: Print old state before setting the new state
streaming: Retransmit COMPLETE_MESSAGE message
streaming: Increase retry timeout
streaming: Print All sessions completed after state change message
streaming: Get stream_session in STREAM_MUTATION handler
streaming: Introduce keep alive timer for each stream_session
streaming: Fix session hang with maybe_completed: WAIT_COMPLETE -> WAIT_COMPLETE
gossip: Print endpoint_state_map debug info in trace level
storage_service: Add more debug info in decommission
storage_service: Fix erase new_replica_endpoints in get_changed_ranges_for_leaving
storage_service: Introduce ring_delay_ms option
Avi Kivity (37):
allocation_strategy: expose preferred allocation size limit
managed_bytes: conform to allocation_strategy's max_preferred_allocation_size
atomic_cell_or_collection: linearize(), unlinearize()
mutation_partition: work on linearized atomic_cell_or_mutation objects
lsa: advertize our preferred maximum allocation size
tests: test large blobs in memtables
Merge "Fix replace_node support" from Asias
Merge "Make LSA more large-allocation-friendly" from Paweł
Merge seastar upstream
Merge seastar upstream
Merge seastar upstream
Merge seastar upstream
main: remove issue #417 (poll mode) warning
release: copy version string into heap
Merge seastar upstream
mutation_partition: fix leak in move assignment operator
Merge "compaction history support" from Raphael
Merge " implement get_compactions API" from Raphael
Merge
Merge seastar upstream
Merge seastar upstream
Merge "background mutation throttling" from Gleb
Merge "Preliminary changes for handling of schema changes" from Tomasz
Merge seastar upstream
logger: be robust when exceptions are thrown while stringifying args
Merge "Make date parser more liberal" from Paweł
Merge "Fixes for CentOS/RHEL support" from Takuya
Merge "storage_service updates" from Asias
Merge seastar upstream
Merge "Introduce keep alive timer for stream_session" from Asias
Merge "streaming: Invalidate cache upon receiving of stream" from Asias
Merge "Messaging service TLS" from Calle
Merge "CQL server SSL" from Calle
db: provide more information on "Unrecognized error" while loading sstables
lsa: disable constant_time_size in binomial_heap implementation
init: bail out if running not on an XFS filesystem
main: verify that the NOFILE rlimit is sufficient
Calle Wilund (14):
commitlog: Add some comments about the IO flow
mutation_partition: Do not return static row if CK range does not match
data_output: specialize serialized_size for bool to ensure sync with write
db/serializer: Add support for optional<T> to be serialized
paging_state: Make clustering key optional
query_pagers: Remove unneeded clustering + remove static workaround
config: clean up some style + move method to cc file
config: Modify/use server_encryption_options
messaging_service: Optionally create SSL endpoints
main/init: Use server_encryption_options
scylla.conf: Modify server_encryption_options section
scylla.conf: Update client_encryption_options with scylla syntax
cql_server: Allow using SSL socket
storage_service: Set up CQL server as SSL if specified
Glauber Costa (2):
perf_sstable: use current scylla default directory
main: check if options file can be read.
Gleb Natapov (3):
storage_proxy: unfuturize send_to_live_endpoints()
storage_proxy: throttle mutations based on ongoing background activity
storage_proxy: provide timeout for send_mutation verb
Lucas Meneghel Rodrigues (2):
utils/logalloc.cc - Declare member minimum_size from segment_zone struct
scylla_coredump_setup: Don't call yum on scylla server spec file
Nadav Har'El (11):
messaging_service: allow any self-serializing type
messaging_service: drop unnecessary explicit templates
murmur3 partitioner: fix midpoint() algorithm
repair: job id must start at 1
repair: log repair options
repair: partial support for some options
repair: fix missing default values
repair: support "columnFamilies" parameter
repair: add missing ampersand
repair: check columnFamilies list
murmur3 partitioner: remove outdated comment, and code
Paweł Dziepak (44):
lsa: use bi::list to implement segment_stack
tests/row_cache_alloc_stress: make sure that allocation fails
lsa: maintain segment to region mapping
utils: add dynamic_bitset
tests: add tests for utils::dynamic_bitset
lsa: avoid fragmenting memory
lsa: add more counters
scylla-gdb.py: print lsa zones
tests/lsa: add large allocations test
managed_bytes: fix copy size in move constructor
cql3: do not assume that clustering key is full
mutation_partition: remove unused find_entry()
sstables: do not assume clustering_key has the proper format
keys: allow creating partial views of prefixes
keys: add prefix_equality_less_compare for prefixes
db: make clustering_key a prefix
tests/cql: add test for clustering keys with empty components
managed_bytes: fix potentially unaligned accesses
tests/lsa: reduce the size of large allocation
thrift: let class_from_compound_type() accept prefixable types
schema: remove _clustering_key_prefix_type
compound: fix compare() of prefixable types
tests/cql: add test for ordering clustering keys
row_cache: add functions for invalidating entries in cache
mutation_partition: do not move rows_entry::_link
transport: ignore future when stopping the server
storage_service: implement get_drain_progress()
transport: wait for outstanding requests to end during shutdown
database: add non-const getter for compaction_manager
compaction_manager: check whether the manager is already stopped
messaging_service: wait for outstanding requests
messaging_service: restore indentation
storage_service: implement drain()
api: enable storage_service::drain()
test.py: add missing tests
tests/key_reader: make sure that the reader lives long enough
sstables: respect range inclusiveness in key_reader
test/sstables: add more key_reader tests
sstables: respect range inclusiveness in key_reader
test/sstables: add more key_reader tests
types: catch parsing errors in timestamp_from_string()
types: timestamp_from_string(): restore indentation
types: timestamp_from_string: accept more date formats
tests/types: add more tests for date and time parsing
Pekka Enberg (30):
cql3: Implement maps::literal::test_assignment() function
types: Fix frozen collection type names
dist/docker: Enable SMP support
sstables/compaction: Fix compilation error with GCC 4.9.2
Merge "Add unit test for get_restricted_ranges()" from Tomek
Merge "dist: provide generic Scylla setup script" from Takuya
Merge "Implement nodetool drain" from Paweł
Improve not implemented errors
cql3: Move update_statement implementation to source file
cql3: Move select_statement implementation to source file
cql3: Move property_definitions implementation to source file
cql3: Move parsed_statement implementation to source file
cql3: Move modification_statement implementation to source file
cql3: Move delete_statement implementation to source file
cql3: Remove untranslated IMeasurableMemory code from column_identifier
cql3: Remove some ifdef'd code
Merge "cleanups and improvements" from Raphael
cql3: Move update_statement implementation to source file
cql3: Move select_statement implementation to source file
cql3: Move property_definitions implementation to source file
cql3: Move parsed_statement implementation to source file
cql3: Move modification_statement implementation to source file
cql3: Move delete_statement implementation to source file
cql3: Remove untranslated IMeasurableMemory code from column_identifier
cql3: Remove some ifdef'd code
Merge "use steady_clock where monotonic clock is required" from Vlad
main: Fix implicitly disabled client encryption options
Merge "load report a negative value" from Amnon
release: prepare for 0.14
dist: Increase NOFILE rlimit to 200k
Raphael S. Carvalho (21):
db: add missing sstable::mark_for_deletion call
sstables: fix comment describing sstable::mark_for_deletion
db: fix indentation
sstables: remove outdated comment
db: add method to update the system table COMPACTION_HISTORY
db: add method to get compaction history
sstables: update compaction history at the end of compaction
api: add support to compaction history
sstables: move compaction_stats to header file
sstables: store keyspace and cf in compaction_stats
db: add method to get compaction manager from cf
compaction_manager: introduce list of compaction_stats
compaction: register and deregister compaction_stats
api: implement get_compactions
fix cql_query_test
db: fix build of sstable list in column_family::compact_sstables
db: add missing sstable::mark_for_deletion call
sstables: fix comment describing sstable::mark_for_deletion
db: fix indentation
sstables: remove outdated comment
compaction: fix max_purgeable calculation
Shlomi Livne (1):
Make sure the directory we are writting coredumps to exists
Takuya ASADA (25):
dist: add package dependency to gnutls library
dist: add scylla-gdb.py on scylla-server-debuginfo rpm package
dist: add mdadm, xfsprogs on package dependencies
dist: specify NIC ifname on sysconfig, pass it to posix_net_conf.sh
dist: add SET_NIC entry on sysconfig
dist: provide generic scylla setup script
dist: enable coredump, save it to /var/lib/scylla/coredump
dist: host gcc-5.1.1-4.fc22.src.rpm on our S3 account, since Fedora mirror deleted it
dist: add hwloc as a dependency
dist: downgrade g++ to 4.9 on Ubuntu
dist: add missing building time dependencies for Ubuntu
dist: add execute permission to build_ami_local.sh
dist: skip mounting RAID if it's already mounted
dist: use tsc clocksource on AMI
dist: support CentOS yum repository
dist: use $ID instead of $NAME to detect type of distribution
dist: use /etc/os-release instead of /etc/redhat-release
dist: support RHEL on scylla_install
dist: setup ntpd on AMI
dist: support non-ami boot parameter setup, add parameters for preallocate hugepages on boot-time
dist: don't abort scylla_coredump_setup when 'yum remove abrt' failed
dist: use readable time format on coredump file, instead of unix time
dist: show usage and scylla-server status when login to AMI instance
dist: fix .rpm build error (File not found: scylla_extlinux_setup)
dist: apply limits settings correctly on Ubuntu
Tomasz Grabiec (36):
Merge tag 'large-blobs/v3' from git@github.com:avikivity/scylla.git
Merge branch 'dev/amnon/index_summary_size_v2' from seastar-dev.git
Merge branch 'pdziepak/fix-partial-clustering-keys/v1' from seastar-dev.git
Merge branch 'pdziepak/fix-clustering-key-comparison/v2' fom seastar-dev.git
storage_proxy: Fix range splitting
Abstract timestamp creation behind new_timestamp()
frozen_mutation: Introduce decorated_key() helper
Introduce ring_position_less_comparator
range: Introduce equal()
Remove dead code
storage_proxy: Extract get_restricted_ranges() as a free function
tests: Add test for get_restricted_ranges()
scylla-gdb.py: Allow the script to be sourced multiple times
tests: cql_query_env: Avoid exceptions during normal execution
tests: sstable_test: Avoid throwing during expected conditions
data_value: Make printable
query_processor: Add trace-level logging of queries
db/serializer: Introduce to_bytes/from_bytes helpers
data_output: Introduce write_view() which matches data_input::read_view()
messaging_service: Remove unused parameters from send_migration_request()
query: Make query::result movable
mutation_query: Make reconcilable_result printable
tests: row_cache: Fix test_update()
tests: mutation_assertions: Own the mutation which is checked
tests: mutation_assertion: Allow chaining of assertions
tests: mutation_assertion: Introduce has_schema()
tests: mutation_reader_assertions: Introduce next_mutation()
tests: mutation_assertions: Make is_equal_to() check symmetricity
types: Make name() return const&
compress: Add equality operators
schema: Add equality operators
schema: Remove dead code
schema: Fix operator==() to include missing fields
Merge branch 'pdziepak/fix-sstables-key_reader-663/v2'
Merge branch 'penberg/cql-cleanups/v1' from seastar-dev.git
Merge branch 'calle/paging_fixes' from seastar-dev.git
Vlad Zolotarov (3):
core: use steady_clock where monotinic clock is required
tests: use steady_clock where monotinic clock is required
database: actually check that a snapshot directory exists
Scylla-jmx Contributions
Amnon Heiman (14):
Do not add command line param by default
StorageService: getLoadMap should format the load
APIClient: snapshot details should align to the API
Importing CompactionHistoryTabularData from origin
CompactionManager: Switch to the update compaction history API
Limit JVM maximum heap size to 256 MB
StorageService: rename the dc parameter in rebuild
FailureDetector: the ip address should have a leading slash
StorageService: format the describering output
StorageService: change repair to the updated API
Clean the jmxproxy output
APIClient: Fixing parsing long as int
APIClient: Add a mapStringDouble method
StorageService: Support the update getLoadMap API
Nadav Har'El (3):
scylla-jmx: repairAsync: don't ignore options
scylla-jmx: use ":", not "=", to build options list
scylla-jmx: fix the forceRepairAsync() used by "nodetool repair"
Pekka Enberg (6):
Merge "Update the get history to be compatible with the API" from Amnon
dist/ubuntu: Remove unneeded startup parameters
Rename urchin-mbean.jar to scylla-jmx.jar
Rename "com.cloudius.urchin" package to "com.scylladb.jmx"
Clean up after unused imports
release: prepare for 0.14
Takuya ASADA (1):
dist: remove unneeded parameters