You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2023/03/28 03:06:21 UTC

[dubbo-go] branch 3.1 updated (59bef4dd1 -> c1558f1a6)

This is an automated email from the ASF dual-hosted git repository.

liujun pushed a change to branch 3.1
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git


    from 59bef4dd1 fix service discovery, generate url for each service.
     add 9846844d9 build(deps): bump github.com/apache/dubbo-getty (#2228)
     add 91a0465ce build(deps): bump github.com/envoyproxy/go-control-plane (#2229)
     add 1034562f5 support java wrapper types (#2222)
     add b492dba48 build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#2232)
     add b4ad6a383 feat: expose TLSConfig for config api (#2245)
     add a5ebff74b [ISSUE #2216] fix register instance protocol info to polaris when use tripe (#2238)
     add 60127ccfc tablewrite cli show (#2237)
     add 5302d5f06 build(deps): bump google.golang.org/protobuf from 1.28.1 to 1.30.0 (#2255)
     add edf89ae7c build(deps): bump github.com/go-playground/validator/v10 (#2254)
     add 44827e1dd [Bugfix] Custom triple server message size (#2246)
     add 02a1d5b93 add serviceMappingListener for application service discovery (#2205)
     add 6c26c9912 feat: implement RemoveConfig API for nacos and zookeeper (#2234)
     add 830fd4aba build(deps): bump github.com/dustin/go-humanize from 1.0.0 to 1.0.1 (#2270)
     new 01ac8a5ca Merge branch '3.0' into 3.1
     new c1558f1a6 fix conflicts

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 common/constant/default.go                         |  10 +
 common/constant/key.go                             |   1 +
 common/url.go                                      |   2 +
 config/instance/metadata_report_test.go            |   7 +-
 config/metric_config.go                            |   1 +
 config/protocol_config.go                          |  16 +
 config/protocol_config_test.go                     |   3 +
 config/root_config.go                              |  13 +
 config/service_config.go                           |   9 +-
 config/testdata/config/protocol/application.yaml   |   7 +-
 config/tls_config.go                               |  52 ++
 ...discovery_config_test.go => tls_config_test.go} |  21 +-
 config_center/nacos/impl.go                        |  16 +
 config_center/zookeeper/impl.go                    |  10 +
 go.mod                                             |  26 +-
 go.sum                                             | 697 +++++++++++++++++++--
 metadata/mapping/memory/service_name_mapping.go    |   7 +-
 metadata/mapping/metadata/service_name_mapping.go  |  11 +-
 metadata/mapping/mock_service_name_mapping.go      |   7 +-
 metadata/mapping/service_name_mapping.go           |   4 +-
 metadata/report/etcd/report.go                     |   7 +-
 metadata/report/nacos/report.go                    |  51 +-
 metadata/report/report.go                          |   6 +-
 metadata/report/zookeeper/report.go                |   7 +-
 metadata/service/remote/service_test.go            |   7 +-
 protocol/dubbo3/dubbo3_invoker.go                  |  17 +-
 protocol/dubbo3/dubbo3_protocol.go                 |  18 +-
 protocol/grpc/client.go                            |  17 +-
 protocol/grpc/client_test.go                       |   7 +
 protocol/grpc/grpc_protocol.go                     |   4 -
 protocol/grpc/server.go                            |  15 +-
 registry/event.go                                  |  27 +
 registry/nacos/service_discovery_test.go           |   4 +-
 registry/polaris/registry.go                       |   2 +-
 registry/polaris/service_discovery.go              |  11 +-
 registry/polaris/utils.go                          |   4 -
 ...{doc.go => service_mapping_changed_listener.go} |  10 +-
 .../servicediscovery/service_discovery_registry.go |  77 ++-
 .../service_instances_changed_listener_impl.go     |   2 +-
 .../service_mapping_change_listener_impl.go        | 108 ++++
 remoting/zookeeper/listener.go                     |   5 +
 tools/dubbogo-cli/cmd/show.go                      |  15 +-
 tools/dubbogo-cli/go.mod                           |  35 +-
 tools/dubbogo-cli/go.sum                           |   3 +-
 44 files changed, 1194 insertions(+), 185 deletions(-)
 copy config/{service_discovery_config_test.go => tls_config_test.go} (66%)
 copy registry/{doc.go => service_mapping_changed_listener.go} (86%)
 rename registry/{event => servicediscovery}/service_instances_changed_listener_impl.go (99%)
 create mode 100644 registry/servicediscovery/service_mapping_change_listener_impl.go


[dubbo-go] 02/02: fix conflicts

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch 3.1
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git

commit c1558f1a67a4778fb2b626abe2336ae83998d091
Author: chickenlj <ke...@gmail.com>
AuthorDate: Tue Mar 28 11:06:06 2023 +0800

    fix conflicts
---
 metadata/report/nacos/report.go | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/metadata/report/nacos/report.go b/metadata/report/nacos/report.go
index 2b753f770..d63a88dcd 100644
--- a/metadata/report/nacos/report.go
+++ b/metadata/report/nacos/report.go
@@ -244,18 +244,15 @@ func (n *nacosMetadataReport) RegisterServiceAppMapping(key string, group string
 		DataId: key,
 		Group:  group,
 	})
-	if err != nil {
-		return err
-	}
-	oldApps := strings.Split(oldVal, constant.CommaSeparator)
-	if len(oldApps) > 0 {
-		for _, app := range oldApps {
-			if app == value {
-				return nil
+	if oldVal != "" {
+		oldApps := strings.Split(oldVal, constant.CommaSeparator)
+		if len(oldApps) > 0 {
+			for _, app := range oldApps {
+				if app == value {
+					return nil
+				}
 			}
 		}
-	}
-	if oldVal != "" {
 		value = oldVal + constant.CommaSeparator + value
 	}
 	return n.storeMetadata(vo.ConfigParam{


[dubbo-go] 01/02: Merge branch '3.0' into 3.1

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch 3.1
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git

commit 01ac8a5ca0c642dcfd21d5a8356a11d96d084e6a
Merge: 59bef4dd1 830fd4aba
Author: chickenlj <ke...@gmail.com>
AuthorDate: Tue Mar 28 11:01:56 2023 +0800

    Merge branch '3.0' into 3.1
    
    # Conflicts:
    #       metadata/report/nacos/report.go
    #       registry/servicediscovery/service_discovery_registry.go

 common/constant/default.go                         |  10 +
 common/constant/key.go                             |   1 +
 common/url.go                                      |   2 +
 config/instance/metadata_report_test.go            |   7 +-
 config/metric_config.go                            |   1 +
 config/protocol_config.go                          |  16 +
 config/protocol_config_test.go                     |   3 +
 config/root_config.go                              |  13 +
 config/service_config.go                           |   9 +-
 config/testdata/config/protocol/application.yaml   |   7 +-
 config/tls_config.go                               |  52 ++
 .../tls_config_test.go                             |  31 +-
 config_center/nacos/impl.go                        |  16 +
 config_center/zookeeper/impl.go                    |  10 +
 go.mod                                             |  26 +-
 go.sum                                             | 697 +++++++++++++++++++--
 metadata/mapping/memory/service_name_mapping.go    |   7 +-
 metadata/mapping/metadata/service_name_mapping.go  |  11 +-
 metadata/mapping/mock_service_name_mapping.go      |   7 +-
 metadata/mapping/service_name_mapping.go           |   4 +-
 metadata/report/etcd/report.go                     |   7 +-
 metadata/report/nacos/report.go                    |  56 +-
 metadata/report/report.go                          |   6 +-
 metadata/report/zookeeper/report.go                |   7 +-
 metadata/service/remote/service_test.go            |   7 +-
 protocol/dubbo3/dubbo3_invoker.go                  |  17 +-
 protocol/dubbo3/dubbo3_protocol.go                 |  18 +-
 protocol/grpc/client.go                            |  17 +-
 protocol/grpc/client_test.go                       |   7 +
 protocol/grpc/grpc_protocol.go                     |   4 -
 protocol/grpc/server.go                            |  15 +-
 registry/event.go                                  |  27 +
 registry/nacos/service_discovery_test.go           |   4 +-
 registry/polaris/registry.go                       |   2 +-
 registry/polaris/service_discovery.go              |  11 +-
 registry/polaris/utils.go                          |   4 -
 .../service_mapping_changed_listener.go            |  23 +-
 .../servicediscovery/service_discovery_registry.go |  77 ++-
 .../service_instances_changed_listener_impl.go     |   2 +-
 .../service_mapping_change_listener_impl.go        | 108 ++++
 remoting/zookeeper/listener.go                     |   5 +
 tools/dubbogo-cli/cmd/show.go                      |  15 +-
 tools/dubbogo-cli/go.mod                           |  35 +-
 tools/dubbogo-cli/go.sum                           |   3 +-
 44 files changed, 1201 insertions(+), 206 deletions(-)

diff --cc metadata/report/nacos/report.go
index e55793ea1,c4487f878..2b753f770
--- a/metadata/report/nacos/report.go
+++ b/metadata/report/nacos/report.go
@@@ -209,9 -210,37 +210,37 @@@ func (n *nacosMetadataReport) getConfig
  	return cfg, nil
  }
  
+ func (n *nacosMetadataReport) addListener(key string, group string, notify registry.MappingListener) error {
+ 	return n.client.Client().ListenConfig(vo.ConfigParam{
+ 		DataId: key,
+ 		Group:  group,
+ 		OnChange: func(namespace, group, dataId, data string) {
+ 			go callback(notify, dataId, data)
+ 		},
+ 	})
+ }
+ 
+ func callback(notify registry.MappingListener, dataId, data string) {
+ 	appNames := strings.Split(data, constant.CommaSeparator)
+ 	set := gxset.NewSet()
+ 	for _, app := range appNames {
+ 		set.Add(app)
+ 	}
+ 	if err := notify.OnEvent(registry.NewServiceMappingChangedEvent(dataId, set)); err != nil {
+ 		logger.Errorf("serviceMapping callback err: %s", err.Error())
+ 	}
+ }
+ 
+ func (n *nacosMetadataReport) removeServiceMappingListener(key string, group string) error {
+ 	return n.client.Client().CancelListenConfig(vo.ConfigParam{
+ 		DataId: key,
+ 		Group:  group,
+ 	})
+ }
+ 
  // RegisterServiceAppMapping map the specified Dubbo service interface to current Dubbo app name
  func (n *nacosMetadataReport) RegisterServiceAppMapping(key string, group string, value string) error {
 -	oldVal, err := n.getConfig(vo.ConfigParam{
 +	oldVal, _ := n.getConfig(vo.ConfigParam{
  		DataId: key,
  		Group:  group,
  	})
diff --cc registry/servicediscovery/service_discovery_registry.go
index a7b8e5592,6854439fa..5266f4c26
--- a/registry/servicediscovery/service_discovery_registry.go
+++ b/registry/servicediscovery/service_discovery_registry.go
@@@ -197,21 -205,25 +205,31 @@@ func (s *ServiceDiscoveryRegistry) Subs
  	if err != nil {
  		return perrors.WithMessage(err, "subscribe url error: "+url.String())
  	}
- 	services := s.getServices(url)
+ 
+ 	mappingListener := NewMappingListener(s.url, url, s.subscribedServices, notify)
+ 	services := s.getServices(url, mappingListener)
  	if services.Empty() {
+ 		return nil
 +		return perrors.Errorf("Should has at least one way to know which services this interface belongs to,"+
 +			" either specify 'provided-by' for reference or enable metadata-report center subscription url:%s", url.String())
  	}
+ 	// first notify
+ 	mappingListener.OnEvent(registry.NewServiceMappingChangedEvent(url.ServiceKey(), services))
+ 	return nil
+ }
+ 
+ func (s *ServiceDiscoveryRegistry) SubscribeURL(url *common.URL, notify registry.NotifyListener, services *gxset.HashSet) {
  	// FIXME ServiceNames.String() is not good
+ 	var err error
  	serviceNamesKey := services.String()
 -	protocolServiceKey := url.ServiceKey() + ":" + url.Protocol
 +	protocol := "tri" // consume "tri" protocol by default, other protocols need to be specified on reference/consumer explicitly
 +	if url.Protocol != "" {
 +		protocol = url.Protocol
 +	}
 +	protocolServiceKey := url.ServiceKey() + ":" + protocol
  	listener := s.serviceListeners[serviceNamesKey]
  	if listener == nil {
- 		listener = event.NewServiceInstancesChangedListener(services)
+ 		listener = NewServiceInstancesChangedListener(services)
  		for _, serviceNameTmp := range services.Values() {
  			serviceName := serviceNameTmp.(string)
  			instances := s.serviceDiscovery.GetInstances(serviceName)