Skip to content

Commit db67518

Browse files
Wine93aspirer
authored andcommitted
doc: add changelog for v2.7.
Signed-off-by: Wine93 <[email protected]>
1 parent 49c9bba commit db67518

File tree

1 file changed

+178
-0
lines changed

1 file changed

+178
-0
lines changed

CHANGELOG-2.7.md

+178
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
# CHANGELOG of v2.7
2+
3+
Previous change logs can be found at [CHANGELOG-2.6](https://github.com/opencurve/curve/blob/master/CHANGELOG-2.6.md)
4+
5+
## Features
6+
7+
* [curvefs/client: add quota for S3 client](https://github.com/opencurve/curve/pull/2836), thanks to [@h0hmj][h0hmj].
8+
* [curvefs/client: now we support hadoop sdk](https://github.com/opencurve/curve/pull/2807), thanks to [@Wine93][Wine93].
9+
* [curvefs/client: make user agent configurable](https://github.com/opencurve/curve/pull/2501), thanks to [@Ziy1-Tan][Ziy1-Tan].
10+
* [curvefs/mds: add ability to change capacity in fsinfo](https://github.com/opencurve/curve/pull/2821), thanks to [@h0hmj][h0hmj].
11+
* [curvefs/metaserver: support asynchronous snapshot](https://github.com/opencurve/curve/pull/2691), thanks to [@NaturalSelect][NaturalSelect].
12+
* [curvefs/{client,metaserver}: support braft lease read](https://github.com/opencurve/curve/pull/2599), thanks to [@Xinlong-Chen][Xinlong-Chen].
13+
* [curvefs/*: support space deallocate for curvebs volume as backend](https://github.com/opencurve/curve/pull/2313), thanks to [@ilixiaocui][ilixiaocui].
14+
* [curvefs/monitor: add memcache](https://github.com/opencurve/curve/pull/2834), thanks to [@Cyber-SiKu][Cyber-SiKu].
15+
* [curvefs/monitor: add cluster usage](https://github.com/opencurve/curve/pull/2842), thanks to [@Cyber-SiKu][Cyber-SiKu].
16+
* [curvefs/monitor: support plugin](https://github.com/opencurve/curve/pull/2830), thanks to [@Cyber-SiKu][Cyber-SiKu].
17+
* [curvefs/docker: support run curvefs on Openeuler 22.03-lts-sp2 platform](https://github.com/opencurve/curve/pull/2789), thanks to [@peter5232][peter5232].
18+
* [curvebs/chunkserver: support format chunkfile pool in asynchronous](https://github.com/opencurve/curve/pull/2775), thanks to [@Vigor-jpg][Vigor-jpg].
19+
* [curvebs/{client,chunkserver}: support braft lease read](https://github.com/opencurve/curve/pull/2543), thanks to [@Xinlong-Chen][Xinlong-Chen].
20+
* [curvebs/*: support poolset](https://github.com/opencurve/curve/pull/1988), thanks to [@jolly-sy][jolly-sy].
21+
* [curvebs/*: support 512 aligned IO](https://github.com/opencurve/curve/pull/2538), thanks to [@wu-hanqing][wu-hanqing].
22+
* [curvebs/tool: support list or query scan status](https://github.com/opencurve/curve/pull/2481), thanks to [@lianzhanbiao][lianzhanbiao].
23+
* [curvebs/tool: support get copyset status](https://github.com/opencurve/curve/pull/2520), thanks to [@Cyber-SiKu][Cyber-SiKu].
24+
* [curvebs/tool: support list may-broken-vol](https://github.com/opencurve/curve/pull/2518), thanks to [@baytan0720][baytan0720].
25+
* [curvebs/tool: support update leader-schedule[-all]](https://github.com/opencurve/curve/pull/2551), thanks to [@montaguelhz][montaguelhz].
26+
* [curvebs/tool: support get cluster status](https://github.com/opencurve/curve/pull/2530), thanks to [@caoxianfei1][caoxianfei1].
27+
* [curvebs/tool: support update volume flatten](https://github.com/opencurve/curve/pull/2757), thanks to [@baytan0720][baytan0720].
28+
* [curvebs/tool: support check chunkserver](https://github.com/opencurve/curve/pull/2632), thanks to [@lng2020][lng2020].
29+
* [curvebs/tool: support create snapshot for all copyset](https://github.com/opencurve/curve/pull/2618), thanks to [@montaguelhz][montaguelhz].
30+
* [curvebs/tool: add snapshot utils](https://github.com/opencurve/curve/pull/2758), thanks to [@baytan0720][baytan0720].
31+
32+
## Improve
33+
34+
* [curvefs/client: optimizing the read amplification problem, especially for memcache](https://github.com/opencurve/curve/pull/2792), thanks to [@wuhongsong][wuhongsong].
35+
* [curvefs/client: split latency metric into data and attr](https://github.com/opencurve/curve/pull/2824), thanks to [@Cyber-SiKu][Cyber-SiKu].
36+
* [curvefs/client: add kvcache metric](https://github.com/opencurve/curve/pull/2806), thanks to [@Cyber-SiKu][Cyber-SiKu].
37+
* [curvefs/client: add discache metric](https://github.com/opencurve/curve/pull/2798), thanks to [@Cyber-SiKu][Cyber-SiKu].
38+
* [curvefs/client: support list or stop warmup progress](https://github.com/opencurve/curve/pull/2652), thanks to [@ken90242][ken90242].
39+
* [curvefs/client: support warmup symbol link](https://github.com/opencurve/curve/pull/2723), thanks to [@Cyber-SiKu][Cyber-SiKu].
40+
* [curvefs/client: merge two rpc into one rpc for makenode](https://github.com/opencurve/curve/pull/2680), thanks to [@201341][201341].
41+
* [curvefs/client: delete apply index](https://github.com/opencurve/curve/pull/2631), thanks to [@Xinlong-Chen][Xinlong-Chen].
42+
* [curvefs/client: make enableSumInDir to false in default](https://github.com/opencurve/curve/pull/2767), thanks to [@Cyber-SiKu][Cyber-SiKu].
43+
* [curvefs/client: add s3,diskcache,kvcache io metric](https://github.com/opencurve/curve/pull/2735), thanks to [@Cyber-SiKu][Cyber-SiKu].
44+
* [curvefs/mds: support modify some configs on fly](https://github.com/opencurve/curve/pull/2813), thanks to [@Cyber-SiKu][Cyber-SiKu].
45+
* [curvefs/mds: change hostname to optional for register server](https://github.com/opencurve/curve/pull/2574), thanks to [@201341][201341].
46+
* [curvefs/mds: split large test cases into focused smaller ones](https://github.com/opencurve/curve/pull/2717), thanks to [@ken90242][ken90242].
47+
* [curvefs/metaserver: remove some unnecessary error logs](https://github.com/opencurve/curve/pull/2831), thanks to [@SeanHai][SeanHai].
48+
* [curvefs/metaserver: add delete inode metric](https://github.com/opencurve/curve/pull/2822), thanks to [@Cyber-SiKu][Cyber-SiKu].
49+
* [curvefs/metaserver: separate raft read and write apply queue](https://github.com/opencurve/curve/pull/2498), thanks to [@Xinlong-Chen][Xinlong-Chen].
50+
* [curvefs/{mds,metaserver}: add idle_timeout_sec option](https://github.com/opencurve/curve/pull/2479), thanks to [@201341][201341].
51+
* [curvefs/tool: enable go modules](https://github.com/opencurve/curve/pull/2804), thanks to [@Cyber-SiKu][Cyber-SiKu].
52+
* [curvefs/tool: support update copyset avail flag](https://github.com/opencurve/curve/pull/2455), thanks to [@baytan0720][baytan0720].
53+
* [curvebs/client: add slow request metric](https://github.com/opencurve/curve/pull/2746), thanks to [@wu-hanqing][wu-hanqing].
54+
* [curvebs/client: delete apply index](https://github.com/opencurve/curve/pull/2630), thanks to [@Xinlong-Chen][Xinlong-Chen].
55+
* [curvebs/chunkserver: add some common functions](https://github.com/opencurve/curve/pull/2826), thanks to [@Xinlong-Chen][Xinlong-Chen].
56+
* [curvebs/chunkserver: enable odsync by default](https://github.com/opencurve/curve/pull/2614), thanks to [@wu-hanqing][wu-hanqing].
57+
* [curvebs/chunkserver: unify apply queue](https://github.com/opencurve/curve/pull/2641), thanks to [@Xinlong-Chen][Xinlong-Chen].
58+
* [curvebs/tool: refactor for remove duplicate codes](https://github.com/opencurve/curve/pull/2534), thanks to [@baytan0720][baytan0720].
59+
* [curvebs/docker: upgrade base image to debian11](https://github.com/opencurve/curve/pull/2629), thanks to [@Cyber-SiKu][Cyber-SiKu].
60+
* [build: install clang-format-14 in dev docker](https://github.com/opencurve/curve/pull/2828), thanks to [@wu-hanqing][wu-hanqing].
61+
* [build: add braft format patch](https://github.com/opencurve/curve/pull/2661), thanks to [@wu-hanqing][wu-hanqing].
62+
* [build: support build specified library](https://github.com/opencurve/curve/pull/2829), thanks to [@quas-modo][quas-modo].
63+
* [build: replace spdlog repo mirror address](https://github.com/opencurve/curve/pull/2786), thanks to [@Cyber-SiKu][Cyber-SiKu].
64+
* [build: replace fmt repo mirror address](https://github.com/opencurve/curve/pull/2796), thanks to [@Cyber-SiKu][Cyber-SiKu].
65+
* [build: deprecate mk-deb.sh mk-tar.sh and use make targets instead](https://github.com/opencurve/curve/pull/2644), thanks to [@charlie0129][charlie0129].
66+
* [build: speed up bazel build](https://github.com/opencurve/curve/pull/2679), thanks to [@h0hmj][h0hmj].
67+
* [build: support build on GCC 11+](https://github.com/opencurve/curve/pull/2642), thanks to [@NaturalSelect][NaturalSelect].
68+
* [tool: support shell completion](https://github.com/opencurve/curve/pull/2662), thanks to [@Cyber-SiKu][Cyber-SiKu].
69+
* [tool: support upgrade curve tool online](https://github.com/opencurve/curve/pull/2674), thanks to [@Cyber-SiKu][Cyber-SiKu].
70+
* [tool: refactor all *map to map](https://github.com/opencurve/curve/pull/2541), thanks to [@XR-stb][XR-stb].
71+
* [test: upgrade googletest to v1.12.1](https://github.com/opencurve/curve/pull/2558), thanks to [@wu-hanqing][wu-hanqing].
72+
* [ci: add clang-format action](https://github.com/opencurve/curve/pull/2739), thanks to [@peter5232][peter5232].
73+
* [ci: add cppcheck action, sanitizers](https://github.com/opencurve/curve/pull/2784), thanks to [@czm23333][czm23333].
74+
75+
## Bugfix
76+
* [curvefs/client: fixed diskcache lru bug](https://github.com/opencurve/curve/pull/2815), thanks to [@wuhongsong][wuhongsong].
77+
* [curvefs/client: fixed some minor bugs.](https://github.com/opencurve/curve/pull/2522), thanks to [@Wine93][Wine93].
78+
* [curvefs/client: fixed check filetype with wrong method](https://github.com/opencurve/curve/pull/2729), thanks to [@Cyber-SiKu][Cyber-SiKu].
79+
* [curvefs/client: fixed ut fail](https://github.com/opencurve/curve/pull/2743), thanks to [@Cyber-SiKu][Cyber-SiKu].
80+
* [curvefs/client: fixed wrong metric name](https://github.com/opencurve/curve/pull/2694), thanks to [@SeanHai][SeanHai].
81+
* [curvefs/client: fixed warmup issue which will leads data inconsitent](https://github.com/opencurve/curve/pull/2562), thanks to [@Cyber-SiKu][Cyber-SiKu].
82+
* [curvefs/mds: fixed partition range cross](https://github.com/opencurve/curve/pull/2727), thanks to [@SeanHai][SeanHai].
83+
* [curvefs/tool: fixed list copyset information error](https://github.com/opencurve/curve/pull/2523), thanks to [@Cyber-SiKu][Cyber-SiKu].
84+
* [curvebs/tool: get copyset status from braft metric on chunkserver](https://github.com/opencurve/curve/pull/2731), thanks to [@caoxianfei1][caoxianfei1].
85+
* [build: fixed buildfs.sh run failed on debian11](https://github.com/opencurve/curve/pull/2511), thanks to [@201341][201341].
86+
* [test: fixed filepool test invalid memory access](https://github.com/opencurve/curve/pull/2575), thanks to [@wu-hanqing][wu-hanqing].
87+
* [ci: let ci works better](https://github.com/opencurve/curve/pull/2812), thanks to [@wu-hanqing][wu-hanqing].
88+
89+
## Doc
90+
* [doc: updated maintainers for curve project](https://github.com/opencurve/curve/pull/2695), thanks to [@aspirer][aspirer].
91+
* [doc: fix typo](https://github.com/opencurve/curve/pull/2799), thanks to [@NopeDl][NopeDl].
92+
* [doc: updated tool's readme](https://github.com/opencurve/curve/pull/2506), thanks to [@Cyber-SiKu][Cyber-SiKu].
93+
* [doc: replace harbor with opencurve](https://github.com/opencurve/curve/pull/2549), thanks to [@Cyber-SiKu][Cyber-SiKu].
94+
* [doc: fixed some wrong usage exmaple for tool](https://github.com/opencurve/curve/pull/2675), thanks to [@montaguelhz][montaguelhz].
95+
96+
[Cyber-SiKu]: https://github.com/Cyber-SiKu
97+
[h0hmj]: https://github.com/h0hmj
98+
[wu-hanqing]: https://github.com/wu-hanqing
99+
[Wine93]: https://github.com/Wine93
100+
[Vigor-jpg]: https://github.com/Vigor-jpg
101+
[SeanHai]: https://github.com/SeanHai
102+
[quas-modo]: https://github.com/quas-modo
103+
[wuhongsong]: https://github.com/wuhongsong
104+
[peter5232]: https://github.com/peter5232
105+
[aspirer]: https://github.com/aspirer
106+
[Xinlong-Chen]: https://github.com/Xinlong-Chen
107+
[NopeDl]: https://github.com/NopeDl
108+
[charlie0129]: https://github.com/charlie0129
109+
[201341]: https://github.com/201341
110+
[baytan0720]: https://github.com/baytan0720
111+
[caoxianfei1]: https://github.com/caoxianfei1
112+
[czm23333]: https://github.com/czm23333
113+
[dependabot]: https://github.com/dependabot
114+
[ilixiaocui]: https://github.com/ilixiaocui
115+
[jolly-sy]: https://github.com/jolly-sy
116+
[ken90242]: https://github.com/ken90242
117+
[lianzhanbiao]: https://github.com/lianzhanbiao
118+
[lng2020]: https://github.com/lng2020
119+
[montaguelhz]: https://github.com/montaguelhz
120+
[NaturalSelect]: https://github.com/NaturalSelect
121+
[setcy]: https://github.com/setcy
122+
[XR-stb]: https://github.com/XR-stb
123+
[Ziy1-Tan]: https://github.com/Ziy1-Tan
124+
125+
# Performance
126+
127+
## Hardware
128+
3 nodes (3*mds, 9*metaserver), each with:
129+
- Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
130+
- 256G RAM
131+
- disk cache: INTEL SSDSC2BB80 800G (IOPS is about 30000+, bandwidth is about 300 MiB)
132+
133+
## Configure
134+
135+
```yaml
136+
fs.cto: true
137+
fs.lookupCache.negativeTimeoutSec: 1
138+
fs.lookupCache.minUses: 3
139+
fuseClient.supportKVcache: true
140+
client.loglevel: 0
141+
```
142+
143+
## fio
144+
145+
```bash
146+
[global]
147+
rw=randread
148+
direct=1
149+
size=50G
150+
iodepth=128
151+
ioengine=libaio
152+
bsrange=4k-4k
153+
ramp_time=10
154+
runtime=300
155+
group_reporting
156+
157+
[disk01]
158+
filename=/path/to/mountpoint/1.txt
159+
```
160+
161+
| fio | IOPS/bandwidth | avg-latency(ms) | clat 99.00th (ms) | clat 99.99th (ms) |
162+
| :----: | :----: | :----: | :----: | :----: |
163+
| numjobs=1 / size=50GB / 4k randwrite | 4243 | 0.23 | 0.176 | 2 |
164+
| numjobs=1 / size=50GB / 4k randwrite | 908 | 1.0 | 3.5 | 104 |
165+
| numjobs=1 / size=50GB / 512k write | 412 MiB/s | 2.4 | 19 | 566 |
166+
| numjobs=1 / size=50GB / 512k read | 333 MiB/s | 2.9 | 20 | 115 |
167+
168+
## mdtest
169+
170+
```bash
171+
for i in 1 4 8; do mpirun --allow-run-as-root -np $i mdtest -z 2 -b 3 -I 10000 -d /path/to/mountpoint; done
172+
```
173+
174+
| Case | Dir creation | Dir stat | Dir removal | File creation | File stat | File read | File removal | Tree creation | Tree removal |
175+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
176+
| client*1 | 341 | 395991 | 291 | 334 | 383844 | 3694 | 309 | 322 | 851 |
177+
| client*4 | 385 | 123266 | 288 | 361 | 1515592 | 15056 | 310 | 363 | 16 |
178+
| client*8 | 415 | 22138 | 314 | 400 | 2811416 | 20976 | 347 | 355 | 8 |

0 commit comments

Comments
 (0)