A11enHuang commented on pull request #42:
URL:
https://github.com/apache/apisix-go-plugin-runner/pull/42#issuecomment-939202010
Today I will use the code of the master branch to confirm whether the
problem is fixed.
> 2021年10月8日 17:33,罗泽轩 ***@***.***> 写道:
>
>
> Interesting. We don't call util.PutBuilder in server/server.go:122 after
applying this change.
>
> Here is the old stack:
>
> 2021/10/8 上午11:03:14
github.com/apache/apisix-go-plugin-runner/internal/util.PutBuilder
> 2021/10/8 上午11:03:14
/var/lib/jenkins/workspace/build-dev-apple-fuller-apisix-go-plugin-runner/apisix-go-plugin-runner/internal/util/pool.go:37
> 2021/10/8 上午11:03:14
github.com/apache/apisix-go-plugin-runner/internal/server.handleConn
> 2021/10/8 上午11:03:14
/var/lib/jenkins/workspace/build-dev-apple-fuller-apisix-go-plugin-runner/apisix-go-plugin-runner/internal/server/server.go:122
> Here is the new stack:
>
> github.com/apache/apisix-go-plugin-runner/internal/util.PutBuilder
>
/var/lib/jenkins/workspace/build-dev-apple-fuller-apisix-go-plugin-runner/apisix-go-plugin-runner/internal/util/pool.go:37
> github.com/apache/apisix-go-plugin-runner/internal/server.handleConn
>
/var/lib/jenkins/workspace/build-dev-apple-fuller-apisix-go-plugin-runner/apisix-go-plugin-runner/internal/server/server.go:122
> Could you check if the code has the given patch? I already removed the
util.PutBuilder in line 122.
>
> diff --git a/internal/server/server.go b/internal/server/server.go
> index 48d6da0..6193a11 100644
> --- a/internal/server/server.go
> +++ b/internal/server/server.go
> @@ -70,12 +70,22 @@ func recoverPanic() {
> }
> }
>
> -func dispatchRPC(ty byte, in []byte, conn net.Conn)
(*flatbuffers.Builder, error) {
> +func dispatchRPC(ty byte, in []byte, conn net.Conn) *flatbuffers.Builder {
> + var err error
> + var bd *flatbuffers.Builder
> hl, ok := typeHandlerMap[ty]
> if !ok {
> - return nil, UnknownType{ty}
> + err = UnknownType{ty}
> + } else {
> + bd, err = hl(in, conn)
> + }
> +
> + if err != nil {
> + bd = generateErrorReport(err)
> + } else {
> + bd = checkIfDataTooLarge(bd)
> }
> - return hl(in, conn)
> + return bd
> }
>
> func checkIfDataTooLarge(bd *flatbuffers.Builder) *flatbuffers.Builder {
> @@ -116,15 +126,7 @@ func handleConn(c net.Conn) {
> break
> }
>
> - bd, err := dispatchRPC(ty, buf, c)
> -
> - if err != nil {
> - util.PutBuilder(bd)
> - bd = generateErrorReport(err)
> - } else {
> - bd = checkIfDataTooLarge(bd)
> - }
> -
> + bd := dispatchRPC(ty, buf, c)
> out := bd.FinishedBytes()
> size := len(out)
> binary.BigEndian.PutUint32(header, uint32(size))
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
<https://github.com/apache/apisix-go-plugin-runner/pull/42#issuecomment-938495725>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALWW7KIEAQF26OXYN7JGLWLUF23GRANCNFSM5FSWBSYQ>.
> Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]