Skip to content

RELEASE Scylla 0.16 Beta

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

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

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:

  • Scylla AMI is now base on CentOS 7. Make sure to use log in centos when connecting to a Scylla AMI
  • ALTER TABLE feature was merged, but not officially available yet. We are actively testing it and will announce availability in a future release. If you are brave enough to test it, use scylla option --experimental to enable it.
  • SSL for client to node and node to node encryption was merged, but not officially available yet. We are actively testing it and will announce availability in a future release.
  • Move to latest release of seastar and scylla-jmx Full list of scylla, scylla-jmx contributions below.

Get started with Scylla 0.16 here.

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

Scylla Contributions

Asias He (5):
      gossip: Add wait_for_gossip_to_settle
      messaging_service: Rename shard_id to msg_addr
      storage_service: Fix load_broadcaster in get_load_map
      main: Change API server starting message
      gossip: Add is_safe_for_bootstrap

Avi Kivity (11):
      snitch: intentionally leak snitch singleton
      main: wait for API http server to start
      db: reduce log spam when ignoring an sstable
      build: add support for optional pkg-config managed packages
      dist: redhat: drop 'sudo' in scylla_run
      Merge seastar upstream
      Update scylla-ami submodule
      main: notify systemd of startup progress
      Merge seastar upstream
      main: make --developer-mode relax dma requirements
      Merge seastar upstream

Benoît Canet (1):
      config: Mark ssl_storage_port as Used

Calle Wilund (22):
      commit log reader bugfix: Fix tried to read entries across chunk bounds
      commit log reader bugfix: Fix tried to read entries across chunk bounds
      paging bugfix: Ensure limit for single page is min(page size, limit left)
      paging bugfix: Allow reset/removal of "specific ck range"
      paging bugfix: Ensure limit for single page is min(page size, limit left)
      batch_statement: Modify verify_batch_size to match current origin
      paging bugfix: Allow reset/removal of "specific ck range"
      exceptions: add authorization exceptions
      auth::data_resource: resource identifier for auth permissions
      auth::permission: permissions for authorization
      auth::authenticated_user: Object representing a named or anon user
      types.hh: Add data_type_for<bool>
      cql3::query_options: Add constructors for internal processing
      batch_statement: Modify verify_batch_size to match current origin
      cql3::query_processor: Add processing helpers for internal usage
      auth::auth/authenticator: user storage and authentication
      storage_service: Initialize auth system on start
      client_state: Add user object + login
      transport::server: Add authentication support
      config: Mark "authenticator" used + update description
      cql_test_env: Allow specifying db::config for the env
      auth_test: Unit tests for auth objects

Gleb Natapov (1):
      storage_proxy: improve mutation timeout logging

Lucas Meneghel Rodrigues (1):
      dist/ami: Print newline at the end of MOTD banner

Paweł Dziepak (10):
      schema: keep track of dropped columns
      schema: add column_definition::_dropped_at
      mutation_partition: drop cells from dropped_columns at upgrade
      schema_builder: add with_column_rename()
      schema_builder: add with_altered_column_type()
      schema_builder: force column id recomputation in build()
      system_tables: store sechma::dropped_columns in system tables
      db/schema_tables: simplify column difference computation
      cql3: complete translation of alter table statement
      tests/cql: add tests for ALTER TABLE

Pekka Enberg (4):
      gms/gossiper: Fix compilation error
      service/client_state: Use anonymous user when authentication is disabled
      main: Start the API service as the last step
      release: prepare for 0.16

Takuya ASADA (20):
      dist: use scylla-boost instead of boost to fix compile error on CentOS
      configure.py: add --python option to specify python3 command path, for CentOS
      dist: add build time dependency to scylla-libstdc++-static for CentOS
      dist: don't need yum install and mv scylla-ami before scylla_install
      dist: switch AMI base image from Fedora to CentOS
      dist: fetch CentOS dependencies from our yum repository by default
      dist: remove scylla_local.json, merge it to scylla.json
      dist: split scylla_install script to two parts, scylla_install_pkg is for installing .rpm/.deb packages, scylla_setup is for setup environment after package installed
      dist: since AMI uses XFS rootfs, we don't need to warn extra disks not attached to the AMI instance
      dist: use systemd-coredump on Fedora/CentOS, create symlink /var/lib/scylla/coredump -> /var/lib/systemd/coredump when we mounted RAID
      dist: cleanup build directory before creating rpms for AMI
      dist: prevent 'local rpm' AMI image update to older version of scylla package by yum update
      dist: add ignore files for AMI
      dist: yum install epel-release before installing CentOS dependencies
      dist: renumber development version as 666.development
      Revert "dist: prevent 'local rpm' AMI image update to older version of scylla package by yum update"
      dist: run scylla_prepare, scylla_stop on sudo
      dist: extend root disk size to 10GB
      dist: preserve environment variable when running scylla_prepare on sudo
      dist: extend coredump size limit

Tomasz Grabiec (89):
      create_index_statement: Use textual representation of column name
      create_index_statement: Use textual column name in all messages
      query_processor: Add trace-level logging of processed statements
      service: migration_manager: Fix announce order to match C*
      mutation_partition: Drop row tombstones in do_compact()
      Introduce hashing helpers
      Introduce md5_hasher
      schema: Guarantee that column id order matches name order
      mutation_partition: Make equal() work with different schemas
      db: Move atomic_cell_or_collection to separate header
      mutation_partition: Make visitable with mutation_partition_visitor
      keys: Add missing clustering_key_prefix_view::get_compound_type()
      mutation: Make hashable
      Introduce schema_mutations
      query::result_set: Add constructor from mutation
      schema_tables: Drop pkey parameter from add_table_to_schema_mutation()
      schema_tables: Simplify schema building invocation chain
      schema_tables: Use schema_mutations for schema_ptr translations
      db: Move system keyspace initialization to init_system_keyspace()
      schema_builder: Move compact_storage setting outside build()
      schema: Make schema objects versioned
      schema: Introduce column_count_type
      types: Introduce is_atomic()
      db/serializer: Spread serializers to relax header dependencies
      db/serializer: Implement skip() for bytes and sstring
      schema: Introduce column_mapping
      Introduce converting_mutation_partition_applier
      mutation_partition_view: Make visitable also with column_mapping
      mutation: Implement upgrade()
      test: Add tests for mutation upgrade
      mutation_source_test: Add mutation generators
      log: Change default level from warn to info
      tests: Use mutation generators in frozen_mutation_test
      mutation_assertions: Add is_not_equal_to()
      tests: mutation_test: Add tests for equality and hashing
      Introduce canonical_mutation
      Make schema_mutations serializable
      schema: Introduce frozen_schema
      memtable: Deconstify memtable in readers
      memtable: Read under _read_section
      schema: Enable shared_from_this()
      Introduce schema_registry
      Introduce global_schema_ptr
      frozen_mutation: Add schema_version field
      query: Add schema_version field to read_command
      cql_query_test: Disable test_user_type
      db: Learn schema versions when adding tables
      Make mutation interfaces support multiple versions
      db: Make read interface schema version aware
      batchlog_manager: Use requested schema version
      service: Add GET_SCHEMA_VERSION remote call
      column_family: Add schema setters
      schema_tables: Change column_family schema on schema sync
      tests: memtable_test: Add test for concurrent reading and schema changes
      tests: Introduce canonical_mutation_test
      migration_manager: Introduce merge_schema_from()
      service: migration_task: Implement using migration_manager::merge_schema_from()
      schema_registry: Track synced state of schema
      db: Mark new schemas as synced
      messaging_service: Introduce get_source()
      service: Fetch and sync schema
      storage_proxy: Log failures of definitions update handler
      db: Fail when attempting to mutate using not synced schema
      migration_manager: Implement migration_manager::announce_column_family_update
      schema_tables: Calculate digest from mutations
      schema_tables: Simplify merge_tables() and merge_keyspaces()
      schema_tables: Make merge_tables() compare by mutations
      tests: Add schema_change_test
      tests: Add test for column drop
      tests: Add test for column drop
      migration_manager: Simplify notifications
      db: Make column_family::schema() return const& to avoid copy
      schema_tables: Notify about table schema update
      tests: Add notification test to schema_change_test
      schema: Introduce equal_columns()
      query_processor: Invalidate prepared statements when columns change
      query_processor: Invalidate statements synchronously
      tests: Add test for statement invalidation
      schema_tables: Notify about table creation after it is fully inited
      schema_tables: Wait for make_directory_for_column_family() to finish in merge_tables()
      messaging_service: Move REPAIR_CHECKSUM_RANGE verb out of the streaming verbs group
      row_cache: Make invalidate() handle wrap-around ranges
      tests: Add more tests for row_cache::invalidate()
      row_cache: Take the reclaim lock in invalidate()
      row_cache: Guard against wrap-around range in make_reader()
      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

Tzach Livyatan (2):
      Add REST API server ip:port parameters to scylla.yaml
      Fix AMI prompt from "nodetool --help" to "nodetool help"

Vlad Zolotarov (5):
      database: lister: add a filtering option
      database: filter out a manifest.json files
      tests: gossip_test: initialize a broadcast address and a snitch
      storage_proxy::query(): intercept exceptions coming from trace()
      messaging_service::get_rpc_client(): fix the encryption logic

Scylla JMX contributions

Avi Kivity (2):
      dist: do not always restart jmx on shutdown
      Use serial garbage collector

Pekka Enberg (1):
      release: prepare for 0.16
Clone this wiki locally