Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kong can't call an embedded server plugin once the plugin is killed #8293

Closed
1 task done
fr-kinoshita opened this issue Jan 14, 2022 · 18 comments · Fixed by #8547
Closed
1 task done

Kong can't call an embedded server plugin once the plugin is killed #8293

fr-kinoshita opened this issue Jan 14, 2022 · 18 comments · Fixed by #8547

Comments

@fr-kinoshita
Copy link

fr-kinoshita commented Jan 14, 2022

Is there an existing issue for this?

  • I have searched the existing issues

Kong version ($ kong version)

Kong 2.7.0

Current Behavior

As title, kong seems to fail to call external embedded server plugin if the plugin is killed by for example OOM. After a plugin is killed, kong outputs error logs as below, but the request succeeds.

2022/01/14 05:43:17 [error] 1109#0: *1757 [kong] pb_rpc.lua:365 [hello] closed, client: 172.18.0.1, server: kong, request: "HEAD / HTTP/1.1", host: "localhost:8000"

Expected Behavior

Best is Kong can call external embedded server plugin even after the plugin is killed.

Steps To Reproduce

I have tested in docker environment of my local laptop.

Example go plugin (from https://github.com/Kong/go-plugins/blob/master/go-hello.go)

package main

import (
	"fmt"
	"log"

	"github.com/Kong/go-pdk"
	"github.com/Kong/go-pdk/server"
)

type Config struct {
	Message string
}

func main() {
	server.StartServer(New, "1.0.0", 1)
}

func New() interface{} {
	return &Config{}
}

func (conf Config) Access(kong *pdk.PDK) {
	host, err := kong.Request.GetHeader("host")
	if err != nil {
		log.Printf("Error reading 'host' header: %s", err.Error())
	}

	message := conf.Message
	if message == "" {
		message = "hello"
	}
	kong.Response.SetHeader("x-hello-from-go", fmt.Sprintf("Go says %s to %s", message, host))
}

Dockerfile of kong

FROM golang:1.16.4-buster as plugin-hello

RUN mkdir /go-plugins
WORKDIR /go-plugins
COPY plugin-hello/*.go plugin-hello/go.mod plugin-hello/go.sum /go-plugins/
RUN go build -o /go-plugins/hello

FROM kong:2.7.0-ubuntu

USER root
COPY --from=plugin-hello /go-plugins/hello /usr/local/bin

USER kong
ENTRYPOINT ["/docker-entrypoint.sh"]
STOPSIGNAL SIGQUIT
HEALTHCHECK --interval=10s --timeout=10s --retries=10 CMD kong health
CMD ["kong", "docker-start"]

docker-compose.yml

version: "3.9"
services:
  httpbin:
    image: kennethreitz/httpbin
  kong:
    build: .
    ports: ["8000:8000", "8001:8001"]
    environment:
    - KONG_DATABASE=off
    - KONG_DECLARATIVE_CONFIG=/opt/kong.yml
    - KONG_PLUGINSERVER_NAMES=hello
    - KONG_PLUGINSERVER_HELLO_QUERY_CMD=/usr/local/bin/hello -dump
    - KONG_PLUGINS=hello
    - KONG_PROXY_LISTEN=0.0.0.0:8000
    - KONG_ADMIN_LISTEN=0.0.0.0:8001
    - KONG_HEADERS=off
    - KONG_LOG_LEVEL=info
    - KONG_PROXY_ACCESS_LOG=/dev/stdout
    - KONG_ADMIN_ACCESS_LOG=/dev/stdout
    - KONG_PROXY_ERROR_LOG=/dev/stdout
    - KONG_ADMIN_ERROR_LOG=/dev/stdout
    volumes:
    - ./kong.yml:/opt/kong.yml

kong.yml

_format_version: "1.1"
services:
- url: http://httpbin
  routes:
  - paths: ["/"]
  plugins:
  - name: hello
    config:
      message: hello

Steps to reproduce

$ docker-compose build
$ docker-compose up
$ curl -I localhost:8000

In this time, x-hello-from-go exists in response header

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 9593
Connection: keep-alive
x-hello-from-go: Go says hello to localhost:8000
Server: gunicorn/19.9.0
Date: Fri, 14 Jan 2022 05:40:09 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true

After login to kong and kill plugin process, request succeeds but x-hello-from-go does not exist in response header.

$ curl -I  localhost:8000
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 9593
Connection: keep-alive
Server: gunicorn/19.9.0
Date: Fri, 14 Jan 2022 05:43:17 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true

Kong outputs error log as below.

kong_1     | 2022/01/14 05:43:17 [error] 1109#0: *1757 [kong] pb_rpc.lua:365 [hello] closed, client: 172.18.0.1, server: kong, request: "HEAD / HTTP/1.1", host: "localhost:8000"

However, hello plugin is running with different process id.

$ docker-compose exec kong bash
kong@1ff50af4cc82:/$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
kong         1  0.0  1.2 639600 26060 ?        Ss   05:39   0:00 nginx: master process /u
kong      1109  0.0  4.4 709420 90432 ?        S    05:39   0:00 nginx: worker process
kong      1110  0.0  4.3 708844 88904 ?        S    05:39   0:00 nginx: worker process
kong      1111  0.0  4.3 708844 88904 ?        S    05:39   0:00 nginx: worker process
kong      1112  0.0  4.4 708844 89504 ?        S    05:39   0:00 nginx: worker process
kong      1424  0.0  0.4 1154228 8488 ?        Sl   05:43   0:00 /usr/local/bin/hello
kong      4667  2.0  0.1   4116  3376 pts/0    Ss   06:22   0:00 bash
kong      4676  0.0  0.1   5904  2964 pts/0    R+   06:22   0:00 ps aux

Anything else?

No response

@yankun-li-kong
Copy link
Contributor

Seems related with go plugin server configuration.
Follow https://konghq.com/blog/kong-gateway-go-plugin will not see this issue

@yankun-li-kong
Copy link
Contributor

yankun-li-kong commented Jan 18, 2022

Use below Dockerfile will fix this issue too
(embedded go plugin server)

# download sample go plugins for testing
Step1: Download https://github.com/Kong/go-plugins to working directory
 
Step2: Use below Dockerfile
FROM kong/go-plugin-tool:2.0.4-alpine-latest AS builder
RUN mkdir -p /tmp/go-plugins/
# copy everything from working directly to container
COPY . /tmp/go-plugins/
RUN cd /tmp/go-plugins/ && \
    apk add make && \
    make all

FROM <kong-image-tag> # please replace with your actual kong image tag
RUN mkdir /tmp/go-plugins
COPY --from=builder  /tmp/go-plugins/go-hello /usr/local/bin/hello
RUN /usr/local/bin/hello -dump

@fr-kinoshita
Copy link
Author

Sorry for not provided enough information, but the go-pdk version is v0.7.1. This may be the issue of go-pdk.

go.mod

module hello

go 1.17

require github.com/Kong/go-pdk v0.7.1

require (
    github.com/golang/protobuf v1.4.3 // indirect
    github.com/ugorji/go/codec v1.2.1 // indirect
    google.golang.org/protobuf v1.25.0 // indirect
)

go.sum

cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/Kong/go-pdk v0.7.1 h1:DWpmvuafH/35xws0VsXPyiGVtQmUuICnok9Hqolgdgg=
github.com/Kong/go-pdk v0.7.1/go.mod h1:48+yltNveiFYTo6/I1AnmGn3m8goSQbtkfamH1zkwhw=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/ugorji/go v1.2.1 h1:dz+JxTe7GZQdErTo7SREc1jQj/hFP1k7jyIAwODoW+k=
github.com/ugorji/go v1.2.1/go.mod h1:cSVypSfTLm2o9fKxXvQgn3rMmkPXovcWor6Qn5tbFmI=
github.com/ugorji/go/codec v1.2.1 h1:/TRfW3XKkvWvmAYyCUaQlhoCDGjcvNR8xVVA/l5p/jQ=
github.com/ugorji/go/codec v1.2.1/go.mod h1:s/WxCRi46t8rA+fowL40EnmD7ec0XhR7ZypxeBNdzsM=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

@ghost
Copy link

ghost commented Mar 14, 2022

@fr-kinoshita did you find fix ?? I have encounter same issue.

@yankun-li-kong
Copy link
Contributor

yankun-li-kong commented Mar 14, 2022

This issue happens with go-pdk v0.7.0/v0.7.1.
Please try go-pdk v0.6.1 instead.
(I have confirmed in my local go-pdk v0.6.1 not have this issue)

@ghost
Copy link

ghost commented Mar 14, 2022

@yankun-li-kong One of plugin config contains unexported struct and in v0.6.1 it is crashing with stack overflow when run ./go-plugin -dump command(Kong/go-pdk#68). To fix issue I updated PDK to v0.7.1. Is there any other way apart from downgrading the PDK as I can't downgrade it.

gszr added a commit that referenced this issue Mar 16, 2022
Fix issue where the Go plugin instance would not get updated after
a plugin server restart.

Fixes #8293
@gszr
Copy link
Member

gszr commented Mar 16, 2022

Hi all,

We have opened #8547 with a fix for this. Please test it if you can!

Thanks!

@gszr
Copy link
Member

gszr commented Mar 16, 2022

and @fr-kinoshita, thank you for the detailed repro steps! Those were very helpful!

@yaobo-lab
Copy link

yaobo-lab commented Apr 1, 2022

@fr-kinoshita @dhrumil29699 I have the same problem, How is it solved?

@yaobo-lab
Copy link

@gszr This bug when. Can be merged into the main branch?

@gszr
Copy link
Member

gszr commented Apr 8, 2022

@yaobo-lab - I have pushed a new revision, should be good to go soon.

@gszr
Copy link
Member

gszr commented Apr 12, 2022

Hi all, this has now been merged into Kong master, and will be included in the next release.

@jpedroh
Copy link

jpedroh commented Jun 8, 2022

Hello, any update on when this is planning to be released?

@Tharunvarshanth
Copy link

Hello above issue was fixed in go-pdk 0.8.0 version?

@guy-frontegg
Copy link

Hello,
We have the same issue with the 0.8.0 version
Our plugin is killed by OOM (which we don't know why)
the behavior as described by the author here, returns

@jpedroh
Copy link

jpedroh commented Jun 16, 2022

@Tharunvarshanth @guy-frontegg iiuc, this is not something related to kong-pdk, but with Kong instance itself, which is the responsible for handling the server lifecycle.

What I've done in my case, was to switch the Kong image from 2.7.0 into a build with the commit from the MR thas patches this issue (in our usecase it was fine to use an unrelased version of Kong if that would fix our issue). You can find images for Kong commit hashes here: https://hub.docker.com/r/kong/kong

@fr-kinoshita
Copy link
Author

@gszr and all, Thank you for fixing this issue and sorry for missing your comments long time.. I hope this fix will be released soon.

@zffocussss
Copy link

zffocussss commented Oct 12, 2022

I do not think it is resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants