-
Notifications
You must be signed in to change notification settings - Fork 312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 2.4.0 #1032
Comments
Several problems have been found according to the checklist for Incubator release:
Thus some PRs have been committed to fix these problems as follows:
These PRs should be cherry-picked to v2.4 to meet the requirements for Incubator release. |
Since we have cherry-pick more commit into v2.4, which involved the cmake module. Suggested by @acelyc111, I re-run benchmark as follow:
Pegasus Server 2.4
For some reasons, I cannot run under |
Some more license issues have been resolved: |
New Module
From this version, more project module will join Apache Pegasus Project. In this version, the following projects are included:
rdsn
exists as a sub-project in current repository, in this release, it officially become the core module of the project.New architecture
In this version, we remove the shared log to enhance the pegasus performance, Related pull request as follow:
New Feature
Replica-factor update
Supporting flexible replica count. In the past, the replica factor was Immutable once one table was created. In current version, user can dynamically adjust the factor of specified table. Related pull request as follow:
Read Request Limiter
In the past, we only support write limiter, in this version, we add the supporting for read:
READ_SIZE_THROTTLING
XiaoMi/rdsn#948token_bucket_throttling_controller.h
header XiaoMi/rdsn#946Jemalloc Support
Build Feature
We have made some restrictions on the compilation environment and support
MacOS
andaarcch64
:New BatchGetAPI
In the past, the
batchGet
implement based thesingleGet
, the latest version will aggregate different request first berfore sending, it will improve the performace:Task Queue limiter
Feature enhancement
Bulkload
We improve bulkload feature to reduce the io-load of downloading and ingesting, besides, we offer better interfaces and failure handling logic, the related pull request as follow:
Duplication
In the past, duplication has some shortcoming: It depends remote filesystem to sync the checkpoint; The synchronization of plog data only sends a single mutation at each RPC. In this version, we enhance the above problem(the detail design see #892), related pull request as follows:
create_follower_app_for_duplication
function XiaoMi/rdsn#1046checkpoint_prepared
XiaoMi/rdsn#1049check_follower_app_if_create_completed
function XiaoMi/rdsn#1051prepare_dup
function in replica side for metaDS_PREPARE
status XiaoMi/rdsn#1053checkpoint_has_prepared
XiaoMi/rdsn#1055on_query_last_checkpoint_info
rpc for follower replica XiaoMi/rdsn#1056ERR_APP_EXIST
when receive create same app XiaoMi/rdsn#1059replica_follower
to support duplicate checkpoint when open replica XiaoMi/rdsn#1060duplciation_dir
inreplica_app_base
XiaoMi/rdsn#1066replica_app_base
function to virtual for polymorphism XiaoMi/rdsn#1067async_duplicate_checkpoint_from_master_replica
intoDEFAULT_POOL
to avoid thread lock XiaoMi/rdsn#1076freezed
argument XiaoMi/rdsn#1084freezed
argument #935-s | --sst
argument to support ignoring checkpoint when duplicate XiaoMi/rdsn#1085-s | --sst
argument to support ignoring checkpoint when duplicate #940PerfCounter
In the version, we support new metric implement to optimize performance:
Manual Compaction
Learn with NFS
To reduce the impact of data migration for IO-LOAD and ensure the migration rate, our data transmission supports disk level speed limits:
Latency Tracer
The latest latency tracer support perf-counter and fix some bugs:
Other important
Java Client
Go Client
drop timeout request
feature XiaoMi/pegasus-go-client#104Python Client
Admin Cli
toolkits
package #958Pegasus Docker
Code Refactor
Bug Fix
Core
Common
FAIL_POINT_INJECT_VOID_F
XiaoMi/rdsn#1047Performance
In this benchmark, we use the new machine, for the result is more reasonable, we re-run the Pegasus Server 2.3:
Pegasus Server 2.3
Pegasus Server 2.4
Config-Update
Contributors
acelyc111
cauchy1988
empiredan
foreverneverer
GehaFearless
GiantKing
happydongyaoyao
hycdong
levy5307
lidingshengHHU
neverchanje
padmejin
Smityz
totalo
WHBANG
xxmazha
ZhongChaoqiang
The text was updated successfully, but these errors were encountered: