From 5fe3f11db43eaedc6ed23631f04f89baa5d95b0d Mon Sep 17 00:00:00 2001 From: Nic Date: Thu, 16 Jul 2026 10:28:51 +0800 Subject: [PATCH 1/4] chore: bump apisix-runtime to 1.3.10 --- .requirements | 2 +- ci/linux-install-openresty.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.requirements b/.requirements index f4f33c1a017d..953adfa0f83b 100644 --- a/.requirements +++ b/.requirements @@ -17,5 +17,5 @@ APISIX_PACKAGE_NAME=apisix -APISIX_RUNTIME=1.3.9 +APISIX_RUNTIME=1.3.10 APISIX_DASHBOARD_COMMIT=c8d3466d3c36386d3888efbc8250cd8183c77298 diff --git a/ci/linux-install-openresty.sh b/ci/linux-install-openresty.sh index 441a140afa23..2268088651bd 100755 --- a/ci/linux-install-openresty.sh +++ b/ci/linux-install-openresty.sh @@ -61,7 +61,7 @@ else sudo apt-get -y update --fix-missing sudo apt-get install -y build-essential gcc g++ cpanminus libxml2-dev libxslt-dev - if [ "$APISIX_RUNTIME" != "1.3.9" ]; then + if [ "$APISIX_RUNTIME" != "1.3.10" ]; then echo "Please update the apisix-runtime-debug checksum for APISIX_RUNTIME=$APISIX_RUNTIME" >&2 exit 1 fi @@ -69,11 +69,11 @@ else case "$ARCH" in x86_64|amd64) DEB_ARCH="amd64" - EXPECTED_SHA256="e76eab50d0a84e0f018ff5c7338bc13f8b7e5a25b48856daf02472f11b2dacc7" + EXPECTED_SHA256="b3b776c1ce007fa885f408f2e2b20c57443a989f4abad60547b41764fd1ea17b" ;; arm64|aarch64) DEB_ARCH="arm64" - EXPECTED_SHA256="eb781f57505d8ddb436c94142dd0f4538a4977c249f1bb81b69d31d2356f83a6" + EXPECTED_SHA256="1d15972b68d6f0260a244c466ca301283abd8eb49a2d534988e0004118acd705" ;; *) echo "Unsupported architecture: $ARCH" >&2 From 87530ca401789265bb0ae61ef98d49029313ead1 Mon Sep 17 00:00:00 2001 From: Nic Date: Thu, 16 Jul 2026 11:01:59 +0800 Subject: [PATCH 2/4] test: match keepalive pool debug log format in upstream-keepalive-pool.t apisix-runtime 1.3.10 (apisix-nginx-module 1.19.8) logs the keepalive pool by its readable name instead of a crc32 of that name, and fixes a crc32-collision bug where distinct pools could be merged. The pool lifecycle is unchanged; only the debug-log label changed from 'crc32: ' to 'name: '. Update the grep_error_log assertions accordingly. --- t/node/upstream-keepalive-pool.t | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/t/node/upstream-keepalive-pool.t b/t/node/upstream-keepalive-pool.t index 226b298d1933..739d207c690f 100644 --- a/t/node/upstream-keepalive-pool.t +++ b/t/node/upstream-keepalive-pool.t @@ -137,7 +137,7 @@ hello world --- grep_error_log eval qr/lua balancer: keepalive .*/ --- grep_error_log_out eval -qr/^lua balancer: keepalive create pool, crc32: \S+, size: 4 +qr/^lua balancer: keepalive create pool, name: \S+, size: 4 lua balancer: keepalive no free connection, cpool: \S+ lua balancer: keepalive saving connection \S+, cpool: \S+, connections: 1 lua balancer: keepalive reusing connection \S+, requests: 1, cpool: \S+ @@ -201,13 +201,13 @@ hello world --- grep_error_log eval qr/lua balancer: keepalive .*/ --- grep_error_log_out eval -qr/^lua balancer: keepalive create pool, crc32: \S+, size: 1 +qr/^lua balancer: keepalive create pool, name: \S+, size: 1 lua balancer: keepalive no free connection, cpool: \S+ lua balancer: keepalive saving connection \S+, cpool: \S+, connections: 1 lua balancer: keepalive reusing connection \S+, requests: 1, cpool: \S+ lua balancer: keepalive not saving connection \S+, cpool: \S+, connections: 0 -lua balancer: keepalive free pool \S+, crc32: \S+ -lua balancer: keepalive create pool, crc32: \S+, size: 1 +lua balancer: keepalive free pool \S+, name: \S+ +lua balancer: keepalive create pool, name: \S+, size: 1 lua balancer: keepalive no free connection, cpool: \S+ lua balancer: keepalive saving connection \S+, cpool: \S+, connections: 1 $/ @@ -263,7 +263,7 @@ hello world --- grep_error_log eval qr/lua balancer: keepalive .*/ --- grep_error_log_out eval -qr/^lua balancer: keepalive create pool, crc32: \S+, size: 320 +qr/^lua balancer: keepalive create pool, name: \S+, size: 320 lua balancer: keepalive no free connection, cpool: \S+ lua balancer: keepalive saving connection \S+, cpool: \S+, connections: 1 lua balancer: keepalive reusing connection \S+, requests: 1, cpool: \S+ @@ -628,8 +628,8 @@ $/ --- grep_error_log eval qr/lua balancer: keepalive create pool, .*/ --- grep_error_log_out eval -qr/^lua balancer: keepalive create pool, crc32: \S+, size: 8 -lua balancer: keepalive create pool, crc32: \S+, size: 4 +qr/^lua balancer: keepalive create pool, name: \S+, size: 8 +lua balancer: keepalive create pool, name: \S+, size: 4 $/ @@ -731,8 +731,8 @@ $/ --- grep_error_log eval qr/lua balancer: keepalive create pool, .*/ --- grep_error_log_out eval -qr/^lua balancer: keepalive create pool, crc32: \S+, size: 4 -lua balancer: keepalive create pool, crc32: \S+, size: 8 +qr/^lua balancer: keepalive create pool, name: \S+, size: 4 +lua balancer: keepalive create pool, name: \S+, size: 8 $/ From 66d532527b7dcd0ac84e2992b85f76b0f30b97be Mon Sep 17 00:00:00 2001 From: Nic Date: Thu, 16 Jul 2026 11:13:45 +0800 Subject: [PATCH 3/4] test: strengthen keepalive pool identity assertions Now that the pool is logged by its readable name, assert the pool identity directly instead of only matching that some name is present: - upstream-keepalive-pool.t TEST 5: the freed pool and the recreated pool must carry the same name (backreference), verifying pool recycling reuses the same identity. - TEST 13 / TEST 15: distinct-SNI (and http vs https) upstreams must get distinct pool names, verifying keepalive pools are partitioned by SNI/scheme rather than merged. --- t/node/upstream-keepalive-pool.t | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/t/node/upstream-keepalive-pool.t b/t/node/upstream-keepalive-pool.t index 739d207c690f..f7e44f4181be 100644 --- a/t/node/upstream-keepalive-pool.t +++ b/t/node/upstream-keepalive-pool.t @@ -201,13 +201,13 @@ hello world --- grep_error_log eval qr/lua balancer: keepalive .*/ --- grep_error_log_out eval -qr/^lua balancer: keepalive create pool, name: \S+, size: 1 +qr/^lua balancer: keepalive create pool, name: (\S+), size: 1 lua balancer: keepalive no free connection, cpool: \S+ lua balancer: keepalive saving connection \S+, cpool: \S+, connections: 1 lua balancer: keepalive reusing connection \S+, requests: 1, cpool: \S+ lua balancer: keepalive not saving connection \S+, cpool: \S+, connections: 0 -lua balancer: keepalive free pool \S+, name: \S+ -lua balancer: keepalive create pool, name: \S+, size: 1 +lua balancer: keepalive free pool \S+, name: \1 +lua balancer: keepalive create pool, name: \1, size: 1 lua balancer: keepalive no free connection, cpool: \S+ lua balancer: keepalive saving connection \S+, cpool: \S+, connections: 1 $/ @@ -628,8 +628,8 @@ $/ --- grep_error_log eval qr/lua balancer: keepalive create pool, .*/ --- grep_error_log_out eval -qr/^lua balancer: keepalive create pool, name: \S+, size: 8 -lua balancer: keepalive create pool, name: \S+, size: 4 +qr/^lua balancer: keepalive create pool, name: \S+#b\.com, size: 8 +lua balancer: keepalive create pool, name: \S+#a\.com, size: 4 $/ @@ -731,8 +731,8 @@ $/ --- grep_error_log eval qr/lua balancer: keepalive create pool, .*/ --- grep_error_log_out eval -qr/^lua balancer: keepalive create pool, name: \S+, size: 4 -lua balancer: keepalive create pool, name: \S+, size: 8 +qr/^lua balancer: keepalive create pool, name: \S+#a\.com, size: 4 +lua balancer: keepalive create pool, name: http#\S+, size: 8 $/ From 3ffe0e7bba5bf6534d7cce63e8a2b38a546f3600 Mon Sep 17 00:00:00 2001 From: Nic Date: Thu, 16 Jul 2026 18:46:47 +0800 Subject: [PATCH 4/4] chore: bump apisix-runtime to 1.3.11 1.3.11 adds `--with-stream_realip_module` on top of 1.3.10. The module is inert unless `set_real_ip_from` is configured, so it changes nothing for existing deployments. --- .requirements | 2 +- ci/linux-install-openresty.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.requirements b/.requirements index 953adfa0f83b..c4546b254777 100644 --- a/.requirements +++ b/.requirements @@ -17,5 +17,5 @@ APISIX_PACKAGE_NAME=apisix -APISIX_RUNTIME=1.3.10 +APISIX_RUNTIME=1.3.11 APISIX_DASHBOARD_COMMIT=c8d3466d3c36386d3888efbc8250cd8183c77298 diff --git a/ci/linux-install-openresty.sh b/ci/linux-install-openresty.sh index 2268088651bd..1200b8e3677f 100755 --- a/ci/linux-install-openresty.sh +++ b/ci/linux-install-openresty.sh @@ -61,7 +61,7 @@ else sudo apt-get -y update --fix-missing sudo apt-get install -y build-essential gcc g++ cpanminus libxml2-dev libxslt-dev - if [ "$APISIX_RUNTIME" != "1.3.10" ]; then + if [ "$APISIX_RUNTIME" != "1.3.11" ]; then echo "Please update the apisix-runtime-debug checksum for APISIX_RUNTIME=$APISIX_RUNTIME" >&2 exit 1 fi @@ -69,11 +69,11 @@ else case "$ARCH" in x86_64|amd64) DEB_ARCH="amd64" - EXPECTED_SHA256="b3b776c1ce007fa885f408f2e2b20c57443a989f4abad60547b41764fd1ea17b" + EXPECTED_SHA256="6c03f0a47a80e84c595c7e067f7d05fc69890237f9191af55108a284b356c4ee" ;; arm64|aarch64) DEB_ARCH="arm64" - EXPECTED_SHA256="1d15972b68d6f0260a244c466ca301283abd8eb49a2d534988e0004118acd705" + EXPECTED_SHA256="cdc124262a1acb2de170f12a2180cdc357ba867d6447cd08a9ba1639994d4e50" ;; *) echo "Unsupported architecture: $ARCH" >&2