Skip to content

RELEASE Scylla 0.12 Beta

Tzach Livyatan edited this page Dec 15, 2015 · 2 revisions

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

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 additions are:

  • query result paging
  • nodetool: netstats, describering
  • Move to latest release of seastar and scylla-jmx Full list of scylla, scylla-jmx contributions below.

Downloads binary distributions or launch EC2 AMI: http://www.scylladb.com/download/

Please let us know if you encounter any problem.

scylla Contributions

Amnon Heiman (15):
      messaging_service: Add a function that goes over all the server stats
      storage_proxy: Add read repair statistics
      API: add read repair stats to the storage_proxy
      API: Add repond complete to the messaging service swagger
      API: messaging service, Add getter for the pending and completed server
      Adding API as an unimplemented cause
      API: A workaround for nodetool cleanup
      Importing token_range and endpoint_details from origin
      storage_service: Add method implementation from origin
      API: Add describe ring API implementation
      API: compaction_manager should catch the field reference by value
      compaction_strategy should accept both class name and full class name
      storage_service: add get_natural_endpoints implementation
      API: add get_natural_endpoints to storage_service
      API: messaging service add timeout and dropped support

Asias He (58):
      storage_service: Serialize more node management operations with write api lock
      storage_service: Introduce run_with_read_api_lock
      storage_service: Serialize more node management operations with read api lock
      storage_service: Serialize join_ring with write api lock
      storage_service: Serialize is_joined with read api lock
      storage_service: Serialize get_ownership with read api lock
      storage_service: Serialize effective_ownershipp with read api lock
      storage_service: Serialize gossiping operations
      config: Enable storage_port option
      storage_service: Introduce run_with_no_api_lock
      storage_service: Serialize rebuild
      gossip: Futurize add_local_application_state()
      gossip: Futurize gossiper_starting
      migration_manager: Fix ignored future in passive_announce
      load_broadcaster: Fix ignored future in start_broadcasting
      tests: Fix ignored future for add_local_application_state
      tests: Add documents to tests/gossip.cc
      ami: Improve scylla raid setup
      token: Handle minimum token correctly in long_token
      database: Introduce get_initial_tokens
      storage_service: Add initial_token config option support
      storage_service: Implement get_new_source_ranges
      storage_service: Implement calculate_stream_and_fetch_ranges
      storage_service: Implement range_relocator class
      token_metadata: Add clone_after_all_settled
      range_streamer: Add get_work_map
      storage_service: Implement calculate_to_from_streams
      storage_service: Implement move
      storage_service: Use get_local_tokens in set_tokens
      api: Implement storage_service::move
      storage_service: Make fd a reference in remove_node
      token_metadata: Add add_moving_endpoint
      storage_service: Enable add_moving_endpoint in handle_state_moving
      storage_service: Fix bogus log in on_dead
      storage_service: Enable commented out in on_restart
      range_streamer: Fix get_all_ranges_with_strict_sources_for
      range_streamer: Simplify unordered_multimap_to_unordered_map
      token_metadata: Fix set_difference in calculate_pending_ranges
      storage_service: Fix hang of decommission
      gossip: Add const version for get_heart_beat_state and friends
      gossip: Pass const ref if possible
      gossip: Fix shutdown
      streaming: Remove bogus file size info for prepare completed
      streaming: Handle stream_plan with no range added
      streaming: session close
      streaming: Improve state transition log for maybe_completed and complete
      streaming: Set state to STREAMING only if we really have data to sent
      streaming: Print plan_id in logger
      streaming: Add operator<< for stream_session_state
      streaming: stream_session print stream_session_state properly
      token_metadata: Implement pending_endpoints_for
      range_streamer: Add virtual destructor to i_source_filter
      storage_service: Fix cql and thrift server stop in decommission
      streaming: Add two more virtual destructors
      transport: Fix cql server stop
      to_string: Support std::set and std::unordered_set for to_string
      init: Check seeds address if listen_address != broadcast_address
      streaming: Skip non-exist cf for stream_transfer_task

Avi Kivity (40):
      cql3: don't declare counter-related functions
      data_value de-any-fication
      Remove kvm/ subdirectory
      Merge "Updates for EC2Snitchs"
      Merge "Futurize all callers of add_local_application_state" from Asias
      Merge "storage_service: serialize more management operations" from Asias
      Make abstract_type::serialize(data_value) a member of data_value
      Merge seastar upstream
      Merge
      Merge "locator: use the correct snitch instance in gossiping_property_file_snitch::reload_configuration()" from Vlad
      sstables: fix compile error
      Merge "add [background] read/write statistics" from Gleb
      Merge "Adding missing statistics to enable nodetool netstats" from Amnon
      Update scylla-ami submodule
      types: implement date_type::from_string()
      Merge "Adding describering API" from Amnon
      Merge seastar upstream
      Merge "support initial_token config option" from Asias
      Merge seastar upstream
      Merge "move node support + decommission fix" from Asias
      Revert "do not try to write same memtable to sstable twice if moving it to a cache failed."
      Merge "Fixes for collections of collections" from Paweł
      Merge "gossip shutdown fix + streaming fix" from Asias
      Merge "Paging support" from Calle
      Merge "Commitlog format change: add scylla "magic"" from Calle
      Merge "Aggregate paging support" from Calle
      Merge seastar upstream
      data_value: make conversion from bytes explicit
      data_value: add constructor from bool
      types: fix concrete_type::native_type_move()
      db: change collection_mutation::{one,view} not to use nested classes
      cql3: add operation::make_cell() helpers
      allocation_strategy: constify migrate_fn
      managed_bytes: add a constructor from std::initializer_list<>
      Merge "Eliminate errors/warnings on building ubuntu package" from Takuya
      logalloc: allow allocating_section code blocks to return references
      memtable: use allocating_section to guard allocations
      Merge "Gossiper const correctness" from Pekka
      Merge "Add the natural_endpoints API" from Amnon
      Merge "move scylla.yaml to /etc/scylla" from Takuya

Calle Wilund (19):
      data_input: Fix missing bounds check
      data_output: Template "blob" writers (bytes*) to allow for varying "size" type
      cql3::result_set: Add non-const metadata getter.
      cql3::selection: Fix some constness correctness
      result_view: Add static helper method to do the dispatch from select
      cql3::selection: Move result set building visitor to result_set_builder
      result_set: Make "paging_state" a pointer to const member
      paging_state implementation
      cql_server::connection::read_options: Deserialize paging state
      Make partition_slice::row_ranges mulitplex on partition
      query_pager: Pure virtual interface
      query_pagers: Paging implementation
      select_statement: Paging
      commitlog: Change file format to include magic marker
      commitlog_replayer: Special case exception from "old/origin file"
      query_pager: Add method for repeated queries
      select_statement: Handle aggregate queries
      query_pagers: Fix aggregate query bug
      query_pagers: Handle partition with no data but statics

Glauber Costa (7):
      sstables: be more descriptive with filename parsing errors
      dist: AMI: add discard mount option
      storage proxy: be more vocal about timeouts
      database: export collectd metrics about the state of memtable flushing
      config: change type for commitlog maximum size config option
      change defaults for commitlog maximum size
      provide cf_stats where one is needed

Gleb Natapov (17):
      storage_proxy: initialize _stats
      storage_proxy: get rid of semaphore in mutation write response handler
      storage_proxy: simplify timeout handling
      storage_proxy: move proxy pointer to write response handler
      storage_proxy: devirtualize total_block_for()
      storage_proxy: separate methods from members with access specifier
      storage_proxy: count background mutation writes
      storage_proxy: export statistics via collectd
      storage_proxy: do not capture 'this' needlessly.
      storage_proxy: add ongoing read statistics
      messaging_service: fix hanging reference access
      storage_proxy: fix race during write completion
      storage_proxy: fix mutation verb error reporting
      do not try to write same memtable to sstable twice if moving it to a cache failed.
      do not try to write same memtable to sstable twice if moving it to a cache failed.
      storage_proxy: use correct endpoint address for mutation acks processing
      enable broadcast_address configuration option

Lucas Meneghel Rodrigues (3):
      test.py: Only print test stdout if non None, non empty
      service/storage_service.cc: Fix control reaches end of non-void function error
      test.py: Use shlex to split the patch

Paweł Dziepak (7):
      transport: do not send response with unknown protocol version
      lsa: free segment in trim_emergency_reserve_to_max()
      cql3/sets: add element_discarder
      cql3/maps: do not assume that the term type is constants::value
      cql3/sets: simplify sets::discarder
      tests/cql: add tests for collections of collections
      lsa: account for size of objects too big for LSA

Pekka Enberg (9):
      Update 'docker run' instructions in README
      Merge "Fixes for dependency packages, fix upstart script" from Takuya
      Merge "Wire reconnectable_snitch_helper to gossiping_property_file_snitch" from Vlad
      gms/gossip_digest_syn: Make get_gossip_digests() const
      gms/gossip_digest_ack: Make some members const
      gms/gossip_digest: Make some members const
      gms/heart_beat_state: Make get_heart_beat_version() const
      gms: Fix gossiper::handle_major_state_change() restart logic
      release: prepare for 0.12

Raphael S. Carvalho (2):
      sstables: compaction: handle failure on read fiber
      sstables: improve exception handling in compact_sstables

Shlomi Livne (5):
      Update snitch registration EC2Snitch --> Ec2Snitch
      Update snitch registration EC2MultiRegionSnitch --> Ec2MultiRegionSnitch
      dist: ubuntu copy cassandra-rackdc.properties
      dist: fedora/rhel/centos copy cassandra-rackdc.properties
      dist: set SCYLLA_HOME used to find the configuration and property files

Takuya ASADA (30):
      dist: update Ubuntu's g++ to 5.x
      dist: move inline script to setup-ami.sh
      dist: use scylla repo on ami, instead of locally built rpms
      dist: update packages on ec2 instance first bootup
      dist: add scylla.repo to fetch scylla rpms on ami
      dist: support ./SCYLLA-VERSION-GEN on ubuntu package
      dist: split debug symbol to sepalate package on ubuntu
      dist: add missing dist/ubuntu/changelog.in
      dist: prevent error building ubuntu package on EC2
      dist: fix 'missing-license-paragraph-in-dep5-copyright' message on building ubuntu package
      dist: fix 'ancient-standards-version 3.9.2' message on building ubuntu package
      dist: fix 'maintainer-script-lacks-debhelper-token' message on building ubuntu package
      correct permission of cassandra-rackdc.properties
      dist: fix 'wrong-section-according-to-package-name' and 'debug-package-should-be-priority-extra' message on building ubuntu package
      dist: ignore some files under debian/ which are created on building time
      dist: fix 'maintainer-script-needs-depends-on-adduser postinst' message on building ubuntu package
      dist: make ubuntu package as 'debian non-native package'
      dist: fix 'extended-description-line-too-long' message on building ubuntu package
      dist: fix 'source-is-missing' message on building ubuntu package
      dist: move redhat/sysconfig to common/sysconfig
      dist: place 'default' file by debian way
      dist: fix 'init.d-script-not-included-in-package' message on building ubuntu package
      dist: fix 'init.d-script-missing-dependency-on-remote_fs' message on building ubuntu package
      dist: ignore bogus 'dist/ubuntu/debian/source/lintian-overrides' on ubuntu package building
      dist: do not overwrite config files on 'yum update'
      dist: merge redhat/limits.d and debian/limits.d to common/limits.d
      dist: change scylla.yaml install path to /etc/scylla (Fedora/CentOS)
      dist: change scylla.yaml install path to /etc/scylla (Ubuntu)
      dist: specify SCYLLA_CONF as /etc/scylla
      dist: don't specify scylla.yaml path directly, use SCYLLA_CONF instead

Tomasz Grabiec (15):
      Fix compilation of types_test
      query_processor: Use the correct client_state
      range: Make unwrap() return ranges in-order
      range: Extract bound comparators
      range: Implement subtract()
      tests: Add test for range::subtract()
      cql_test_env: Flatten stop()
      cql_test_env: Initialize system keyspace
      range: Fix range::subtract() for some cases
      schema: Move definitions to source file
      paging_state: Move instead of copy when possible
      storage_proxy: Stop latency_counter before throwing
      Merge 'memtable-allocating_section/v2' from https://github.com/avikivity/scylla.git
      Merge tag 'native-preparatory/v1' from https://github.com/avikivity/scylla.git
      Move seastar.git HEAD

Tzach Livyatan (1):
      add build and run from source instructions in README.md

Vlad Zolotarov (5):
      locator::i_endpoint_snitch_base: move _gossip_started to the base class
      locator::i_endpoint_snitch_base: make reload_gossiper_state() a virtual function
      locator::i_endpoint_snitch: align the _prefer_local parameter with _my_dc and _my_rack
      locator::gossiping_property_file_snitch: fix in reload_configuration()
      locator::gossiping_property_file_snitch: don't ignore a returned future

scylla-jmx contributions

Amnon Heiman (18):
      StorageService: getLoadString should return units
      APIClient: Add getMapStringIntegerValue and getMapStringLongValue
      Add StreamManagerMBean with its subclasses
      MessagingService: Add tasks statistics
      StorageService: register the StreamManagerMBean
      Adding a configuration object for the jmx proxy
      Use the configuration object
      CacheMetrics: Add recent hit rate
      CacheService: Add depricated unimplemented methods
      StorageService: Stub the getDrainProgress
      StorageService: move should pass the parameter to the API
      StorageService: Add describering functionality
      MessagingService: Add dropped and timeout support
      Adding the APISettableMeter
      Create and register the APISettableMetrics
      Import the DroppedMessageMetrics from origin
      MessagingService add dropped and recently dropped messages impl
      MessagingService: Add the depricated getRecentTimeoutsPerHost and     getRecentTotalTimeouts

Avi Kivity (1):
      Merge "Enabling nodetool netstats" from Amnon

Pekka Enberg (4):
      Merge "JMX proxy to support configuration file" from Amnon
      Merge "Adding deprecated implementation to cache" from Amnon
      Merge "Adding the messaging service counters" from Amnon
      release: prepare for 0.12

Takuya ASADA (3):
      dist: add devscripts to install debuild before start building package
      dist: fix warning when building scylla-jmx ubuntu package
      dist: stop scylla-jmx when scylla-server stopped, don't respawn
Clone this wiki locally