From 506185e2ec6dbc41be210ca4c89d478035730c48 Mon Sep 17 00:00:00 2001 From: kpango Date: Thu, 4 Feb 2021 05:16:58 +0900 Subject: [PATCH 1/4] [patch] bugfix lb-gateway's Insert rpc nil pointer panic Signed-off-by: kpango --- go.mod | 12 +++--- go.sum | 45 ++++++++++------------ pkg/gateway/backup/handler/grpc/handler.go | 30 ++++++++++++--- pkg/gateway/filter/handler/grpc/handler.go | 18 +++++++-- pkg/gateway/lb/handler/grpc/handler.go | 30 ++++++++++++--- pkg/gateway/meta/handler/grpc/handler.go | 30 ++++++++++++--- 6 files changed, 116 insertions(+), 49 deletions(-) diff --git a/go.mod b/go.mod index f3b3868d88..229f0b4502 100755 --- a/go.mod +++ b/go.mod @@ -3,9 +3,9 @@ module github.com/vdaas/vald go 1.15 replace ( - cloud.google.com/go => cloud.google.com/go v0.75.0 + cloud.google.com/go => cloud.google.com/go v0.76.0 github.com/Azure/go-autorest => github.com/Azure/go-autorest v14.2.0+incompatible - github.com/aws/aws-sdk-go => github.com/aws/aws-sdk-go v1.37.1 + github.com/aws/aws-sdk-go => github.com/aws/aws-sdk-go v1.37.3 github.com/boltdb/bolt => github.com/boltdb/bolt v1.3.1 github.com/chzyer/logex => github.com/chzyer/logex v1.1.11-0.20170329064859-445be9e134b2 github.com/coreos/etcd => go.etcd.io/etcd v3.3.25+incompatible @@ -21,7 +21,7 @@ replace ( github.com/gophercloud/gophercloud => github.com/gophercloud/gophercloud v0.15.0 github.com/gorilla/websocket => github.com/gorilla/websocket v1.4.2 github.com/hailocab/go-hostpool => github.com/monzo/go-hostpool v0.0.0-20200724120130-287edbb29340 - github.com/klauspost/compress => github.com/klauspost/compress v1.11.8-0.20210125094005-b6bab9049819 + github.com/klauspost/compress => github.com/klauspost/compress v1.11.8-0.20210203154158-6c96f3e2a592 github.com/tensorflow/tensorflow => github.com/tensorflow/tensorflow v2.1.2+incompatible golang.org/x/crypto => golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad google.golang.org/grpc => google.golang.org/grpc v1.35.0 @@ -70,7 +70,7 @@ require ( github.com/yahoojapan/gongt v0.0.0-20190517050727-966dcc7aa5e8 github.com/yahoojapan/ngtd v0.0.0-20200424071638-9872bbae3700 go.opencensus.io v0.22.6 - go.uber.org/automaxprocs v1.3.0 + go.uber.org/automaxprocs v1.4.0 go.uber.org/goleak v1.1.10 go.uber.org/zap v1.16.0 golang.org/x/net v0.0.0-20210119194325-5f4716e94777 @@ -79,8 +79,8 @@ require ( gonum.org/v1/hdf5 v0.0.0-20200504100616-496fefe91614 gonum.org/v1/plot v0.8.1 google.golang.org/api v0.38.0 - google.golang.org/genproto v0.0.0-20210201184850-646a494a81ea - google.golang.org/grpc v1.34.0 + google.golang.org/genproto v0.0.0-20210203152818-3206188e46ba + google.golang.org/grpc v1.35.0 gopkg.in/yaml.v2 v2.4.0 k8s.io/api v0.20.2 k8s.io/apimachinery v0.20.2 diff --git a/go.sum b/go.sum index 79be9941c5..ad612284bf 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -cloud.google.com/go v0.75.0 h1:XgtDnVJRCPEUG21gjFiRPz4zI1Mjg16R+NYQjfmU4XY= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.76.0 h1:Ckw+E/QYZgd/5bpI4wz4h6f+jmpvh9S9uSrKNnbicJI= +cloud.google.com/go v0.76.0/go.mod h1:r9EvIAvLrunusnetGdQ50M/gKui1x3zdGW/VELGkdpw= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= @@ -60,8 +60,8 @@ github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hC github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/aws/aws-sdk-go v1.37.1 h1:BTHmuN+gzhxkvU9sac2tZvaY0gV9ihbHw+KxZOecYvY= -github.com/aws/aws-sdk-go v1.37.1/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.37.3 h1:1f0groABc4AuapskpHf6EBRaG2tqw0Sx3ebCMwfp1Ys= +github.com/aws/aws-sdk-go v1.37.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -296,8 +296,8 @@ github.com/jung-kurt/gofpdf v1.16.2 h1:jgbatWHfRlPYiK85qgevsZTHviWXKwB1TTiKdz5Pt github.com/jung-kurt/gofpdf v1.16.2/go.mod h1:1hl7y57EsiPAkLbOwzpzqgx1A30nQCk/YmFV8S2vmK0= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.11.8-0.20210125094005-b6bab9049819 h1:549RoNxzFFSY98hdTbvw790DK6N8cgrRzTweal//FCM= -github.com/klauspost/compress v1.11.8-0.20210125094005-b6bab9049819/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.8-0.20210203154158-6c96f3e2a592 h1:NmvlF3t5svvdvoaViVoVWQf1Lj1yZK/uIsoAFUmnlEA= +github.com/klauspost/compress v1.11.8-0.20210203154158-6c96f3e2a592/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -526,8 +526,8 @@ go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/automaxprocs v1.3.0 h1:II28aZoGdaglS5vVNnspf28lnZpXScxtIozx1lAjdb0= -go.uber.org/automaxprocs v1.3.0/go.mod h1:9CWT6lKIep8U41DDaPiH6eFscnTyjfTANNQNx6LrIcA= +go.uber.org/automaxprocs v1.4.0 h1:CpDZl6aOlLhReez+8S3eEotD7Jx0Os++lemPlMULQP0= +go.uber.org/automaxprocs v1.4.0/go.mod h1:/mTEdr7LvHhs0v7mjdxDreTz1OG5zdZGqgOnhWiR/+Q= go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= @@ -567,7 +567,6 @@ golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvx golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 h1:2M3HP5CCK1Si9FQhwnzYhXdG6DXeebvUHFpre8QvbyI= @@ -579,8 +578,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0 h1:8pl+sMODzuvGJkmj2W4kZihvVb5mKm8pB/X44PIQHv8= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1 h1:Kvvh58BN8Y9/lBi7hTekvtMpm07eUZ0ck5pRHpsMWrY= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -615,16 +614,15 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777 h1:003p0dJM77cxMSyCPFphvZf/Y5/NXf5fzg6ufd1/Oew= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5 h1:Lm4OryKCca1vehdsWogr9N4t7NfZxLbJoc/H0w4K4S4= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210113205817-d3ed898aa8a3 h1:BaN3BAqnopnKjvl+15DYP6LLrbBHfbfmlFYzmFj/Q9Q= +golang.org/x/oauth2 v0.0.0-20210113205817-d3ed898aa8a3/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= 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-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -679,8 +677,8 @@ golang.org/x/sys v0.0.0-20200727154430-2d971f7391a4/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c h1:VwygUrnw9jn88c4u8GD3rZQbqrP/tgas88tPUbBxQrk= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -689,8 +687,9 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -719,7 +718,6 @@ golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -739,11 +737,10 @@ golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e h1:Z2uDrs8MyXUWJbwGc4V+nGjV4Ygo+oubBbWSVQw21/I= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0 h1:po9/4sTYwZU9lPhi1tOrb4hCv3qrhiQ77LZfGa2OjwY= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -775,7 +772,6 @@ google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.38.0 h1:vDyWk6eup8eQAidaZ31sNWIn8tZEL8qpbtGkBD4ytQo= google.golang.org/api v0.38.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -809,11 +805,10 @@ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEY google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210201184850-646a494a81ea h1:B/tOZ5zKaomKBjKJJMjuqwmIc3YNX10q5DcCt8xLYY4= -google.golang.org/genproto v0.0.0-20210201184850-646a494a81ea/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210202153253-cf70463f6119/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210203152818-3206188e46ba h1:np3A9jnmE/eMtrOwwvUycmQ1XoLyj5nqZ41bAyYLqJ0= +google.golang.org/genproto v0.0.0-20210203152818-3206188e46ba/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.35.0 h1:TwIQcH3es+MojMVojxxfQ3l3OF2KzlRxML2xZq0kRo8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c= diff --git a/pkg/gateway/backup/handler/grpc/handler.go b/pkg/gateway/backup/handler/grpc/handler.go index 8f86ce8c2b..8d5b0ba1a0 100644 --- a/pkg/gateway/backup/handler/grpc/handler.go +++ b/pkg/gateway/backup/handler/grpc/handler.go @@ -411,7 +411,11 @@ func (s *server) Insert(ctx context.Context, req *payload.Insert_Request) (loc * } return nil, err } - req.Config.SkipStrictExistCheck = true + if req.GetConfig() != nil { + req.Config.SkipStrictExistCheck = true + } else { + req.Config = &payload.Insert_Config{SkipStrictExistCheck: true} + } } loc, err = s.gateway.Insert(ctx, req, s.copts...) @@ -587,7 +591,11 @@ func (s *server) MultiInsert(ctx context.Context, reqs *payload.Insert_MultiRequ } return nil, err } - reqs.Requests[i].Config.SkipStrictExistCheck = true + if reqs.Requests[i] != nil { + reqs.Requests[i].Config.SkipStrictExistCheck = true + } else { + reqs.Requests[i].Config = &payload.Insert_Config{SkipStrictExistCheck: true} + } } ids = append(ids, uuid) } @@ -726,7 +734,11 @@ func (s *server) Update(ctx context.Context, req *payload.Update_Request) (res * } return nil, err } - req.Config.SkipStrictExistCheck = true + if req.GetConfig() != nil { + req.Config.SkipStrictExistCheck = true + } else { + req.Config = &payload.Update_Config{SkipStrictExistCheck: true} + } } res, err = s.Remove(ctx, &payload.Remove_Request{ @@ -895,7 +907,11 @@ func (s *server) MultiUpdate(ctx context.Context, reqs *payload.Update_MultiRequ } return nil, err } - vec.Config.SkipStrictExistCheck = true + if vec.GetConfig() != nil { + vec.Config.SkipStrictExistCheck = true + } else { + vec.Config = &payload.Update_Config{SkipStrictExistCheck: true} + } } ids = append(ids, vec.GetVector().GetId()) ireqs = append(ireqs, &payload.Insert_Request{ @@ -1251,7 +1267,11 @@ func (s *server) Remove(ctx context.Context, req *payload.Remove_Request) (loc * } return nil, err } - req.Config.SkipStrictExistCheck = true + if req.GetConfig() != nil { + req.Config.SkipStrictExistCheck = true + } else { + req.Config = &payload.Remove_Config{SkipStrictExistCheck: true} + } } loc, err = s.gateway.Remove(ctx, req, s.copts...) diff --git a/pkg/gateway/filter/handler/grpc/handler.go b/pkg/gateway/filter/handler/grpc/handler.go index 8c278e898b..5968ed08f7 100644 --- a/pkg/gateway/filter/handler/grpc/handler.go +++ b/pkg/gateway/filter/handler/grpc/handler.go @@ -795,7 +795,11 @@ func (s *server) Insert(ctx context.Context, req *payload.Insert_Request) (loc * } return nil, status.WrapWithAlreadyExists(fmt.Sprintf("Insert API ID %s already exists", vec.GetId()), err, info.Get()) } - req.Config.SkipStrictExistCheck = true + if req.GetConfig() != nil { + req.Config.SkipStrictExistCheck = true + } else { + req.Config = &payload.Insert_Config{SkipStrictExistCheck: true} + } } targets := req.GetConfig().GetFilters().GetTargets() if len(targets) == 0 && len(s.InsertFilters) == 0 { @@ -932,7 +936,11 @@ func (s *server) Update(ctx context.Context, req *payload.Update_Request) (loc * } return nil, status.WrapWithAlreadyExists(fmt.Sprintf("Update API ID %s already exists", vec.GetId()), err, info.Get()) } - req.Config.SkipStrictExistCheck = true + if req.GetConfig() != nil { + req.Config.SkipStrictExistCheck = true + } else { + req.Config = &payload.Update_Config{SkipStrictExistCheck: true} + } } targets := req.GetConfig().GetFilters().GetTargets() if len(targets) == 0 && len(s.UpdateFilters) == 0 { @@ -1069,7 +1077,11 @@ func (s *server) Upsert(ctx context.Context, req *payload.Upsert_Request) (loc * } return nil, status.WrapWithAlreadyExists(fmt.Sprintf("Upsert API ID %s already exists", vec.GetId()), err, info.Get()) } - req.Config.SkipStrictExistCheck = true + if req.GetConfig() != nil { + req.Config.SkipStrictExistCheck = true + } else { + req.Config = &payload.Upsert_Config{SkipStrictExistCheck: true} + } } targets := req.GetConfig().GetFilters().GetTargets() if len(targets) == 0 && len(s.UpsertFilters) == 0 { diff --git a/pkg/gateway/lb/handler/grpc/handler.go b/pkg/gateway/lb/handler/grpc/handler.go index eadb86e28d..0f1380f09d 100644 --- a/pkg/gateway/lb/handler/grpc/handler.go +++ b/pkg/gateway/lb/handler/grpc/handler.go @@ -762,7 +762,11 @@ func (s *server) Insert(ctx context.Context, req *payload.Insert_Request) (ce *p } return nil, err } - req.Config.SkipStrictExistCheck = true + if req.GetConfig() != nil { + req.Config.SkipStrictExistCheck = true + } else { + req.Config = &payload.Insert_Config{SkipStrictExistCheck: true} + } } mu := new(sync.Mutex) @@ -923,7 +927,11 @@ func (s *server) MultiInsert(ctx context.Context, reqs *payload.Insert_MultiRequ } return nil, err } - reqs.Requests[i].Config.SkipStrictExistCheck = true + if reqs.Requests[i] != nil { + reqs.Requests[i].Config.SkipStrictExistCheck = true + } else { + reqs.Requests[i].Config = &payload.Insert_Config{SkipStrictExistCheck: true} + } } ids = append(ids, uuid) } @@ -1041,7 +1049,11 @@ func (s *server) Update(ctx context.Context, req *payload.Update_Request) (res * } return nil, err } - req.Config.SkipStrictExistCheck = true + if req.GetConfig() != nil { + req.Config.SkipStrictExistCheck = true + } else { + req.Config = &payload.Update_Config{SkipStrictExistCheck: true} + } } res, err = s.Remove(ctx, &payload.Remove_Request{ @@ -1209,7 +1221,11 @@ func (s *server) MultiUpdate(ctx context.Context, reqs *payload.Update_MultiRequ } return nil, err } - vec.Config.SkipStrictExistCheck = true + if vec.GetConfig() != nil { + vec.Config.SkipStrictExistCheck = true + } else { + vec.Config = &payload.Update_Config{SkipStrictExistCheck: true} + } } ids = append(ids, vec.GetVector().GetId()) ireqs = append(ireqs, &payload.Insert_Request{ @@ -1561,7 +1577,11 @@ func (s *server) Remove(ctx context.Context, req *payload.Remove_Request) (locs } return nil, err } - req.Config.SkipStrictExistCheck = true + if req.GetConfig() != nil { + req.Config.SkipStrictExistCheck = true + } else { + req.Config = &payload.Remove_Config{SkipStrictExistCheck: true} + } } var mu sync.Mutex locs = &payload.Object_Location{ diff --git a/pkg/gateway/meta/handler/grpc/handler.go b/pkg/gateway/meta/handler/grpc/handler.go index e68d097c59..e4ccaeb7aa 100644 --- a/pkg/gateway/meta/handler/grpc/handler.go +++ b/pkg/gateway/meta/handler/grpc/handler.go @@ -567,7 +567,11 @@ func (s *server) Insert(ctx context.Context, req *payload.Insert_Request) (loc * } return nil, err } - req.Config.SkipStrictExistCheck = true + if req.GetConfig() != nil { + req.Config.SkipStrictExistCheck = true + } else { + req.Config = &payload.Insert_Config{SkipStrictExistCheck: true} + } } uuid := fuid.String() req.Vector.Id = uuid @@ -756,7 +760,11 @@ func (s *server) MultiInsert(ctx context.Context, reqs *payload.Insert_MultiRequ } return nil, err } - reqs.Requests[i].Config.SkipStrictExistCheck = true + if reqs.Requests[i] != nil { + reqs.Requests[i].Config.SkipStrictExistCheck = true + } else { + reqs.Requests[i].Config = &payload.Insert_Config{SkipStrictExistCheck: true} + } } uuid := fuid.String() @@ -1326,7 +1334,11 @@ func (s *server) Remove(ctx context.Context, req *payload.Remove_Request) (loc * return nil, err } - req.Id.Id = uuid + if req.GetId() != nil { + req.Id.Id = uuid + } else { + req.Id = &payload.Object_ID{Id: uuid} + } loc, err = s.gateway.Remove(ctx, req, s.copts...) if err != nil { err = status.WrapWithInternal("Remove API failed to remove request", err, @@ -1449,7 +1461,11 @@ func (s *server) MultiRemove(ctx context.Context, reqs *payload.Remove_MultiRequ return nil, err } for i, id := range uuids { - reqs.Requests[i].Id.Id = id + if reqs.Requests[i].GetId() != nil { + reqs.Requests[i].Id.Id = id + } else { + reqs.Requests[i].Id = &payload.Object_ID{Id: id} + } } locs, err = s.gateway.MultiRemove(ctx, reqs, s.copts...) if err != nil { @@ -1519,7 +1535,11 @@ func (s *server) GetObject(ctx context.Context, req *payload.Object_VectorReques } return nil, err } - req.Id.Id = uuid + if req.GetId() != nil { + req.Id.Id = uuid + } else { + req.Id = &payload.Object_ID{Id: uuid} + } vec, err = s.gateway.GetObject(ctx, req, s.copts...) if err != nil { err = status.WrapWithNotFound("GetObject API failed to get Object", err, From 8df8378858d870083361cd09c00175fc173e0dfc Mon Sep 17 00:00:00 2001 From: kpango Date: Thu, 4 Feb 2021 11:25:58 +0900 Subject: [PATCH 2/4] fix Signed-off-by: kpango --- internal/safety/safety.go | 8 +++++--- pkg/gateway/backup/handler/grpc/handler.go | 9 +++++++-- pkg/gateway/lb/handler/grpc/handler.go | 8 +++++++- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/internal/safety/safety.go b/internal/safety/safety.go index 04fc6c6195..68c3e2a158 100644 --- a/internal/safety/safety.go +++ b/internal/safety/safety.go @@ -19,6 +19,7 @@ package safety import ( "runtime" + "runtime/debug" "github.com/vdaas/vald/internal/errors" "github.com/vdaas/vald/internal/info" @@ -37,12 +38,13 @@ func recoverFunc(fn func() error, withPanic bool) func() error { return func() (err error) { defer func() { if r := recover(); r != nil { - log.Warnf("recovered:\t%+v", r) + stack := string(debug.Stack()) + log.Warn("recovered: %+v\nstacktrace:\n%s", r, stack) switch x := r.(type) { case runtime.Error: err = errors.ErrRuntimeError(err, x) if withPanic { - log.Error(err, info.Get()) + log.Errorf("recovered but this thread going to panic because panic reason is runtimer.Error\nerror: %v\ninfo:\n%s\nstacktrace:\n%s", err, info.Get().String(), stack) panic(err) } case string: @@ -53,7 +55,7 @@ func recoverFunc(fn func() error, withPanic bool) func() error { err = errors.ErrPanicRecovered(err, x) } if err != nil { - log.Error(err, info.Get()) + log.Errorf("recovered error: %v\ninfo:\n%s\nstacktrace:\n%s", err, info.Get().String(), stack) } } }() diff --git a/pkg/gateway/backup/handler/grpc/handler.go b/pkg/gateway/backup/handler/grpc/handler.go index 8d5b0ba1a0..6b4913e6d0 100644 --- a/pkg/gateway/backup/handler/grpc/handler.go +++ b/pkg/gateway/backup/handler/grpc/handler.go @@ -591,7 +591,7 @@ func (s *server) MultiInsert(ctx context.Context, reqs *payload.Insert_MultiRequ } return nil, err } - if reqs.Requests[i] != nil { + if reqs.Requests[i].GetConfig() != nil { reqs.Requests[i].Config.SkipStrictExistCheck = true } else { reqs.Requests[i].Config = &payload.Insert_Config{SkipStrictExistCheck: true} @@ -1374,7 +1374,7 @@ func (s *server) MultiRemove(ctx context.Context, reqs *payload.Remove_MultiRequ } }() ids := make([]string, 0, len(reqs.GetRequests())) - for _, req := range reqs.GetRequests() { + for i, req := range reqs.GetRequests() { id := req.GetId() ids = append(ids, id.GetId()) if !req.GetConfig().GetSkipStrictExistCheck() { @@ -1400,6 +1400,11 @@ func (s *server) MultiRemove(ctx context.Context, reqs *payload.Remove_MultiRequ } return nil, err } + if reqs.Requests[i].GetConfig() != nil { + reqs.Requests[i].Config.SkipStrictExistCheck = true + } else { + reqs.Requests[i].Config = &payload.Remove_Config{SkipStrictExistCheck: true} + } } } locs, err = s.gateway.MultiRemove(ctx, reqs, s.copts...) diff --git a/pkg/gateway/lb/handler/grpc/handler.go b/pkg/gateway/lb/handler/grpc/handler.go index 0f1380f09d..2ffff14b38 100644 --- a/pkg/gateway/lb/handler/grpc/handler.go +++ b/pkg/gateway/lb/handler/grpc/handler.go @@ -1686,7 +1686,7 @@ func (s *server) MultiRemove(ctx context.Context, reqs *payload.Remove_MultiRequ } }() ids := make([]string, 0, len(reqs.GetRequests())) - for _, req := range reqs.GetRequests() { + for i, req := range reqs.GetRequests() { id := req.GetId() ids = append(ids, id.GetId()) if !req.GetConfig().GetSkipStrictExistCheck() { @@ -1712,6 +1712,12 @@ func (s *server) MultiRemove(ctx context.Context, reqs *payload.Remove_MultiRequ } return nil, err } + if reqs.Requests[i].GetConfig() != nil { + reqs.Requests[i].Config.SkipStrictExistCheck = true + } else { + reqs.Requests[i].Config = &payload.Remove_Config{SkipStrictExistCheck: true} + } + } } var mu sync.Mutex From aa45f97290d379e934cbff818f4ff2639b9ffe1f Mon Sep 17 00:00:00 2001 From: Yusuke Kato Date: Thu, 4 Feb 2021 11:39:36 +0900 Subject: [PATCH 3/4] Update internal/safety/safety.go Co-authored-by: Rintaro Okamura --- internal/safety/safety.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/safety/safety.go b/internal/safety/safety.go index 68c3e2a158..d383059a55 100644 --- a/internal/safety/safety.go +++ b/internal/safety/safety.go @@ -44,7 +44,8 @@ func recoverFunc(fn func() error, withPanic bool) func() error { case runtime.Error: err = errors.ErrRuntimeError(err, x) if withPanic { - log.Errorf("recovered but this thread going to panic because panic reason is runtimer.Error\nerror: %v\ninfo:\n%s\nstacktrace:\n%s", err, info.Get().String(), stack) + log.Errorf("recovered but this thread going to panic: the reason is runtimer.Error\nerror: %v\ninfo:\n%s\nstacktrace:\n%s", err, info.Get().String(), stack) + panic(err) } case string: From 9e7126960323ee92a75188b8c943ceb62678bcfd Mon Sep 17 00:00:00 2001 From: Yusuke Kato Date: Thu, 4 Feb 2021 11:43:05 +0900 Subject: [PATCH 4/4] Update internal/safety/safety.go Co-authored-by: Rintaro Okamura --- internal/safety/safety.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/safety/safety.go b/internal/safety/safety.go index d383059a55..010c90a3fb 100644 --- a/internal/safety/safety.go +++ b/internal/safety/safety.go @@ -44,7 +44,7 @@ func recoverFunc(fn func() error, withPanic bool) func() error { case runtime.Error: err = errors.ErrRuntimeError(err, x) if withPanic { - log.Errorf("recovered but this thread going to panic: the reason is runtimer.Error\nerror: %v\ninfo:\n%s\nstacktrace:\n%s", err, info.Get().String(), stack) + log.Errorf("recovered but this thread is going to panic: the reason is runtimer.Error\nerror: %v\ninfo:\n%s\nstacktrace:\n%s", err, info.Get().String(), stack) panic(err) }