CHANGELOG of v2.7
Previous change logs can be found at CHANGELOG-2.6
Features
- curvefs/client: add quota for S3 client, thanks to @h0hmj.
- curvefs/client: now we support hadoop sdk, thanks to @Wine93.
- curvefs/client: make user agent configurable, thanks to @Ziy1-Tan.
- curvefs/mds: add ability to change capacity in fsinfo, thanks to @h0hmj.
- curvefs/metaserver: support asynchronous snapshot, thanks to @NaturalSelect.
- curvefs/{client,metaserver}: support braft lease read, thanks to @Xinlong-Chen.
- curvefs/*: support space deallocate for curvebs volume as backend, thanks to @ilixiaocui.
- curvefs/monitor: add memcache, thanks to @Cyber-SiKu.
- curvefs/monitor: add cluster usage, thanks to @Cyber-SiKu.
- curvefs/monitor: support plugin, thanks to @Cyber-SiKu.
- curvefs/docker: support run curvefs on Openeuler 22.03-lts-sp2 platform, thanks to @peter5232.
- curvebs/chunkserver: support format chunkfile pool in asynchronous, thanks to @Vigor-jpg.
- curvebs/{client,chunkserver}: support braft lease read, thanks to @Xinlong-Chen.
- curvebs/*: support poolset, thanks to @jolly-sy.
- curvebs/*: support 512 aligned IO, thanks to @wu-hanqing.
- curvebs/tool: support list or query scan status, thanks to @lianzhanbiao.
- curvebs/tool: support get copyset status, thanks to @Cyber-SiKu.
- curvebs/tool: support list may-broken-vol, thanks to @baytan0720.
- curvebs/tool: support update leader-schedule[-all], thanks to @montaguelhz.
- curvebs/tool: support get cluster status, thanks to @caoxianfei1.
- curvebs/tool: support update volume flatten, thanks to @baytan0720.
- curvebs/tool: support check chunkserver, thanks to @lng2020.
- curvebs/tool: support create snapshot for all copyset, thanks to @montaguelhz.
- curvebs/tool: add snapshot utils, thanks to @baytan0720.
Improve
- curvefs/client: optimizing the read amplification problem, especially for memcache, thanks to @wuhongsong.
- curvefs/client: split latency metric into data and attr, thanks to @Cyber-SiKu.
- curvefs/client: add kvcache metric, thanks to @Cyber-SiKu.
- curvefs/client: add discache metric, thanks to @Cyber-SiKu.
- curvefs/client: support list or stop warmup progress, thanks to @ken90242.
- curvefs/client: support warmup symbol link, thanks to @Cyber-SiKu.
- curvefs/client: merge two rpc into one rpc for makenode, thanks to @201341.
- curvefs/client: delete apply index, thanks to @Xinlong-Chen.
- curvefs/client: make enableSumInDir to false in default, thanks to @Cyber-SiKu.
- curvefs/client: add s3,diskcache,kvcache io metric, thanks to @Cyber-SiKu.
- curvefs/mds: support modify some configs on fly, thanks to @Cyber-SiKu.
- curvefs/mds: change hostname to optional for register server, thanks to @201341.
- curvefs/mds: split large test cases into focused smaller ones, thanks to @ken90242.
- curvefs/metaserver: remove some unnecessary error logs, thanks to @SeanHai.
- curvefs/metaserver: add delete inode metric, thanks to @Cyber-SiKu.
- curvefs/metaserver: separate raft read and write apply queue, thanks to @Xinlong-Chen.
- curvefs/{mds,metaserver}: add idle_timeout_sec option, thanks to @201341.
- curvefs/tool: enable go modules, thanks to @Cyber-SiKu.
- curvefs/tool: support update copyset avail flag, thanks to @baytan0720.
- curvebs/client: add slow request metric, thanks to @wu-hanqing.
- curvebs/client: delete apply index, thanks to @Xinlong-Chen.
- curvebs/chunkserver: add some common functions, thanks to @Xinlong-Chen.
- curvebs/chunkserver: enable odsync by default, thanks to @wu-hanqing.
- curvebs/chunkserver: unify apply queue, thanks to @Xinlong-Chen.
- curvebs/tool: refactor for remove duplicate codes, thanks to @baytan0720.
- curvebs/docker: upgrade base image to debian11, thanks to @Cyber-SiKu.
- build: install clang-format-14 in dev docker, thanks to @wu-hanqing.
- build: add braft format patch, thanks to @wu-hanqing.
- build: support build specified library, thanks to @quas-modo.
- build: replace spdlog repo mirror address, thanks to @Cyber-SiKu.
- build: replace fmt repo mirror address, thanks to @Cyber-SiKu.
- build: deprecate mk-deb.sh mk-tar.sh and use make targets instead, thanks to @charlie0129.
- build: speed up bazel build, thanks to @h0hmj.
- build: support build on GCC 11+, thanks to @NaturalSelect.
- tool: support shell completion, thanks to @Cyber-SiKu.
- tool: support upgrade curve tool online, thanks to @Cyber-SiKu.
- tool: refactor all *map to map, thanks to @XR-stb.
- test: upgrade googletest to v1.12.1, thanks to @wu-hanqing.
- ci: add clang-format action, thanks to @peter5232.
- ci: add cppcheck action, sanitizers, thanks to @czm23333.
Bugfix
- curvefs/client: fixed diskcache lru bug, thanks to @wuhongsong.
- curvefs/client: fixed some minor bugs., thanks to @Wine93.
- curvefs/client: fixed check filetype with wrong method, thanks to @Cyber-SiKu.
- curvefs/client: fixed ut fail, thanks to @Cyber-SiKu.
- curvefs/client: fixed wrong metric name, thanks to @SeanHai.
- curvefs/client: fixed warmup issue which will leads data inconsitent, thanks to @Cyber-SiKu.
- curvefs/mds: fixed partition range cross, thanks to @SeanHai.
- curvefs/tool: fixed list copyset information error, thanks to @Cyber-SiKu.
- curvebs/tool: get copyset status from braft metric on chunkserver, thanks to @caoxianfei1.
- build: fixed buildfs.sh run failed on debian11, thanks to @201341.
- test: fixed filepool test invalid memory access, thanks to @wu-hanqing.
- ci: let ci works better, thanks to @wu-hanqing.
Doc
- doc: updated maintainers for curve project, thanks to @aspirer.
- doc: fix typo, thanks to @NopeDl.
- doc: updated tool's readme, thanks to @Cyber-SiKu.
- doc: replace harbor with opencurve, thanks to @Cyber-SiKu.
- doc: fixed some wrong usage exmaple for tool, thanks to @montaguelhz.