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"