Skip to content

Commit 795f601

Browse files
author
Felix021
authored
doc: kitex release note v0.7.2 (#810)
1 parent 469771b commit 795f601

File tree

2 files changed

+143
-0
lines changed

2 files changed

+143
-0
lines changed
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
title: "Kitex Release v0.7.2"
3+
linkTitle: "Release v0.7.2"
4+
projects: ["Kitex"]
5+
date: 2023-09-27
6+
description: >
7+
---
8+
## **Introduction to Key Changes**
9+
10+
### Features
11+
12+
**1. Retry: limit perncetage of retry requests**
13+
14+
The feature improves the usability of backup requests: if a request exceeds the retry delay threshold, a backup request will be sent; but if the request succeeds within the timeout threshold, it will not be treated as an error. Therefore large amount of backup requests may be sent due to a network jitter, which increases the pressure on the server and could even cause an avanlache.
15+
16+
It's recommended to update your current implementation:
17+
18+
1. Initialize a RetryContainer with `retry.NewRetryContainerWithPercentageLimit()` to limit the percentage of retry requests;
19+
2. Add an option `client.WithCloseCallbacks(container.Close)` when initializing a client, in order to release relevant resources when the client is recycled.
20+
21+
22+
### Optimizations
23+
24+
**1. gRPC**
25+
26+
- Send END_STREAM flag in unary call
27+
- Fix grpc streaming tps decreasing and the selection logic of compressor
28+
29+
**2. Long Connection Pool**
30+
31+
If `MaxIdleGlobal` is not set, it is not limited by default, simplifying the configuration of long connection pools.
32+
33+
### Miscellaneous
34+
35+
- Upgrade netpoll to [v0.5.0](https://github.com/cloudwego/netpoll/releases/tag/v0.5.0)
36+
- Upgrade frugal to [v0.1.8](https://github.com/cloudwego/frugal/releases/tag/v0.1.8), enable frugal when compiled on go1.21 (note: old versions of frugal are not adapted to go1.21)
37+
38+
39+
----
40+
41+
## Full Release Log
42+
43+
### Feature:
44+
- [[#1117](https://github.com/cloudwego/kitex/pull/1117)] feat(retry): support retry percentage limit
45+
### Optimize:
46+
- [[#1033](https://github.com/cloudwego/kitex/pull/1033)] optimize: no need to check svcInfo twice
47+
- [[#1115](https://github.com/cloudwego/kitex/pull/1115)] optimize: rm outdated framed suggestion
48+
- [[#1095](https://github.com/cloudwego/kitex/pull/1095)] optimize: add K_METHOD in serviceinline ctx
49+
- [[#1107](https://github.com/cloudwego/kitex/pull/1107)] optimize(connpool): set maxIdleGlobal to no limit if not set
50+
### Fix:
51+
- [[#1116](https://github.com/cloudwego/kitex/pull/1116)] fix: use the last rpcinfo to trace
52+
- [[#1104](https://github.com/cloudwego/kitex/pull/1104)] fix: move limiter handler to the last of the inbound handler to get rpcinfo in custom limiter
53+
- [[#1103](https://github.com/cloudwego/kitex/pull/1103)] fix: reset all fields of netpoll byte buffer when recycle it
54+
- [[#1106](https://github.com/cloudwego/kitex/pull/1106)] fix(grpc): fix grpc streaming tps decreasing and the selection logic of compressor
55+
- [[#1114](https://github.com/cloudwego/kitex/pull/1114)] fix(gRPC): client send END_STREAM flag in unary call (#1066)
56+
- [[#1096](https://github.com/cloudwego/kitex/pull/1096)] fix(tool): add backquote to handle filepath string invalid syntax under windows os
57+
- [[#1098](https://github.com/cloudwego/kitex/pull/1098)] fix(tool): fix import for codegen template when using slim and unknown fields
58+
59+
### Tests:
60+
- [[#1124](https://github.com/cloudwego/kitex/pull/1124)] test: fix codegen script
61+
- [[#1122](https://github.com/cloudwego/kitex/pull/1122)] test: add codegen test
62+
- [[#1119](https://github.com/cloudwego/kitex/pull/1119)] test(connpool): modify the idleTimeout
63+
64+
## Chore:
65+
- [[#1133](https://github.com/cloudwego/kitex/pull/1133)] chore: update version v0.7.2
66+
- [[#1125](https://github.com/cloudwego/kitex/pull/1125)] chore: upgrade netpoll to v0.5.0
67+
- [[#1123](https://github.com/cloudwego/kitex/pull/1123)] perf: replace concurrent string builder with lock
68+
- [[#1118](https://github.com/cloudwego/kitex/pull/1118)] perf: optimize remote addr setter interface to reduce lock cost of Address()
69+
- [[#1110](https://github.com/cloudwego/kitex/pull/1110)] chore: upgrade netpoll to v0.4.2 pre-release
70+
- [[#1061](https://github.com/cloudwego/kitex/pull/1061)] chore: netpoll pre release v0.4.2
71+
- [[#1100](https://github.com/cloudwego/kitex/pull/1100)] chore: enable frugal on go1.21
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
title: "Kitex v0.7.2 版本发布"
3+
linkTitle: "Release v0.7.2"
4+
projects: ["Kitex"]
5+
date: 2023-09-27
6+
description: >
7+
---
8+
## 重要变更介绍
9+
10+
### 功能
11+
12+
**1. 重试: 限制重试请求占比**
13+
14+
该特性优化了备用请求的可用性:如某个请求超过重试等待时间,会触发一个备用请求,但如果该请求在RPC超时阈值之内,最终可以正常处理,因而不会被当做失败请求,这会在偶发网络异常时导致大量重试请求,增加服务端压力甚至引起雪崩。
15+
16+
建议更新现有代码:
17+
18+
1. 使用 `retry.NewRetryContainerWithPercentageLimit()` 来构造 RetryContainer,限制重试请求占比;
19+
2. 在 Client 初始化时添加选项 `client.WithCloseCallbacks(container.Close)`,以便在 client 被回收时释放相关资源。
20+
21+
22+
### 优化
23+
24+
**1. gRPC**
25+
26+
- unary 请求发送 END_STREAM flag
27+
- 修复 grpc streaming 吞吐下降与压缩器选择逻辑
28+
29+
**2. 长连接池**
30+
31+
如果没有指定 `MaxIdleGlobal` 则默认不限制,简化长连接池的使用配置。
32+
33+
34+
### 其他
35+
36+
- 更新 netpoll 至 [v0.5.0](https://github.com/cloudwego/netpoll/releases/tag/v0.5.0)
37+
- 升级 frugal 到 [v0.1.8](https://github.com/cloudwego/frugal/releases/tag/v0.1.8),支持在 go1.21 编译时使用 frugal (注: frugal 旧版本不支持 go1.21)
38+
39+
40+
----
41+
42+
## 详细变更
43+
44+
### Feature:
45+
- [[#1117](https://github.com/cloudwego/kitex/pull/1117)] feat(retry): support retry percentage limit
46+
### Optimize:
47+
- [[#1033](https://github.com/cloudwego/kitex/pull/1033)] optimize: no need to check svcInfo twice
48+
- [[#1115](https://github.com/cloudwego/kitex/pull/1115)] optimize: rm outdated framed suggestion
49+
- [[#1095](https://github.com/cloudwego/kitex/pull/1095)] optimize: add K_METHOD in serviceinline ctx
50+
- [[#1107](https://github.com/cloudwego/kitex/pull/1107)] optimize(connpool): set maxIdleGlobal to no limit if not set
51+
### Fix:
52+
- [[#1116](https://github.com/cloudwego/kitex/pull/1116)] fix: use the last rpcinfo to trace
53+
- [[#1104](https://github.com/cloudwego/kitex/pull/1104)] fix: move limiter handler to the last of the inbound handler to get rpcinfo in custom limiter
54+
- [[#1103](https://github.com/cloudwego/kitex/pull/1103)] fix: reset all fields of netpoll byte buffer when recycle it
55+
- [[#1106](https://github.com/cloudwego/kitex/pull/1106)] fix(grpc): fix grpc streaming tps decreasing and the selection logic of compressor
56+
- [[#1114](https://github.com/cloudwego/kitex/pull/1114)] fix(gRPC): client send END_STREAM flag in unary call (#1066)
57+
- [[#1096](https://github.com/cloudwego/kitex/pull/1096)] fix(tool): add backquote to handle filepath string invalid syntax under windows os
58+
- [[#1098](https://github.com/cloudwego/kitex/pull/1098)] fix(tool): fix import for codegen template when using slim and unknown fields
59+
60+
### Tests:
61+
- [[#1124](https://github.com/cloudwego/kitex/pull/1124)] test: fix codegen script
62+
- [[#1122](https://github.com/cloudwego/kitex/pull/1122)] test: add codegen test
63+
- [[#1119](https://github.com/cloudwego/kitex/pull/1119)] test(connpool): modify the idleTimeout
64+
65+
## Chore:
66+
- [[#1133](https://github.com/cloudwego/kitex/pull/1133)] chore: update version v0.7.2
67+
- [[#1125](https://github.com/cloudwego/kitex/pull/1125)] chore: upgrade netpoll to v0.5.0
68+
- [[#1123](https://github.com/cloudwego/kitex/pull/1123)] perf: replace concurrent string builder with lock
69+
- [[#1118](https://github.com/cloudwego/kitex/pull/1118)] perf: optimize remote addr setter interface to reduce lock cost of Address()
70+
- [[#1110](https://github.com/cloudwego/kitex/pull/1110)] chore: upgrade netpoll to v0.4.2 pre-release
71+
- [[#1061](https://github.com/cloudwego/kitex/pull/1061)] chore: netpoll pre release v0.4.2
72+
- [[#1100](https://github.com/cloudwego/kitex/pull/1100)] chore: enable frugal on go1.21

0 commit comments

Comments
 (0)