Skip to content

Releases: Tencent/phxpaxos

Release 1.1.3

20 Nov 02:17
Compare
Choose a tag to compare

Bug fixes

  • Fix build on g++ 7.2

Release 1.1.2

17 Oct 03:51
Compare
Choose a tag to compare

Features

  • Support multi thread for tcp io

Enhancement

  • Multiple groups are initialized in parallel

  • Rewrite Time::MsSleep with std::thread

  • Rewrite SerialLock and Queue with condition_variable_any

  • More initialization checks

Bug fixes

  • Node::RunNode fail will cause a memory leak

Release 1.1.1

09 Nov 09:59
Compare
Choose a tag to compare

1.1.0 版本提交的代码出现了点小错误,如使用了上一版本代码的请立即更新此版本,抱歉。

Features

  • Batch propose.
  • Learn faster.
  • bugfix.

此版本带来了一个新的特性,提供一个批量提交接口,但是形式上和单次提交接口一致,由内部自动完成批量逻辑,从而大幅降低写盘次数以及网络通信次数,提高吞吐。该接口已在微信生产环境稳定执行超过万亿次。

修复了一个重大BUG,某些编译环境下会导致单调时间获取不正确,从而使得设置了CLOCK_MONOTONIC的condition工作不正常,表现为运行卡死,Master无法选举等。如出现类似现象的,建议立即更新此版本。

Release 1.0.2

07 Sep 08:56
Compare
Choose a tag to compare

Features

  • Purely based on Paxos Made Simple by Lamport.
  • Transfering message in a async mechanism architecture.
  • Using fsync to guarantee the correctness in every IO write operations.
  • Latency of a successful Propose is one RTT and one IO write.
  • Using P2P stream protocol to learn paxos log.
  • Cleaning Checkpoint and PaxosLog automatically.
  • Pulling Checkpoint across nodes automatically.
  • Supporting more than one state-machines in a single PhxPaxos Instance.
  • Supporting recover checkpoint by snapshot+paxoslog automatically.
  • Implementing Master election as a state-machine embedded in PhxPaxos
  • Implementing reconfiguration as a state-machine embedded in PhxPaxos
  • Using signature algorithm embedded in PhxPaxos to recognise invalid hosts.
  • Using checksum to verifying the data consistency of increment data in realtime.
  • Implementing Network, Stroage, Monitor, Logging module as a plugin, they can be implemented customly
  • Supporting overload protection in a self-adaption way.