Skip to content

Commit

Permalink
feat: release 3.6.1 (#10383)
Browse files Browse the repository at this point in the history
  • Loading branch information
Revolyssup committed Oct 27, 2023
1 parent 23efb85 commit 1cc1b19
Show file tree
Hide file tree
Showing 18 changed files with 147 additions and 23 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Expand Up @@ -23,6 +23,7 @@ title: Changelog

## Table of Contents

- [3.6.1](#361)
- [3.6.0](#360)
- [3.5.0](#350)
- [3.4.0](#340)
Expand Down Expand Up @@ -73,6 +74,14 @@ title: Changelog
- [0.7.0](#070)
- [0.6.0](#060)

## 3.6.1

### Bugfixes

- fix: keep healthcheck target state when upstream changes:
- [#10307](https://github.com/apache/apisix/pull/10307)
- [#10312](https://github.com/apache/apisix/pull/10312)

## 3.6.0

### Change
Expand Down
2 changes: 1 addition & 1 deletion apisix/core/config_util.lua
Expand Up @@ -114,7 +114,7 @@ function _M.fire_all_clean_handlers(item)
clean_handler.f(item)
end

item.clean_handlers = nil
item.clean_handlers = {}
end


Expand Down
2 changes: 1 addition & 1 deletion apisix/core/version.lua
Expand Up @@ -20,5 +20,5 @@
-- @module core.version

return {
VERSION = "3.6.0"
VERSION = "3.6.1"
}
2 changes: 1 addition & 1 deletion apisix/upstream.lua
Expand Up @@ -83,7 +83,7 @@ _M.set = set_directly
local function release_checker(healthcheck_parent)
local checker = healthcheck_parent.checker
core.log.info("try to release checker: ", tostring(checker))
checker:clear()
checker:delayed_clear(3)
checker:stop()
end

Expand Down
2 changes: 1 addition & 1 deletion docs/en/latest/building-apisix.md
Expand Up @@ -54,7 +54,7 @@ curl https://raw.githubusercontent.com/apache/apisix/master/utils/install-depend
Save the APISIX version to an environment variable to be used next:

```shell
APISIX_VERSION='3.6.0'
APISIX_VERSION='3.6.1'
```

Clone the APISIX source code of this version into a new directory `apisix-APISIX_VERSION`:
Expand Down
2 changes: 1 addition & 1 deletion docs/en/latest/config.json
@@ -1,5 +1,5 @@
{
"version": "3.6.0",
"version": "3.6.1",
"sidebar": [
{
"type": "category",
Expand Down
9 changes: 9 additions & 0 deletions docs/zh/latest/CHANGELOG.md
Expand Up @@ -23,6 +23,7 @@ title: CHANGELOG

## Table of Contents

- [3.6.1](#361)
- [3.6.0](#360)
- [3.5.0](#350)
- [3.4.0](#340)
Expand Down Expand Up @@ -73,6 +74,14 @@ title: CHANGELOG
- [0.7.0](#070)
- [0.6.0](#060)

## 3.6.1

### Bugfix

- 修复:当上游发生变化时保持健康检查目标状态:
- [#10312](https://github.com/apache/apisix/pull/10312)
- [#10307](https://github.com/apache/apisix/pull/10307)

## 3.6.0

### Change
Expand Down
2 changes: 1 addition & 1 deletion docs/zh/latest/building-apisix.md
Expand Up @@ -53,7 +53,7 @@ curl https://raw.githubusercontent.com/apache/apisix/master/utils/install-depend
然后,创建一个目录并设置环境变量 `APISIX_VERSION`

```shell
APISIX_VERSION='3.6.0'
APISIX_VERSION='3.6.1'
mkdir apisix-${APISIX_VERSION}
```

Expand Down
2 changes: 1 addition & 1 deletion docs/zh/latest/config.json
@@ -1,5 +1,5 @@
{
"version": "3.6.0",
"version": "3.6.1",
"sidebar": [
{
"type": "category",
Expand Down
104 changes: 104 additions & 0 deletions rockspec/apisix-3.6.1-0.rockspec
@@ -0,0 +1,104 @@
--
-- Licensed to the Apache Software Foundation (ASF) under one or more
-- contributor license agreements. See the NOTICE file distributed with
-- this work for additional information regarding copyright ownership.
-- The ASF licenses this file to You under the Apache License, Version 2.0
-- (the "License"); you may not use this file except in compliance with
-- the License. You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
--

package = "apisix"
version = "3.6.1-0"
supported_platforms = {"linux", "macosx"}

source = {
url = "git://github.com/apache/apisix",
branch = "3.6.1",
}

description = {
summary = "Apache APISIX is a cloud-native microservices API gateway, delivering the ultimate performance, security, open source and scalable platform for all your APIs and microservices.",
homepage = "https://github.com/apache/apisix",
license = "Apache License 2.0",
}

dependencies = {
"lua-resty-ctxdump = 0.1-0",
"api7-lua-resty-dns-client = 7.0.1",
"lua-resty-template = 2.0",
"lua-resty-etcd = 1.10.5",
"api7-lua-resty-http = 0.2.2-0",
"lua-resty-balancer = 0.04",
"lua-resty-ngxvar = 0.5.2",
"lua-resty-jit-uuid = 0.0.7",
"lua-resty-worker-events = 1.0.0",
"lua-resty-healthcheck-api7 = 3.2.0",
"api7-lua-resty-jwt = 0.2.5",
"lua-resty-hmac-ffi = 0.06-1",
"lua-resty-cookie = 0.2.0-1",
"lua-resty-session = 3.10",
"opentracing-openresty = 0.1",
"lua-resty-radixtree = 2.8.2",
"lua-protobuf = 0.5.0-1",
"lua-resty-openidc = 1.7.6-3",
"luafilesystem = 1.7.0-2",
"api7-lua-tinyyaml = 0.4.4",
"nginx-lua-prometheus = 0.20230607-1",
"jsonschema = 0.9.8",
"lua-resty-ipmatcher = 0.6.1",
"lua-resty-kafka = 0.22-0",
"lua-resty-logger-socket = 2.0.1-0",
"skywalking-nginx-lua = 0.6.0",
"base64 = 1.5-2",
"binaryheap = 0.4",
"api7-dkjson = 0.1.1",
"resty-redis-cluster = 1.05-1",
"lua-resty-expr = 1.3.2",
"graphql = 0.0.2",
"argparse = 0.7.1-1",
"luasocket = 3.1.0-1",
"luasec = 0.9-1",
"lua-resty-consul = 0.3-2",
"penlight = 1.13.1",
"ext-plugin-proto = 0.6.1",
"casbin = 1.41.8-1",
"inspect == 3.1.1",
"lualdap = 1.2.6-1",
"lua-resty-rocketmq = 0.3.0-0",
"opentelemetry-lua = 0.2-3",
"net-url = 0.9-1",
"xml2lua = 1.5-2",
"nanoid = 0.1-1",
"lua-resty-mediador = 0.1.2-1",
"lua-resty-ldap = 0.1.0-0",
"lua-resty-t1k = 1.1.0"
}

build = {
type = "make",
build_variables = {
CFLAGS="$(CFLAGS)",
LIBFLAG="$(LIBFLAG)",
LUA_LIBDIR="$(LUA_LIBDIR)",
LUA_BINDIR="$(LUA_BINDIR)",
LUA_INCDIR="$(LUA_INCDIR)",
LUA="$(LUA)",
OPENSSL_INCDIR="$(OPENSSL_INCDIR)",
OPENSSL_LIBDIR="$(OPENSSL_LIBDIR)",
},
install_variables = {
ENV_INST_PREFIX="$(PREFIX)",
ENV_INST_BINDIR="$(BINDIR)",
ENV_INST_LIBDIR="$(LIBDIR)",
ENV_INST_LUADIR="$(LUADIR)",
ENV_INST_CONFDIR="$(CONFDIR)",
},
}
3 changes: 2 additions & 1 deletion rockspec/apisix-master-0.rockspec
Expand Up @@ -39,7 +39,8 @@ dependencies = {
"lua-resty-balancer = 0.04",
"lua-resty-ngxvar = 0.5.2",
"lua-resty-jit-uuid = 0.0.7",
"lua-resty-healthcheck-api7 = 3.0.0",
"lua-resty-worker-events = 1.0.0",
"lua-resty-healthcheck-api7 = 3.2.0",
"api7-lua-resty-jwt = 0.2.5",
"lua-resty-hmac-ffi = 0.06-1",
"lua-resty-cookie = 0.2.0-1",
Expand Down
10 changes: 5 additions & 5 deletions t/control/healthcheck.t
Expand Up @@ -51,7 +51,7 @@ routes:
upstreams:
- nodes:
"127.0.0.1:1980": 1
"127.0.0.2:1988": 1
"127.0.0.2:1988": 0
type: roundrobin
id: 1
checks:
Expand Down Expand Up @@ -120,11 +120,11 @@ upstreams:
--- grep_error_log eval
qr/unhealthy TCP increment \(.+\) for '[^']+'/
--- grep_error_log_out
unhealthy TCP increment (1/2) for '(127.0.0.2:1988)'
unhealthy TCP increment (2/2) for '(127.0.0.2:1988)'
unhealthy TCP increment (1/2) for '127.0.0.2(127.0.0.2:1988)'
unhealthy TCP increment (2/2) for '127.0.0.2(127.0.0.2:1988)'
--- response_body
[{"counter":{"http_failure":0,"success":0,"tcp_failure":0,"timeout_failure":0},"ip":"127.0.0.1","port":1980,"status":"healthy"},{"counter":{"http_failure":0,"success":0,"tcp_failure":2,"timeout_failure":0},"ip":"127.0.0.2","port":1988,"status":"unhealthy"}]
[{"counter":{"http_failure":0,"success":0,"tcp_failure":0,"timeout_failure":0},"ip":"127.0.0.1","port":1980,"status":"healthy"},{"counter":{"http_failure":0,"success":0,"tcp_failure":2,"timeout_failure":0},"ip":"127.0.0.2","port":1988,"status":"unhealthy"}]
[{"counter":{"http_failure":0,"success":0,"tcp_failure":0,"timeout_failure":0},"hostname":"127.0.0.1","ip":"127.0.0.1","port":1980,"status":"healthy"},{"counter":{"http_failure":0,"success":0,"tcp_failure":2,"timeout_failure":0},"hostname":"127.0.0.2","ip":"127.0.0.2","port":1988,"status":"unhealthy"}]
[{"counter":{"http_failure":0,"success":0,"tcp_failure":0,"timeout_failure":0},"hostname":"127.0.0.1","ip":"127.0.0.1","port":1980,"status":"healthy"},{"counter":{"http_failure":0,"success":0,"tcp_failure":2,"timeout_failure":0},"hostname":"127.0.0.2","ip":"127.0.0.2","port":1988,"status":"unhealthy"}]
Expand Down
4 changes: 2 additions & 2 deletions t/discovery/consul.t
Expand Up @@ -579,8 +579,8 @@ upstreams:
--- request
GET /thc
--- response_body
[{"ip":"127.0.0.1","port":30513,"status":"healthy"},{"ip":"127.0.0.1","port":30514,"status":"healthy"}]
[{"ip":"127.0.0.1","port":30513,"status":"healthy"},{"ip":"127.0.0.1","port":30514,"status":"healthy"}]
[{"hostname":"127.0.0.1","ip":"127.0.0.1","port":30513,"status":"healthy"},{"hostname":"127.0.0.1","ip":"127.0.0.1","port":30514,"status":"healthy"}]
[{"hostname":"127.0.0.1","ip":"127.0.0.1","port":30513,"status":"healthy"},{"hostname":"127.0.0.1","ip":"127.0.0.1","port":30514,"status":"healthy"}]
--- ignore_error_log
Expand Down
4 changes: 2 additions & 2 deletions t/discovery/consul_kv.t
Expand Up @@ -450,8 +450,8 @@ upstreams:
--- request
GET /thc
--- response_body
[{"ip":"127.0.0.1","port":30511,"status":"healthy"},{"ip":"127.0.0.2","port":1988,"status":"unhealthy"}]
[{"ip":"127.0.0.1","port":30511,"status":"healthy"},{"ip":"127.0.0.2","port":1988,"status":"unhealthy"}]
[{"hostname":"127.0.0.1","ip":"127.0.0.1","port":30511,"status":"healthy"},{"hostname":"127.0.0.2","ip":"127.0.0.2","port":1988,"status":"unhealthy"}]
[{"hostname":"127.0.0.1","ip":"127.0.0.1","port":30511,"status":"healthy"},{"hostname":"127.0.0.2","ip":"127.0.0.2","port":1988,"status":"unhealthy"}]
--- ignore_error_log
Expand Down
2 changes: 1 addition & 1 deletion t/node/healthcheck-discovery.t
Expand Up @@ -94,7 +94,7 @@ routes:
local httpc = http.new()
local res, err = httpc:request_uri(uri, {method = "GET", keepalive = false})
ngx.sleep(0.5)
ngx.sleep(1.5)
ngx.say(res.status)
}
Expand Down
4 changes: 2 additions & 2 deletions t/node/healthcheck-leak-bugfix.t
Expand Up @@ -31,8 +31,8 @@ __DATA__
local new = healthcheck.new
healthcheck.new = function(...)
local obj = new(...)
local clear = obj.clear
obj.clear = function(...)
local clear = obj.delayed_clear
obj.delayed_clear = function(...)
ngx.log(ngx.WARN, "clear checker")
return clear(...)
end
Expand Down
1 change: 1 addition & 0 deletions t/node/healthcheck.t
Expand Up @@ -486,6 +486,7 @@ qr{\[error\].*while connecting to upstream.*}
qr{.*http://127.0.0.1:1960/server_port.*
.*http://127.0.0.1:1961/server_port.*
.*http://127.0.0.1:1961/server_port.*
.*http://127.0.0.1:1960/server_port.*
.*http://127.0.0.1:1961/server_port.*
.*http://127.0.0.1:1961/server_port.*}
--- timeout: 10
Expand Down
6 changes: 3 additions & 3 deletions t/node/priority-balancer/health-checker.t
Expand Up @@ -102,8 +102,8 @@ upstreams:
GET /t
--- error_log
connect() failed
unhealthy TCP increment (2/2) for '(127.0.0.1:1979)
unhealthy TCP increment (2/2) for '(127.0.0.2:1979)
unhealthy TCP increment (2/2) for '127.0.0.1(127.0.0.1:1979)
unhealthy TCP increment (2/2) for '127.0.0.2(127.0.0.2:1979)
--- grep_error_log eval
qr/proxy request to \S+/
--- grep_error_log_out
Expand Down Expand Up @@ -177,7 +177,7 @@ passed
GET /t
--- error_log
connect() failed
unhealthy TCP increment (2/2) for '(127.0.0.1:1979)
unhealthy TCP increment (2/2) for '127.0.0.1(127.0.0.1:1979)
--- grep_error_log eval
qr/proxy request to \S+/
--- grep_error_log_out
Expand Down

0 comments on commit 1cc1b19

Please sign in to comment.