./databases/apache-cassandra2, Highly scalable, distributed structured key-value store

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.2.12nb3, Package name: apache-cassandra-2.2.12nb3, Maintainer: pkgsrc-users

The Apache Cassandra Project develops a highly scalable second-generation
distributed database, bringing together Dynamo's fully distributed design
and Bigtable's ColumnFamily-based data model.


Required to run:
[shells/bash] [devel/snappy-java10] [lang/openjdk8] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites: (Expand)


Version history: (Expand)


CVS history: (Expand)


   2021-10-26 12:10:08 by Nia Alarie | Files touched by this commit (417)
Log message:
databases: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles could not be fetched (some may be only fetched
conditionally):

./databases/cstore/distinfo D6.data.ros.gz
./databases/cstore/distinfo cstore0.2.tar.gz
./databases/cstore/distinfo data4.tar.gz
   2021-10-07 15:35:53 by Nia Alarie | Files touched by this commit (417)
Log message:
databases: Remove SHA1 distfile hashes
   2020-07-27 19:21:41 by Roland Illig | Files touched by this commit (4)
Log message:
apache-cassandra2: fix hard-coded /var, fix pkglint warnings

The hard-coded /var had made the SUBST block from Makefile.common fail in
the install stage.
   2019-04-25 09:33:32 by Maya Rashish | Files touched by this commit (620)
Log message:
PKGREVISION bump for anything using python without a PYPKGPREFIX.

This is a semi-manual PKGREVISION bump.
   2018-06-09 13:37:49 by Filip Hajny | Files touched by this commit (1)
Log message:
databases/apache-cassandra2: Modify to work with the latest devel/snappy-java10. \ 
PKGREVISION++
   2018-06-08 11:34:01 by Filip Hajny | Files touched by this commit (3) | Package updated
Log message:
databases/apache-cassandra2: Update to 2.2.12.

2.2.12
======

Upgrading
---------
- See MAXIMUM TTL EXPIRATION DATE NOTICE above.
- Cassandra is now relying on the JVM options to properly shutdown on \ 
OutOfMemoryError. By default it will
  rely on the OnOutOfMemoryError option as the ExitOnOutOfMemoryError and \ 
CrashOnOutOfMemoryError options
  are not supported by the older 1.7 and 1.8 JVMs. A warning will be logged at \ 
startup if none of those JVM
  options are used. See CASSANDRA-13006 for more details.
- Cassandra is not logging anymore by default an Heap histogram on \ 
OutOfMemoryError. To enable that behavior
  set the 'cassandra.printHeapHistogramOnOutOfMemoryError' System property to \ 
'true'. See CASSANDRA-13006
  for more details.

2.2.11
======

Upgrading
---------
- Nothing specific to this release, but please see 2.2 if you are upgrading
  from a previous version.

2.2.10
======

Upgrading
---------
- Nothing specific to this release, but please see 2.2 if you are upgrading
  from a previous version.

2.2.9
=====

Upgrading
---------
- Compaction now correctly drops sstables out of CompactionTask when there
  isn't enough disk space to perform the full compaction.  This should reduce
  pending compaction tasks on systems with little remaining disk space.

Deprecation
-----------

Since the security manager added in 3.0 only allows Java and JavaScript
UDFs to be run, UDFs for other languages are deprecated and support for
non-Java and non-JavaScript UDFs is deprecated in 2.2 and has been removed
in version 3.0.11.

2.2.8
=====

Upgrading
---------
- The ReversedType behaviour has been corrected for clustering columns of
  BYTES type containing empty value. Scrub should be run on the existing
  SSTables containing a descending clustering column of BYTES type to correct
  their ordering. See CASSANDRA-12127 for more details.

2.2.7
=====

New features
------------
- JSON timestamps are now in UTC and contain the timezone information, see
  CASSANDRA-11137 for more details.

Upgrading
---------
- Ec2MultiRegionSnitch will no longer automatically set broadcast_rpc_address
  to the public instance IP if this property is defined on cassandra.yaml.

2.2.6
=====

Upgrading
---------
- Nothing specific to this release, but please see 2.2 if you are upgrading
  from a previous version.

2.2.5
=====

Upgrading
---------
- Nothing specific to this release, but please see 2.2 if you are upgrading
  from a previous version.

2.2.4
=====

Deprecation
-----------
- Pig support has been deprecated, and will be removed in 3.0.
  Please see CASSANDRA-10542 for more details.
- Configuration parameter memory_allocator in cassandra.yaml has been deprecated
  and will be removed in 3.0.0. As mentioned below for 2.2.0, jemalloc is
  automatically preloaded on Unix platforms.

Operations
----------
- Switching data center or racks is no longer an allowed operation on a node
  which has data. Instead, the node will need to be decommissioned and
  rebootstrapped. If moving from the SimpleSnitch, make sure that the data
  center and rack containing all current nodes is named "datacenter1" and
  "rack1". To override this behaviour use -Dcassandra.ignore_rack=true \ 
and/or
  -Dcassandra.ignore_dc=true.
- Reloading the configuration file of GossipingPropertyFileSnitch has been disabled.
- GC logging is now enabled by default (but you can disable it if you want by
  commenting the relevant lines of the cassandra-env file).

Upgrading
---------
- The default for the inter-DC stream throughput setting
  (inter_dc_stream_throughput_outbound_megabits_per_sec in cassandra.yaml) is
  the same than the one for intra-DC one (200Mbps) instead of being unlimited.
  Having it unlimited was never intended and was a bug.

New features
------------
- Time windows in DTCS are now limited to 1 day by default to be able to
  handle bootstrap and repair in a better way. To get the old behaviour,
  increase max_window_size_seconds.
- DTCS option max_sstable_age_days is now deprecated and defaults to 1000 days.
- Native protocol server now allows both SSL and non-SSL connections on
  the same port.

2.2.3
=====

Upgrading
---------
- Nothing specific to this release, but please see 2.2 if you are upgrading
  from a previous version.

2.2.2
=====

Upgrading
---------
- Version 1 and 2 of the native protocol are now deprecated and support
  will be removed in Cassandra 3.0. You are encouraged to upgrade to a
  client driver using version 3 of the native protocol.

Changed Defaults
----------------
- commitlog_total_space_in_mb will use the smaller of 8192, and 1/4
  of the total space of the commitlog volume. (Before: always used
  8192)
- Incremental repair is on by default since 2.2.0, run full repairs by
  providing the '-full' parameter to nodetool repair.
- Parallel repairs are the default since 2.2.0, run sequential repairs
  by providing the '-seq' parameter to nodetool repair.
- The following INFO logs were reduced to DEBUG level and will now show
  on debug.log instead of system.log:
   - Memtable flushing actions
   - Commit log replayed files
   - Compacted sstables
   - SStable opening (SSTableReader)

New features
------------
- Custom QueryHandlers can retrieve the column specifications for the bound
  variables from QueryOptions by using the hasColumnSpecifications()
  and getColumnSpecifications() methods.
- A new default assynchronous log appender debug.log was created in addition
  to  the system.log appender in order to provide more detailed log debugging.
  In order to disable debug logging, you must comment-out the ASYNCDEBUGLOG
  appender on conf/logback.xml. See CASSANDRA-10241 for more information.

2.2.1
=====

Upgrading
---------
 - Nothing specific to this release, but please see 2.2 if you are upgrading
   from a previous version.

New features
------------
- COUNT(*) and COUNT(1) can be selected with other columns or functions

2.2
===

Upgrading
---------
- The authentication & authorization subsystems have been redesigned to
  support role based access control (RBAC), resulting in a change to the
  schema of the system_auth keyspace. See below for more detail.
  For systems already using the internal auth implementations, the process
  for converting existing data during a rolling upgrade is straightforward.
  As each node is restarted, it will attempt to convert any data in the
  legacy tables into the new schema. Until enough nodes to satisfy the
  replication strategy for the system_auth keyspace are upgraded and so have
  the new schema, this conversion will fail with the failure being reported
  in the system log.
  During the upgrade, Cassandra's internal auth classes will continue to use
  the legacy tables, so clients experience no disruption. Issuing DCL
  statements during an upgrade is not supported.
  Once all nodes are upgraded, an operator with superuser privileges should
  drop the legacy tables, system_auth.users, system_auth.credentials and
  system_auth.permissions. Doing so will prompt Cassandra to switch over to
  the new tables without requiring any further intervention.
  While the legacy tables are present a restarted node will re-run the data
  conversion and report the outcome so that operators can verify that it is
  safe to drop them.

New features
------------
- The LIMIT clause applies now only to the number of rows returned to the user,
  not to the number of row queried. By consequence, queries using aggregates will not
  be impacted by the LIMIT clause anymore.
- Very large batches will now be rejected (defaults to 50kb). This
  can be customized by modifying batch_size_fail_threshold_in_kb.
- Selecting columns,scalar functions, UDT fields, writetime or ttl together
  with aggregated is now possible. The value returned for the columns,
  scalar functions, UDT fields, writetime and ttl will be the ones for
  the first row matching the query.
- Windows is now a supported platform. Powershell execution for startup scripts
  is highly recommended and can be enabled via an administrator command-prompt
  with: 'powershell set-executionpolicy unrestricted'
- It is now possible to do major compactions when using leveled compaction.
  Doing that will take all sstables and compact them out in levels. The
  levels will be non overlapping so doing this will still not be something
  you want to do very often since it might cause more compactions for a while.
  It is also possible to split output when doing a major compaction with
  STCS - files will be split in sizes 50%, 25%, 12.5% etc of the total size.
  This might be a bit better than old major compactions which created one big
  file on disk.
- A new tool has been added bin/sstableverify that checks for errors/bitrot
  in all sstables.  Unlike scrub, this is a non-invasive tool.
- Authentication & Authorization APIs have been updated to introduce
  roles. Roles and Permissions granted to them are inherited, supporting
  role based access control. The role concept supercedes that of users
  and CQL constructs such as CREATE USER are deprecated but retained for
  compatibility. The requirement to explicitly create Roles in Cassandra
  even when auth is handled by an external system has been removed, so
  authentication & authorization can be delegated to such systems in their
  entirety.
- In addition to the above, Roles are also first class resources and can be the
  subject of permissions. Users (roles) can now be granted permissions on other
  roles, including CREATE, ALTER, DROP & AUTHORIZE, which removesthe need for
  superuser privileges in order to perform user/role management operations.
- Creators of database resources (Keyspaces, Tables, Roles) are now automatically
  granted all permissions on them (if the IAuthorizer implementation supports
  this).
- SSTable file name is changed. Now you don't have Keyspace/CF name
  in file name. Also, secondary index has its own directory under parent's
  directory.
- Support for user-defined functions and user-defined aggregates have
  been added to CQL.
  ************************************************************************
  IMPORTANT NOTE: user-defined functions can be used to execute
  arbitrary and possibly evil code in Cassandra 2.2, and are
  therefore disabled by default.  To enable UDFs edit
  cassandra.yaml and set enable_user_defined_functions to true.

  CASSANDRA-9402 will add a security manager for UDFs in Cassandra
  3.0.  This will inherently be backwards-incompatible with any 2.2
  UDF that perform insecure operations such as opening a socket or
  writing to the filesystem.

  Per the previous note about adding a security manager in 3.0, this security manager
  means that non JavaScipt UDF's won't run, there for their use is deprecated.
  ************************************************************************
- Row-cache is now fully off-heap.
- jemalloc is now automatically preloaded and used on Linux and OS-X if
  installed.
- Please ensure on Unix platforms that there is no libjnadispath.so
  installed which is accessible by Cassandra. Old versions of
  libjna packages (< 4.0.0) will cause problems - e.g. Debian Wheezy
  contains libjna versin 3.2.x.
- The node now keeps up when streaming is failed during bootstrapping. You can
  use new `nodetool bootstrap resume` command to continue streaming after resolving
  an issue.
- Protocol version 4 specifies that bind variables do not require having a
  value when executing a statement. Bind variables without a value are
  called 'unset'. The 'unset' bind variable is serialized as the int
  value '-2' without following bytes.
  In an EXECUTE or BATCH request an unset bind value does not modify the value and
  does not create a tombstone, an unset bind ttl is treated as 'unlimited',
  an unset bind timestamp is treated as 'now', an unset bind counter operation
  does not change the counter value.
  Unset tuple field, UDT field and map key are not allowed.
  In a QUERY request an unset limit is treated as 'unlimited'.
  Unset WHERE clauses with unset partition column, clustering column
  or index column are not allowed.
- New `ByteType` (cql tinyint). 1-byte signed integer
- New `ShortType` (cql smallint). 2-byte signed integer
- New `SimpleDateType` (cql date). 4-byte unsigned integer
- New `TimeType` (cql time). 8-byte long
- The toDate(timeuuid), toTimestamp(timeuuid) and toUnixTimestamp(timeuuid) \ 
functions have been added to allow
  to convert from timeuuid into date type, timestamp type and bigint raw value.
  The functions unixTimestampOf(timeuuid) and dateOf(timeuuid) have been deprecated.
- The toDate(timestamp) and toUnixTimestamp(timestamp) functions have been added \ 
to allow
  to convert from timestamp into date type and bigint raw value.
- The toTimestamp(date) and toUnixTimestamp(date) functions have been added to allow
  to convert from date into timestamp type and bigint raw value.
- SizeTieredCompactionStrategy parameter cold_reads_to_omit has been removed.
- The default JVM flag -XX:+PerfDisableSharedMem will cause the following tools JVM
  to stop working: jps, jstack, jinfo, jmc, jcmd as well as 3rd party tools like \ 
Jolokia.
  If you wish to use these tools you can comment this flag out in \ 
cassandra-env.{sh,ps1}

Upgrading
---------
- Thrift rpc is no longer being started by default.
  Set `start_rpc` parameter to `true` to enable it.
- Pig's CqlStorage has been removed, use CqlNativeStorage instead
- Pig's CassandraStorage has been deprecated. CassandraStorage
  should only be used against tables created via thrift.
  Use CqlNativeStorage for all other tables.
- IAuthenticator been updated to remove responsibility for user/role
  maintenance and is now solely responsible for validating credentials,
  This is primarily done via SASL, though an optional method exists for
  systems which need support for the Thrift login() method.
- IRoleManager interface has been added which takes over the maintenance
  functions from IAuthenticator. IAuthorizer is mainly unchanged. Auth data
  in systems using the stock internal implementations PasswordAuthenticator
  & CassandraAuthorizer will be automatically converted during upgrade,
  with minimal operator intervention required. Custom implementations will
  require modification, though these can be used in conjunction with the
  stock CassandraRoleManager so providing an IRoleManager implementation
  should not usually be necessary.
- Fat client support has been removed since we have push notifications to clients
- cassandra-cli has been removed. Please use cqlsh instead.
- YamlFileNetworkTopologySnitch has been removed; switch to
  GossipingPropertyFileSnitch instead.
- CQL2 has been removed entirely in this release (previously deprecated
  in 2.0.0). Please switch to CQL3 if you haven't already done so.
- The results of CQL3 queries containing an IN restriction will be ordered
   2017-01-09 23:13:19 by Filip Hajny | Files touched by this commit (3)
Log message:
Update databases/apache-cassandra2 to 2.1.16.

2.1.16
- Avoid infinitely looping result set when paging SELECT queries with
  an IN clause with duplicate keys by treating the IN values as a set
  instead of a list
- Add system property to set the max number of native transport requests
  in queue
- Include column family parameter when -st and -et are provided
- Fix queries with empty ByteBuffer values in clustering column
  restrictions
- Disable passing control to post-flush after flush failure to prevent
  data loss
- Allow STCS-in-L0 compactions to reduce scope with LCS
- cannot use cql since upgrading python to 2.7.11+
- Fix filtering on clustering columns when 2i is used
- Improve digest calculation in the presence of overlapping tombstones

2.1.15
- Account for partition deletions in tombstone histogram
- Avoid stalling paxos when the paxos state expires
- Remove finished incoming streaming connections from MessagingService
- Don't try to get sstables for non-repairing column families
- Prevent select statements with clustering key > 64k
- Avoid marking too many sstables as repaired
- Fix clock skew corrupting other nodes with paxos
- Remove distinction between non-existing static columns and existing
  but null in LWTs
- Support mlockall on IBM POWER arch
- Cache local ranges when calculating repair neighbors
- Allow LWT operation on static column with only partition keys
- Create interval tree over canonical sstables to avoid missing sstables
  during streaming
- cqlsh COPY FROM: shutdown parent cluster after forking, to avoid
  corrupting SSL connections
- Updated cqlsh Python driver to fix DESCRIBE problem for legacy tables
- cqlsh: apply current keyspace to source command
- Backport CASSANDRA-11578
- Clear out parent repair session if repair coordinator dies
- Set default streaming_socket_timeout_in_ms to 24 hours
- Do not consider local node a valid source during replace
- Avoid holding SSTableReaders for duration of incremental repair
- Add message dropped tasks to nodetool netstats
- Don't compute expensive MaxPurgeableTimestamp until we've verified
  there's an expired tombstone
- Fix paging on DISTINCT queries repeats result when first row in
  partition changes
- Add option to disable use of severity in DynamicEndpointSnitch
- cqlsh COPY FROM fails for null values with non-prepared statements
- Make cython optional in pylib/setup.py
- Change order of directory searching for cassandra.in.sh to favor local
  one
- cqlsh COPY FROM fails with []{} chars in UDT/tuple fields/values
- clqsh: COPY FROM throws TypeError with Cython extensions enabled
- cqlsh: COPY FROM ignores NULL values in conversion
- Validate levels when building LeveledScanner to avoid overlaps with
  orphaned sstables

2.1.14
- Start L0 STCS-compactions even if there is a L0 -> L1 compaction going
- (cqlsh) Fix potential COPY deadlock when parent process is terminating
  child processes
- Replace sstables on DataTracker before marking them as non-compacting
  during anti-compaction
- Checking if an unlogged batch is local is inefficient
- Fix paging for COMPACT tables without clustering columns
- Fix out-of-space error treatment in memtable flushing
- Backport CASSANDRA-10859
- COPY FROM fails when importing blob
- Backport CASSANDRA-10679
- Don't do defragmentation if reading from repaired sstables
- Fix streaming_socket_timeout_in_ms not enforced
- Avoid dropping message too quickly due to missing unit conversion
- COPY FROM on large datasets: fix progress report and debug performance
- InvalidateKeys should have a weak ref to key cache
- Don't remove FailureDetector history on removeEndpoint
- Only notify if repair status changed
- Add partition key to TombstoneOverwhelmingException error message
- Use logback setting for 'cassandra -v' command
- Fix sstableloader to unthrottle streaming by default
- Fix incorrect warning in 'nodetool status'
- Properly release sstable ref when doing offline scrub
- Improve nodetool status performance for large cluster
- Make it clear what DTCS timestamp_resolution is used for
- Gossiper#isEnabled is not thread safe
- Avoid major compaction mixing repaired and unrepaired sstables in DTCS
- test_bulk_round_trip_blogposts is failing occasionally
- Add a -j parameter to scrub/cleanup/upgradesstables to state how
  many threads to use

2.1.13
- Fix isJoined return true only after becoming cluster member
  (CASANDRA-11007)
- Fix bad gossip generation seen in long-running clusters
- Avoid NPE when incremental repair fails
- Unmark sstables compacting once they are done in
  cleanup/scrub/upgradesstables
- Revert CASSANDRA-10012 and add more logging
- Allow simultaneous bootstrapping with strict consistency when no
  vnodes are used
- Log a message when major compaction does not result in a single file
- (cqlsh) fix cqlsh_copy_tests when vnodes are disabled
- (cqlsh) fix formatting bytearray values
- (cqlsh) Add request timeout option to cqlsh
- Avoid AssertionError while submitting hint with LWT
- If CompactionMetadata is not in stats file, use index summary instead
- Retry sending gossip syn multiple times during shadow round
- Fix pending range calculation during moves
- Sane default (200Mbps) for inter-DC streaming througput
- Match cassandra-loader options in COPY FROM
- Fix binding to any address in CqlBulkRecordWriter
- Fix the way we replace sstables after anticompaction
- cqlsh fails to decode utf-8 characters for text typed columns
- Log error when stream session fails
- Fix bugs in commit log archiving startup behavior
- (cqlsh) further optimise COPY FROM
- Allow CREATE TABLE WITH ID
- Make Stress compiles within eclipse
- Cassandra Daemon should print JVM arguments
- Allow cancellation of index summary redistribution
- sstableloader will fail if there are collections in the schema tables
- Disable reloading of GossipingPropertyFileSnitch
- Fix Stress profile parsing on Windows

2.1.12
- Fix incremental repair hang when replica is down
- Avoid writing range tombstones after END_OF_ROW marker
- Optimize the way we check if a token is repaired in anticompaction
- Add proper error handling to stream receiver
- Warn or fail when changing cluster topology live
- Status command in debian/ubuntu init script doesn't work
- Some DROP ... IF EXISTS incorrectly result in exceptions on
  non-existing KS
- DeletionTime.compareTo wrong in rare cases
- Force encoding when computing statement ids
- Properly reject counters as map keys
- Fix the sstable-needs-cleanup check
- (cqlsh) Print column names before COPY operation
- Add Native-Transport-Requests back to tpstats
- Make paging logic consistent between searcher impls
- Fix CompressedInputStream for proper cleanup
- (cqlsh) Support counters in COPY commands
- Try next replica if not possible to connect to primary replica on
  ColumnFamilyRecordReader
- Limit window size in DTCS
- sstableloader does not use MAX_HEAP_SIZE env parameter
- (cqlsh) Improve COPY TO performance and error handling
- Don't remove level info when running upgradesstables
- Create compression chunk for sending file only
- Make buffered read size configurable
- Forbid compact clustering column type changes in ALTER TABLE
- Reject incremental repair with subrange repair
- Add a nodetool command to refresh size_estimates
- Shutdown compaction in drain to prevent leak
- Invalidate cache after stream receive task is completed
- Reject counter writes in CQLSSTableWriter
- Remove superfluous COUNTER_MUTATION stage mapping
- Improve json2sstable error reporting on nonexistent columns
- (cqlsh) fix COPY using wrong variable name for time_format
- Do not run SizeEstimatesRecorder if a node is not a member of the ring
- Improve handling of dead nodes in gossip
- Fix logback-tools.xml incorrectly configured for outputing to
  System.err
- Fix streaming to catch exception so retry not fail
- Add validation method to PerRowSecondaryIndex
- Support encrypted and plain traffic on the same port
- Do STCS in DTCS windows
- Don't try to get ancestors from half-renamed sstables
- Avoid repetition of JVM_OPTS in debian package
- Fix potential NPE from handling result of SIM.highestSelectivityIndex
- Fix paging issues with partitions containing only static columns data
- Fix conditions on static columns
- AssertionError: attempted to delete non-existing file CommitLog
- Merge range tombstones during compaction
- (cqlsh) Distinguish negative and positive infinity in output
- (cqlsh) allow custom time_format for COPY TO
- Don't allow startup if the node's rack has changed
- Fix sorting for queries with an IN condition on partition key columns
   2015-11-03 02:56:36 by Alistair G. Crooks | Files touched by this commit (368)
Log message:
Add SHA512 digests for distfiles for databases category

Problems found with existing distfiles:
	distfiles/D6.data.ros.gz
	distfiles/cstore0.2.tar.gz
	distfiles/data4.tar.gz
	distfiles/sphinx-2.2.7-release.tar.gz
No changes made to the cstore or mariadb55-client distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.