Skip to content

Releases: Chaintable/nodex-proxy

v1.1.17-rc1

v1.1.17-rc1 Pre-release
Pre-release

Choose a tag to compare

@0byteme 0byteme released this 16 Jul 08:13
fb7eb88

What's Changed

  • fix: four P0 stability issues (fatal map write, mirror race, ghost nodes, lost etcd events) by @recursion128 in #77
  • feat: collect usage for invoking leafage by @0byteme in #78

Full Changelog: v1.1.15...v1.1.17-rc1

v1.1.15

Choose a tag to compare

@0byteme 0byteme released this 10 Jul 07:06
defedeb

What's Changed

  • fix: reuse parsed rpc error codes for retries by @0byteme in #76

Full Changelog: v1.1.14...v1.1.15

v1.1.15-rc2

v1.1.15-rc2 Pre-release
Pre-release

Choose a tag to compare

@0byteme 0byteme released this 10 Jul 03:50

v1.1.14

Choose a tag to compare

@0byteme 0byteme released this 09 Jul 10:35
c00732c

What's Changed

  • feat: record http body payload size by @0byteme in #75

Full Changelog: v1.1.13...v1.1.14

v1.1.13

Choose a tag to compare

@0byteme 0byteme released this 09 Jul 03:53
ca87ec1

What's Changed

Full Changelog: v1.1.12...v1.1.13

v1.1.12

Choose a tag to compare

@recursion128 recursion128 released this 09 Jul 03:35
99df076

修复上游连接复用,消除高负载下的建连风暴与 502

高负载下 proxy 对 RPC 后端建立过多连接,击穿后端 accept 队列导致 502。本版本从根因修复连接复用。

主要改动

  • 共享上游 client:所有节点的 reverse proxy 共用一个 hertz client,连接池按 host 存活,节点刷新(etcd PUT)不再丢弃热连接、不再引发重建风暴。
  • 恢复超时生效:删除从未被使用的 http.Transport 死代码,rpc_method_timeout_config / default_rpc_timeout 通过请求级 ReadTimeout 真正生效。
  • 节点原地更新:UpsertNode 对同 key/addr/source/type 的节点原地更新权重与状态,保留 ReverseProxy。
  • mirror 连接复用:mirror client 配置连接池并读完响应体后再关闭,避免每请求新建连接。
  • 新增连接池配置:conn_max_idle_duration / conn_max_wait_timeout / conn_dial_timeout;connection_pool_size 语义改为 hertz 每后端 host 最大连接数。

灰度验证(v1.1.12-rc1,承接 1/6 生产流量约 26h)

  • 502 占比 0.0259% → 0.0009%(降 29 倍)
  • 后端连接 churn(TIME_WAIT):每秒主动关闭 ~5 → ~1 条(降 6 倍)
  • p50/p99 延迟与旧版一致(本修复不改变常规延迟,目标是消除 502 与连接 churn)

⚠️ 部署配置变更(必读)

connection_pool_size 语义已变为"每后端 host 最大连接数"。线上 configmap 现值 8000 会击穿 leafage max_connections=5000 上限,升级时必须改为 256(6 pod × 256 = 1536,占后端上限 30%)。

default_rpc_timeout(默认 5000ms)从本版本起真正生效,历史上耗时 >5s 仍成功的慢请求会被截断。建议为重方法配置 rpc_method_timeout_config(如 contractMultiCall/simulateTransactions: 9000),并观察 calls_failed{reason="upstream_gateway_timeout"}

Release v1.1.11

Choose a tag to compare

@0byteme 0byteme released this 07 Jul 07:45
35be5ef

What's Changed

Full Changelog: v1.1.10...v1.1.11

Release v1.1.10

Choose a tag to compare

@0byteme 0byteme released this 07 Jul 06:31
6837f52

What's Changed

New Contributors

Full Changelog: v1.1.9...v1.1.10

Release v1.1.9

Choose a tag to compare

@barryz barryz released this 24 Apr 12:34
07a2eeb

What's Changed

  • bug: fix incorrect revision in release ci by @barryz in #68

Full Changelog: v1.1.8...v1.1.9

Release v1.1.8

Choose a tag to compare

@barryz barryz released this 24 Apr 06:39
ef52378

What's Changed

Full Changelog: v1.1.7...v1.1.8