All significant changes to this project will be documented in this file.
For the changelog of the percase-client crate, please refer to its own CHANGELOG.
- Standalone mode is removed.
server.modeoption is removed from the config file. server.listen_addris nowserver.listen_data_addr.server.advertise_addris nowserver.advertise_data_addr.server.listen_peer_addris nowserver.listen_ctrl_addrserver.advertise_peer_addris nowserver.advertise_ctrl_addr.server.initial_advertise_peer_addrsis nowinitial_peersand accepts urls with scheme (e.g.initial_peers = ["http://percas:7655"]).- The corresponding environment variables are also renamed accordingly.
- Supported redirecting request to correct node in the cluster with HTTP 307 status code.
- Improved cluster gossip protocol to reduce unnecessary state updates.
- Bumped dependencies to the latest versions.
- Parallelized recovery for foyer by default.
- Improved default configuration for throttler.
- Improved rate limiter to support burst requests.
- Export
foyermetrics.
- Enable
jemallocas the global allocator. - Bumped
foyerdependency to0.19.2. - Increased number of flushers to boost write throughput.
- Bumped
foyerdependency to0.19to leverage buffered I/O and page cache.
- Support setting disk io throttle:
[storage.disk_throttle]
write_iops = 1000
read_iops = 1000
write_throughput = 16_777_216 # 16 MiB per second
read_throughput = 16_777_216 # 16 MiB per second
[storage.disk_throttle.iops_counter]
mode = "per_io" # or "per_io_size"
# size = 1024 # size in bytes if mode = "per_io_size"ClientBuilderis nowClientFactoryfor reusing the underlying reqwest client.
- Fix the issue that percas cannot limit memory usage as expected.
- Fix the issue that percas node may use different advertised address than the one in the config file after restart.
- Add rate limiter to reject unprocessable requests.
- Improve default configuration for foyer.
- Support propagate environment variables to server config.