You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by zt...@apache.org on 2021/10/10 01:55:23 UTC
[dubbo-go-pixiu] branch develop updated: fix API delete bug (#270)
This is an automated email from the ASF dual-hosted git repository.
ztelur pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/dubbo-go-pixiu.git
The following commit(s) were added to refs/heads/develop by this push:
new 516c82b fix API delete bug (#270)
516c82b is described below
commit 516c82b56728c236da0cc681ea6814babbf921f8
Author: alchemy-lee <27...@qq.com>
AuthorDate: Sun Oct 10 09:55:20 2021 +0800
fix API delete bug (#270)
Co-authored-by: Mark4z <36...@users.noreply.github.com>
---
.../registry/zookeeper/service_listener.go | 24 +++++++++++++---------
pkg/config/config_load_test.go | 4 ----
pkg/model/bootstrap.go | 1 -
samples/dubbogo/http/pixiu/conf.yaml | 3 ---
samples/dubbogo/multi/config/conf.yaml | 3 ---
samples/dubbogo/simple/mix/pixiu/conf.yaml | 3 ---
samples/dubbogo/simple/proxy/pixiu/conf.yaml | 3 ---
samples/dubbogo/simple/query/pixiu/conf.yaml | 3 ---
samples/dubbogo/simple/registry/pixiu/conf.yaml | 3 ---
samples/dubbogo/simple/uri/pixiu/conf.yaml | 3 ---
samples/http/grpc/pixiu/conf.yaml | 3 ---
samples/http/simple/pixiu/conf.yaml | 3 ---
samples/springcloud/pixiu/conf.yaml | 3 ---
13 files changed, 14 insertions(+), 45 deletions(-)
diff --git a/pkg/adapter/dubboregistry/registry/zookeeper/service_listener.go b/pkg/adapter/dubboregistry/registry/zookeeper/service_listener.go
index 3986717..3a8cca3 100644
--- a/pkg/adapter/dubboregistry/registry/zookeeper/service_listener.go
+++ b/pkg/adapter/dubboregistry/registry/zookeeper/service_listener.go
@@ -18,6 +18,7 @@
package zookeeper
import (
+ "strings"
"sync"
"time"
)
@@ -31,6 +32,7 @@ import (
common2 "github.com/apache/dubbo-go-pixiu/pkg/adapter/dubboregistry/common"
"github.com/apache/dubbo-go-pixiu/pkg/adapter/dubboregistry/registry"
"github.com/apache/dubbo-go-pixiu/pkg/adapter/dubboregistry/remoting/zookeeper"
+ "github.com/apache/dubbo-go-pixiu/pkg/common/constant"
"github.com/apache/dubbo-go-pixiu/pkg/logger"
"github.com/dubbogo/dubbo-go-pixiu-filter/pkg/api/config"
)
@@ -98,12 +100,12 @@ func (zkl *serviceListener) waitEventAndHandlePeriod(children []string, e <-chan
tickerTTL := defaultTTL
ticker := time.NewTicker(tickerTTL)
defer ticker.Stop()
- zkl.handleEvent(children)
+ zkl.handleEvent()
for {
select {
case <-ticker.C:
- zkl.handleEvent(children)
+ zkl.handleEvent()
case zkEvent := <-e:
logger.Warnf("get a zookeeper childEventCh{type:%s, server:%s, path:%s, state:%d-%s, err:%s}",
zkEvent.Type.String(), zkEvent.Server, zkEvent.Path, zkEvent.State, zookeeper.StateToString(zkEvent.State), zkEvent.Err)
@@ -111,7 +113,7 @@ func (zkl *serviceListener) waitEventAndHandlePeriod(children []string, e <-chan
if zkEvent.Type != zk.EventNodeChildrenChanged {
return true
}
- zkl.handleEvent(children)
+ zkl.handleEvent()
return true
case <-zkl.exit:
logger.Warnf("listen(path{%s}) goroutine exit now...", zkl.path)
@@ -122,18 +124,20 @@ func (zkl *serviceListener) waitEventAndHandlePeriod(children []string, e <-chan
}
// whenever it is called, the children node changed and refresh the api configuration.
-func (zkl *serviceListener) handleEvent(children []string) {
-
- if len(children) == 0 {
+func (zkl *serviceListener) handleEvent() {
+ children, err := zkl.client.GetChildren(zkl.path)
+ if err != nil {
// disable the API
- bkConf, _, _ := registry.ParseDubboString(zkl.url.String())
+ bkConf, methods, _ := registry.ParseDubboString(zkl.url.String())
apiPattern := registry.GetAPIPattern(bkConf)
- if err := zkl.adapterListener.OnDeleteRouter(config.Resource{Path: apiPattern}); err != nil {
- logger.Errorf("Error={%s} when try to remove API by path: %s", err.Error(), apiPattern)
+ for i := range methods {
+ path := strings.Join([]string{apiPattern, methods[i]}, constant.PathSlash)
+ if err := zkl.adapterListener.OnDeleteRouter(config.Resource{Path: path}); err != nil {
+ logger.Errorf("Error={%s} when try to remove API by path: %s", err.Error(), path)
+ }
}
return
}
- var err error
zkl.url, err = common.NewURL(children[0])
if err != nil {
logger.Warnf("Parse service path failed: %s", children[0])
diff --git a/pkg/config/config_load_test.go b/pkg/config/config_load_test.go
index 70ac89a..22704db 100644
--- a/pkg/config/config_load_test.go
+++ b/pkg/config/config_load_test.go
@@ -130,10 +130,6 @@ func TestMain(m *testing.M) {
LbStr: "RoundRobin",
},
},
- TimeoutConfig: model.TimeoutConfig{
- ConnectTimeoutStr: "5s",
- RequestTimeoutStr: "10s",
- },
ShutdownConfig: &model.ShutdownConfig{
Timeout: "60s",
StepTimeout: "10s",
diff --git a/pkg/model/bootstrap.go b/pkg/model/bootstrap.go
index e54746f..b082e5a 100644
--- a/pkg/model/bootstrap.go
+++ b/pkg/model/bootstrap.go
@@ -57,7 +57,6 @@ type StaticResources struct {
Listeners []*Listener `yaml:"listeners" json:"listeners" mapstructure:"listeners"`
Clusters []*Cluster `yaml:"clusters" json:"clusters" mapstructure:"clusters"`
Adapters []*Adapter `yaml:"adapters" json:"adapters" mapstructure:"adapters"`
- TimeoutConfig TimeoutConfig `yaml:"timeout_config" json:"timeout_config" mapstructure:"timeout_config"`
ShutdownConfig *ShutdownConfig `yaml:"shutdown_config" json:"shutdown_config" mapstructure:"shutdown_config"`
PprofConf PprofConf `yaml:"pprofConf" json:"pprofConf" mapstructure:"pprofConf"`
}
diff --git a/samples/dubbogo/http/pixiu/conf.yaml b/samples/dubbogo/http/pixiu/conf.yaml
index 778c1fa..786137f 100644
--- a/samples/dubbogo/http/pixiu/conf.yaml
+++ b/samples/dubbogo/http/pixiu/conf.yaml
@@ -74,9 +74,6 @@ static_resources:
address: "127.0.0.1:2181"
username: ""
password: ""
- timeout_config:
- connect_timeout: "5s"
- request_timeout: "10s"
shutdown_config:
timeout: "60s"
step_timeout: "10s"
diff --git a/samples/dubbogo/multi/config/conf.yaml b/samples/dubbogo/multi/config/conf.yaml
index e6a25ae..86b83aa 100644
--- a/samples/dubbogo/multi/config/conf.yaml
+++ b/samples/dubbogo/multi/config/conf.yaml
@@ -74,9 +74,6 @@ static_resources:
address: "127.0.0.1:2181"
username: ""
password: ""
- timeout_config:
- connect_timeout: "5s"
- request_timeout: "10s"
shutdown_config:
timeout: "60s"
step_timeout: "10s"
diff --git a/samples/dubbogo/simple/mix/pixiu/conf.yaml b/samples/dubbogo/simple/mix/pixiu/conf.yaml
index e6a25ae..86b83aa 100644
--- a/samples/dubbogo/simple/mix/pixiu/conf.yaml
+++ b/samples/dubbogo/simple/mix/pixiu/conf.yaml
@@ -74,9 +74,6 @@ static_resources:
address: "127.0.0.1:2181"
username: ""
password: ""
- timeout_config:
- connect_timeout: "5s"
- request_timeout: "10s"
shutdown_config:
timeout: "60s"
step_timeout: "10s"
diff --git a/samples/dubbogo/simple/proxy/pixiu/conf.yaml b/samples/dubbogo/simple/proxy/pixiu/conf.yaml
index dfaee32..db91196 100644
--- a/samples/dubbogo/simple/proxy/pixiu/conf.yaml
+++ b/samples/dubbogo/simple/proxy/pixiu/conf.yaml
@@ -74,9 +74,6 @@ static_resources:
address: "127.0.0.1:2181"
username: ""
password: ""
- timeout_config:
- connect_timeout: "5s"
- request_timeout: "10s"
shutdown_config:
timeout: "60s"
step_timeout: "10s"
diff --git a/samples/dubbogo/simple/query/pixiu/conf.yaml b/samples/dubbogo/simple/query/pixiu/conf.yaml
index 983b031..0b4c570 100644
--- a/samples/dubbogo/simple/query/pixiu/conf.yaml
+++ b/samples/dubbogo/simple/query/pixiu/conf.yaml
@@ -74,9 +74,6 @@ static_resources:
address: "127.0.0.1:2181"
username: ""
password: ""
- timeout_config:
- connect_timeout: "5s"
- request_timeout: "10s"
shutdown_config:
timeout: "60s"
step_timeout: "10s"
diff --git a/samples/dubbogo/simple/registry/pixiu/conf.yaml b/samples/dubbogo/simple/registry/pixiu/conf.yaml
index 36d4c05..11ad30c 100644
--- a/samples/dubbogo/simple/registry/pixiu/conf.yaml
+++ b/samples/dubbogo/simple/registry/pixiu/conf.yaml
@@ -75,9 +75,6 @@ static_resources:
address: "127.0.0.1:2181"
username: ""
password: ""
- timeout_config:
- connect_timeout: "5s"
- request_timeout: "10s"
shutdown_config:
timeout: "60s"
step_timeout: "10s"
diff --git a/samples/dubbogo/simple/uri/pixiu/conf.yaml b/samples/dubbogo/simple/uri/pixiu/conf.yaml
index 0346ff6..abbc557 100644
--- a/samples/dubbogo/simple/uri/pixiu/conf.yaml
+++ b/samples/dubbogo/simple/uri/pixiu/conf.yaml
@@ -74,9 +74,6 @@ static_resources:
address: "127.0.0.1:2181"
username: ""
password: ""
- timeout_config:
- connect_timeout: "5s"
- request_timeout: "10s"
shutdown_config:
timeout: "60s"
step_timeout: "10s"
diff --git a/samples/http/grpc/pixiu/conf.yaml b/samples/http/grpc/pixiu/conf.yaml
index c69b99b..c018e13 100644
--- a/samples/http/grpc/pixiu/conf.yaml
+++ b/samples/http/grpc/pixiu/conf.yaml
@@ -63,9 +63,6 @@ static_resources:
address: 127.0.0.1
port: 50001
protocol_type: "GRPC"
- timeout_config:
- connect_timeout: "5s"
- request_timeout: "10s"
shutdown_config:
timeout: "60s"
step_timeout: "10s"
diff --git a/samples/http/simple/pixiu/conf.yaml b/samples/http/simple/pixiu/conf.yaml
index d6ec607..0120baa 100644
--- a/samples/http/simple/pixiu/conf.yaml
+++ b/samples/http/simple/pixiu/conf.yaml
@@ -66,9 +66,6 @@ static_resources:
socket_address:
address: 127.0.0.1
port: 1314
- timeout_config:
- connect_timeout: "5s"
- request_timeout: "10s"
shutdown_config:
timeout: "60s"
step_timeout: "10s"
diff --git a/samples/springcloud/pixiu/conf.yaml b/samples/springcloud/pixiu/conf.yaml
index 2cae7d0..b7e5731 100644
--- a/samples/springcloud/pixiu/conf.yaml
+++ b/samples/springcloud/pixiu/conf.yaml
@@ -52,9 +52,6 @@ static_resources:
read_timeout: 5s
write_timeout: 5s
clusters:
- timeout_config:
- connect_timeout: "5s"
- request_timeout: "10s"
shutdown_config:
timeout: "60s"
step_timeout: "10s"