Skip to content

Releases: JDRaftKeeper/RaftKeeper

Release v2.2.1

24 Dec 07:07
Compare
Choose a tag to compare

Release v2.2.1 is a minor bug fix release.

What's Changed

  • Fix not found request for forward response by @lzydmxy in #370
  • Fix clang 20 build error: no-switch-default-label @JackyWoo #374

Full Changelog: v2.2.0...v2.2.1

Release v2.2.0

09 Oct 03:05
Compare
Choose a tag to compare

What's Changed

v2.2.0 is a major version in which we enhance the stablility on raft log and provide a convenient method to profile memory by jemalloc.

Feature

  • Add ability to enable, disable, dump jemalloc profiling and flush unused memory by @JackyWoo in #354

Performance

  • Use shared mutex for fowrard_response_callback by @JackyWoo in #343

Bug Fix

Enhancement

  • Add ability to turn OFF -Werror by @azat in #336
  • Fail fast for log error by @JackyWoo in #340
  • Use local time instead of UTC for snapshot file by @lzydmxy in #338
  • Optimize memory usage by removing term and length info for a log by @JackyWoo in #342
  • Support Dwarf 5 by @lzydmxy in #356
  • Add configuration max_log_segment_file_size and fix illegal open segment detection by @JackyWoo in #366
  • Store snapshots objects count in snapshot_obj_1 by @lzydmxy in #367

Code Refactor

Others

New Commiters

  • @lzydmxy became RaftKeeper commiter for the excellent work on the read-request performance optimization and snapshot optimization. Welcome!

New Contributors

  • @azat made first contribution in #336. Welcome!

Full Changelog: v2.1.1...v2.2.0

v2.1.1

25 Jul 06:43
Compare
Choose a tag to compare

RaftKeeper v2.1.1 is a minor bug fix release.

What's Changed

  • Update build type to RelWithDebInfo in build.sh by @JackyWoo in #325
  • Refactor the Docker file for integration testing by @lzydmxy in #331
  • Don't send watch reponse if we got error in muiti writes ops by @lzydmxy in #327
  • Fix replay session_request log error by @lzydmxy in #333
  • Clear sessions_and_watchers after watch response by @lzydmxy in #329

Full Changelog: v2.1.0...v2.1.1

Release v2.1.0

24 Jun 03:08
Compare
Choose a tag to compare

We are excited to announce RaftKeeper version 2.1.0 has been officially released.

This is a major release following version 2.0.0. In this version, the performance of RaftKeeper has been further enhanced, with create requests seeing an 11% improvement and mixed requests experiencing a significant 118% increase.

You can refer to this article RaftKeeper v2.1.0 Released: Significant Performance Improvements!

  1. TPS(create-100% )
    image

  2. TPS(create-1% set-8% get-45% list-45% delete-1%)
    image

Benchmark details see benchmark.

In 2.1.0 we also provide asynchronously creating snapshot which will exreamly reduce user request blocking time.

What's Changed

Update notion

In v2.1.0 we dropped the old snapshot version logic, so

  • If update from v2.0.4, feel free to update
  • If update from version lower than v2.0.4, please update to v2.0.4 first, then create snapshot by echo csnp | nc node port for every nodes, then update to v2.1.0

Feature

Performance

  • Make snapshot load faster by @lzydmxy in #222
  • Speed up list by using compacted strings by @JackyWoo in #297
  • Remove the use of thread pools for parallel processing of read request by @lzydmxy in #235
  • Remove unnecessary locks in keeperStore by @lzydmxy in #238
  • Speed up data tree copying with SIMD and prefetching. by @JackyWoo in #252
  • Fix high CPU usage caused by last committed log index manager. by @JackyWoo in #253
  • Reserve childs vector size for simpleListResponse by @lzydmxy in #265
  • Add configuration socket_option_no_delay by @JackyWoo in #281
  • Opimize too many getsockname and getsockopt system calls by @JackyWoo in #283
  • Fix endless loop in last commmitted index thread by @JackyWoo in #275
  • Use atomic instead of lock for connections statistics by @lzydmxy in #289
  • Avoid ZooKeeperResponsePtr destruction in responses_queue by @lzydmxy in #292
  • Handle response serialization in the IO thread by @lzydmxy in #250

Bug Fix

  • NIO framework should support macos by @JackyWoo in #214
  • Fix built package name by @JackyWoo in #215
  • Fix flaky test test_four_word_command by @JackyWoo in #226
  • Send FIN to 4lw client, wait 4lw client to close connection by @lzydmxy in #223
  • Fix loading snapshots bug when set log level higher than INFO by @lzydmxy in #236
  • Release memory when loading snapshot completes by @JackyWoo in #242
  • Fix extremely large max latency for error session request by @JackyWoo in #244
  • Use read-write-lock for user_response_callbacks by @lzydmxy in #268
  • Fix data race by using write-lock for session requests callback by @JackyWoo in #277
  • Fix Apple silicon MacOS build error: 32bit platforms are not supported by @JackyWoo in #304
  • Fix creating snapshot too frequently caused by int32 overflow by @JackyWoo in #307
  • Fix stale log index when there is an snapshot but no log in disk by @JackyWoo in #311
  • Fix snapshot never clear by @lzydmxy in #323
  • Save term info in snapshot filename by @lzydmxy in #296

Enhancement

Code Refactor

Document

Others

Full Changelog: v2.0.4...v2.1.0

Release v2.0.4

29 Feb 11:15
Compare
Choose a tag to compare

RaftKeeper v2.0.4 contains some bug fixes, code refactoring and enhancements. Also we add some documents here.

Please note that we optimized the log and snapshot file format, but it is backforward compitable.

What's Changed

Bug

Enhancement

Documentation

Code refactor

Full Changelog: v2.0.3...v2.0.4

Release v2.0.3

13 Dec 09:14
Compare
Choose a tag to compare

RaftKeeper v2.0.3 is a bug fix release and contains 2 features.

What's Changed

Feature

Enhancement

Bug

Full Changelog: v2.0.2...v2.0.3

New Contributors

  • Welcome @lzydmxy, he made his first contribution in #94.

Release v2.0.2

17 Oct 02:02
21efc22
Compare
Choose a tag to compare

RaftKeeper v2.0.2 contains 2 features and some enhancements in stability.

What's Changed

Feature

  • Set lower bound and upper bound for client session timeout by @Hooollin in #38
  • Add uptime to 4lw command by @JackyWoo in #66

Enhancement

Bug

Full Changelog: v2.0.1...v2.0.2

Release v2.0.1

11 May 10:10
Compare
Choose a tag to compare

RaftKeeper v2.0.1 has made some improvements in stability.

What's Changed

Bug

Enhancement

New Contributors

Full Changelog: v2.0.0...v2.0.1

Release v2.0.0

02 Mar 02:49
c4154d0
Compare
Choose a tag to compare

RaftKeeper v2.0.0 is a main version which contains a lot of features.

What's Changed

Feature

  1. Support connection reconnect to server within session timeout.
  2. NIO network framework which can support hundreds of thousands of connections.
  3. New Snapshot & Log storage format who contains more meta datas.
  4. New fsync mode FSYNC_PARALLEL in which leader can write log asynchronously, but aolso keep data safety.
  5. New pipeline framework who exreamelly improve throughput.
  6. Persistency improvement : requests response return in order in one session.

Full Changelog: https://github.com/JDRaftKeeper/RaftKeeper/commits/v2.0.0