Skip to content

RELEASE Scylla 0.17 Beta

Tzach Livyatan edited this page Feb 8, 2016 · 2 revisions

The Scylla team is pleased to announce the release of Scylla version 0.17

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 fixes.

Some of the noteworthy updates are:

  • Support for incremental backups

  • Support for nodetool stop compaction

  • Move to latest release of seastar and scylla-jmx Full list of scylla, scylla-jmx contributions below.

Get started with Scylla 0.17 here.

If you have any questions about the new release, please post to the scylladb-users mailing list.

Scylla Contributions

Amnon Heiman (17):
      API: Add version to application state in failure_detection
      migration_task: rename logger name
      API: storage_service get_logging_level
      Add code generation for serializer and deserializer
      endpoint_state adds a constructor for all serialized parameters
      Changes the versioned_value to make serializeble
      Add a constructor to inet_address from uint32_t
      A schema definition for gossip_digest_ack
      configure.py Add serializer code generation from schema
      Adding the serializer decleration and implementation files.
      Adding a sepcific template initialization in messaging_service to use     the serializer
      README.md: Add dependency for pyparsing python3
      Add an IDL definition file
      idl-compiler: Fix an issue with default values
      Breaking the API initialization into stages
      Fix API init process
      idl-compiler: split the idl list

Asias He (69):
      gossip: Enable debug msg for convcit
      gossip: Print node status in handle_major_state_change
      gossip: cleanup application_state
      cql_server: Fix connection shutdown
      streaming: Remove the _handlers helper
      streaming: Remove unused verb handlers
      gossip: Wait for gossip timer callback to finish in do_stop_gossiping
      streaming: Add more debug info
      streaming: Simplify send_complete_message
      streaming: Fail the session if fails to send COMPLETE_MESSAGE
      messaging_service: Fix send_message_timeout_and_retry
      idl: Add gossip_digest_ack2
      idl: Add gossip_digest_syn
      messaging_service: Add gossip_digest_syn implementation
      messaging_service: Add gossip_digest_ack2 implementation
      gossip: Drop unused serialization code
      messaging_service: Add gossip_digest implementation
      gossip: Drop unused serialization code
      messaging_service: Add versioned_value implementation
      messaging_service: Add gossip::endpoint_state implementation
      gossip: Drop unused serialization code
      gossip: Drop unused serialization code
      messaging_service: Add heart_beat_state implementation
      gossip: Drop unused serialization code
      streaming: Drop unused parameters
      streaming: Drop streaming/messages/complete_message
      streaming: Drop streaming/streaming.cc
      streaming: Drop streaming/messages/received_message
      streaming: Drop streaming/messages/retry_message
      streaming: Drop streaming/messages/incoming_file_message
      streaming: Drop streaming/messages/session_failed_message
      streaming: Drop unnecessary parameters in stream_init_message
      streaming: Drop the get_or_create_session_by_id interafce
      streaming: Refactor host_streaming_data
      streaming: Rename get_or_create_next_session to get_or_create_session
      streaming: Rename stream_result_future::init to ::init_sending_side
      streaming: Kill stream_result_future::create_and_register
      tests: Stop gossip during shutdown in cql_test_env
      streaming: Do not print session_index in handle_session_prepared
      streaming: Get rid of stream_init_message
      streaming: Always return zero for session_index in api/stream_manager
      streaming: Get rid of the stream_index
      streaming: Get rid of keep_ss_table_level
      streaming: Remove unused serialization code for file_message_header
      streaming: Remove stream_session::file_sent
      streaming: Get rid of file_message_header
      gossip: Rename echo verb to gossip_echo
      messaging_service: Drop STREAM_INIT_MESSAGE
      streaming: Drop unused repaired_at in stream_request
      idl: Add streaming.idl.hh
      messaging_service: Add streaming implementation for idl
      streaming: Drop unused serialization code
      streaming: Drop unused compression_info
      streaming: Remove stream_message
      streaming: Flatten streaming messages class namespace
      streaming: Cleanup outgoing_file_message
      streaming: Cleanup prepare_message
      api: Fix get_{all}total_outgoing_byte in stream_manager
      streaming: Add get_peer_session_info
      api: Fix peer -> streaming_plan id in stream_manager
      configure: Fix idl indentation
      config: Introduce shutdown_announce_in_ms option
      storage_service: Call drain inside handle_state_removing
      storage_service: Add drain on shutdown logic
      storage_service: Shutdown messaging_service in decommission
      streaming: Add get_all_streams in stream_manager
      api: Fix stream_manager total_incoming/outgoing bytes
      streaming: Account number of bytes sent and received per session
      api: Use get_bytes_{received,sent} in stream_manager

Avi Kivity (17):
      Merge seastar upstream
      README: add hwloc and numactl to install recommendations
      README: add libxml2 and libpciaccess packages to list or required packages
      Merge seastar upstream
      Merge seastar upstream
      storage_proxy: make MUTATION and MUTATION_DONE verbs sychronous at the server side
      messaging service: limit rpc server resources
      Merge seastar upstream
      Merge seastar upstream
      Update ami submodule
      Merge seastar upstream
      Update test/message.cc for MESSAGE verb rename
      Update scylla-ami submodule
      Merge seastar upstream
      main: exit with code 0 on shutdown
      Merge seastar upstream
      Merge "Sstable cleanup fixes" from Tomasz

Calle Wilund (14):
      query_pagers: fix log message in requires_paging
      select_statement: Make sure all aggregate queries use paging
      auth_test: workaround ASan false error
      auth_test: workaround ASan false error
      commitlog_replayer: Modify logging to more match origin
      commitlog_replayer: Modify logging to more match origin
      auth_test: Modify yet another case to use "normal" continuation.
      auth: Add a simplistic "schedule" for auth db setup
      commitlog: minor cleanup - remove red squiggles in eclipse
      commitlog: split write/flush counters
      commitlog: Add some feedback/measurement methods
      commitlog: Add write/flush limits
      commitlog: wait for writes (if needed) on new segment as well
      commitlog bugfix: Fix batch mode

Erich Keane (1):
      Replace deprecated BOOST_MESSAGE with BOOST_TEST_MESSAGE

Glauber Costa (11):
      sstables: don't repeat file_writer creation all the time
      sstables: always use a file_*_stream_options in our readers and writes
      mutation_source: turn it into a class
      key_source: turn it into a class
      sstables: mandate a buffer size parameter for data_stream_at
      sstables: wire priority for write path
      sstables: wire priority for read path
      add a priority class to mutation readers
      introduce a priority manager
      mark I/O operations with priority classes
      use auto&& instead of auto& for priority classes.

Gleb Natapov (28):
      fix batch size checking
      storage_proxy: remove batchlog synchronously
      cleanup gossip_digest.idl
      Reorder bool and uint8_t serializers
      Add serializers for more basic types.
      Add idl files for more types.
      Make constructor from bytes for partition_key and clustering_key_prefix public
      Prepare partition_slice to be used by serializer.
      Move specific_ranges to .hh and un-nest it.
      un-nest range::bound class.
      Fix read_command constructor to not copy parameters.
      Add ring_position constructor needed by serializer.
      Add serializer overload for query::read_command.
      Add serializer overload for query::partition_range.
      Remove no longer used serializers.
      Add bytes_ostream serializer.
      Move query::result to use idl.
      Remove old query::result serializer
      Remove redundant vector serialization code.
      Move smart pointer serialization helpers to .cc file.
      Move reconcilable_result and frozen_mutation to idl
      Remove old serializer for frozen_mutation and reconcilable_result
      messaging_service: log rpc errors
      Make serializer use new simple stream location
      messaging_service: replace rpc::type with boost::type
      idl: add missing header to serializer.hh
      Add serialization helper to use outside of rpc.
      Move paging_state to use idl

Nadav Har'El (2):
      repair: forbid repair with "-dc" not including the current host
      repair: try harder to repair, even when some nodes are unreachable

Paweł Dziepak (30):
      commitlog: introduce entry_writer
      commitlog: keep track of schema versions
      commitlog: add commitlog entry writer and reader
      commitlog: allow adding entries using commitlog_entry_writer
      commitlog: use commitlog entry writer and reader
      commitlog: do not skip entries inside a chunk
      commitlog: learn about schema versions during replay
      commitlog: upgrade mutations during commitlog replay
      sstables: ignore data belonging to dropped columns
      sstable: handle multi-cell vs atomic incompatibilities
      tests/sstable: add test for multi schema
      schema: keep track of removed collections
      schema: use _raw._collections to generate comparator name
      type_parser: accept sstring_view
      schema: read collections from comparator
      cql3: forbid re-adding collection with incompatible type
      tests: allow any future in assert_that_failed()
      tests/cql3: add tests for ALTER TABLE validation
      schema: fix comparator parsing
      schema: add _raw._collections check to operator==()
      schema: print collection info
      types: fix compatibility for text types
      tests/type: add test for simple type compatibility
      tests/cql3: add tests for ALTER TABLE with multiple collections
      types: use correct name for date_type
      types: add date type to parse_type()
      types: make timestamp_type and date_type compatible
      tests/types: add test for timestamp and date compatibility
      sstables: do not drop row marker when reading mutation
      row_cache: protect against stale entries

Pekka Enberg (6):
      service/storage_service: Fix typos in logger messages
      api/messaging_service: Fix heap-buffer-overflows in set_messaging_service()
      streaming/stream_session: Don't stop stream manager
      Update scylla-ami submodule
      db/commitlog: Fix debug log format string in commitlog_replayer::recover()
      release: prepare for 0.17

Raphael S. Carvalho (23):
      db: move generation calculation code to a function
      db: move code that rebuilds sstable list to a function
      sstables: prepare compact_sstables to work with cleanup
      tests: add test to a sstable rewrite
      compaction: move compaction execution from strategy to manager
      compaction: filter out compacting sstables
      db: add support to clean up a column family
      api: implement force_keyspace_cleanup
      compaction: filter out mutation that doesn't belong to shard
      compaction: rename compaction_stats to compaction_info
      compaction: add ability to stop an ongoing compaction
      api: fix paramType of parameter of stop_compaction
      api: implement stop_compaction
      sstables: fix sstable::data_stream_at
      sstables: fix make_checksummed_file_output_stream
      move compaction manager from /utils to /sstables
      compaction_manager: introduce signal_less_busy_task
      compaction_manager: introduce can_submit
      change abstract_replication_strategy::get_ranges to not return wrap-arounds
      compaction: remove code to sort local ranges
      compaction: pass dht::token by reference
      api: print proper compaction type
      compaction: delete generated sstables in event of an interrupt

Shlomi Livne (1):
      Fix test.py invocation of sstable_test

Takuya ASADA (29):
      dist: add missing build time dependency for thrift package on Ubuntu
      dist: resolve build time dependency by mk-build-deps command, do not install them manually
      dist: use gdebi to resolve install-time dependencies
      dist: add missing dependency (xfslibs-dev) for Ubuntu
      dist: prevent use abrt with scylla
      dist: preserve environment variable when running scylla_prepare on sudo
      dist: extend coredump size limit
      dist: disable SELinux only when it enabled
      dist: stop ntpd before running ntpdate
      dist: use our own CentOS7 Base image
      dist: add 'scylla-gdb' package for CentOS
      dist: fetch CentOS dependencies from koji, update them to latest version
      main: support supervisor_notify() on Ubuntu
      dist: remove mdadm,xfsprogs from dependencies, install it when constructing RAID by scylla_raid_setup
      dist: remove abrt from AMI, since it's not able to work with Scylla
      dist: don't depends on libvirtd, since we are not using it
      dist: add missing dependencies for scylla-gdb
      dist: add pyparsing on Fedora build time dependency
      dist: add pyparsing on Ubuntu build time dependency
      dist: add pyparsing on CentOS build time dependency CentOS
      dist: support CentOS AMI on scylla_ntp_setup
      dist: fix scylla_bootparam_setup for Ubuntu
      dist: use nightly for prebuilt 3rdparty packages (CentOS)
      main: autodetect systemd/upstart
      dist: set ulimit in upstart job
      dist: run upstart job as 'scylla' user
      main: raise SIGSTOP only when scylla become ready
      dist: eliminate startup script
      dist: enable collectd client by default

Tomasz Grabiec (18):
      config: Add 'experimental' switch
      tests: cql_test_env: Enable experimental features
      cql3: Disable ALTER TABLE unless experimental features are on
      config: Set default logging level to info
      sstables: Add ability to wait for async sstable cleanup tasks
      row_cache: Restore indentation
      logalloc: Excluded zones' free segments in lsa/byres-non_lsa_used_space
      tests: Don't depend on partition_key representation
      database: Add trace-level logging of applied mutations
      database: Print table name when printing mutation
      canonical_mutation: Introduce column_family_id() getter
      batchlog_manager: Add more debug logging
      batchlog_manager: Store canonical_mutations
      cql3: Print only column name in error message
      tests: memory_footprint: Show canonnical_mutation size
      bytes_ostream: Adapt to Output concept used in serializer.hh
      canonical_mutation: Remove commented out junk
      database: Move implementation to .cc

Vlad Zolotarov (6):
      locator::reconnectable_snitch_helper: don't check messaging_service version
      sstable::write_components(): add a 'backup' parameter
      sstables flushing: enable incremental backup (if requested)
      config: allow enabling the incremental backup via .yaml
      locator::ec2_multi_region_snitch: add a get_name() implementation
      ec2_snitch: complete the EC2Snitch -> Ec2Snitch renaming

Scylla JMX Contributions

Amnon Heiman (2):
      Remove leftover println from StreamingMetrics
      StorageService: setLoggingLevel

Avi Kivity (1):
      version: rename development version to 666.development

Lucas Meneghel Rodrigues (1):
      pom.xml: Add log4j classes

Pekka Enberg (2):
      CompactionManager: Fix compaction manager API URLs
      release: prepare for 0.17
Clone this wiki locally