Skip to content

BifroMQ-v3.3.0

Compare
Choose a tag to compare
@popduke popduke released this 26 Aug 08:27
· 26 commits to release-v3 since this release

This minor release includes the following changes:

Due to optimizations made to the storage engine in this release, the replace method is required for rolling upgrades. Please refer to the online documentation for detailed instructions.

New Features:

  • Introduced a new built-in StoreBalancer (UnreachableReplicaRemovalBalancer) for automatically removing unreachable replicas.
  • Added a new built-in StoreBalancer (RangeBootstrapBalancer) for cluster initialization, which can serve as an alternative to the bootstrap configuration option, relaxing the requirement for a unique 'bootstrapping' node.
  • Implemented an auto-detection and cleanup strategy for "zombie-state" KVRange replicas in base-kv.

Improvements:

  • Refactored base-kv to support a multi-RocksDB instance architecture, improving performance across multiple shards (KVRange).
  • Enhanced the efficiency of internal management processes in base-kv, reducing contention during concurrent executions.
  • Optimized the snapshot installation process to increase the success rate.
  • Improved the mechanism for KVRange graceful exit from the cluster.

Bug Fixes:

  • Resolved issue #98: SessionInfo lost updates when self-kicking.
  • Fixed an issue where Checkpoints were not cleaned up promptly after their owner RocksDBCPableKVSpace was destroyed.

Others:

  • Deprecated the built-in RecoveryBalancer, which could potentially cause data inconsistency.
  • Implemented a workaround(8580fd8) for an unresolved issue in OpenJDK17 that may occur sporadically.
  • Upgraded major dependency versions: grpc, netty, rocksdb, etc.

Full Changelog: v3.2.2...v3.3.0