You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2020/12/28 06:50:03 UTC
[dubbo-go] branch imp/linter1 created (now 517e420)
This is an automated email from the ASF dual-hosted git repository.
alexstocks pushed a change to branch imp/linter1
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git.
at 517e420 fix errors by linter
This branch includes the following new commits:
new 517e420 fix errors by linter
The 1 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.
[dubbo-go] 01/01: fix errors by linter
Posted by al...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
alexstocks pushed a commit to branch imp/linter1
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git
commit 517e420d788fb548fec2707bf89c82ac73095d67
Author: AlexStocks <al...@foxmail.com>
AuthorDate: Mon Dec 28 14:49:42 2020 +0800
fix errors by linter
---
cluster/loadbalance/random_test.go | 3 +++
cluster/router/chain/chain.go | 3 +++
cluster/router/condition/file_test.go | 3 +++
cluster/router/condition/router.go | 11 +++++++++--
cluster/router/condition/router_test.go | 2 ++
cluster/router/healthcheck/default_health_check_test.go | 3 +++
common/constant/key.go | 8 +++++---
common/proxy/proxy.go | 6 +-----
common/rpc_service.go | 4 ++--
common/rpc_service_test.go | 5 ++++-
common/yaml/yaml_test.go | 2 +-
config_center/apollo/impl_test.go | 6 +++---
config_center/file/impl.go | 2 +-
config_center/file/impl_test.go | 4 ++++
config_center/nacos/impl_test.go | 2 ++
config_center/nacos/listener.go | 9 +++++----
config_center/zookeeper/impl_test.go | 3 +++
filter/access_key.go | 2 +-
filter/filter_impl/access_log_filter_test.go | 2 +-
filter/filter_impl/active_filter_test.go | 2 +-
filter/filter_impl/auth/default_authenticator.go | 2 +-
filter/filter_impl/auth/default_authenticator_test.go | 9 +++++----
filter/filter_impl/execute_limit_filter.go | 2 +-
filter/filter_impl/generic_service_filter_test.go | 4 ++--
filter/filter_impl/graceful_shutdown_filter_test.go | 3 ++-
filter/filter_impl/tps/tps_limit_sliding_window_strategy.go | 2 +-
metadata/service/remote/service.go | 4 +++-
protocol/dubbo/dubbo_codec.go | 3 +--
protocol/dubbo/hessian2/hessian_dubbo_test.go | 2 ++
protocol/rest/server/rest_server.go | 2 ++
registry/base_registry.go | 4 ++++
registry/consul/registry.go | 2 +-
registry/consul/service_discovery.go | 9 ++-------
registry/kubernetes/registry_test.go | 2 +-
remoting/etcdv3/client_test.go | 4 ++--
remoting/getty/dubbo_codec_for_test.go | 3 +--
remoting/getty/getty_client.go | 2 +-
remoting/getty/getty_server.go | 2 +-
remoting/getty/listener_test.go | 2 +-
remoting/kubernetes/client.go | 6 +++---
remoting/kubernetes/client_test.go | 6 +++---
remoting/kubernetes/registry_controller.go | 2 +-
remoting/nacos/builder_test.go | 2 ++
43 files changed, 100 insertions(+), 61 deletions(-)
diff --git a/cluster/loadbalance/random_test.go b/cluster/loadbalance/random_test.go
index b94d7da..c24fdf0 100644
--- a/cluster/loadbalance/random_test.go
+++ b/cluster/loadbalance/random_test.go
@@ -83,6 +83,7 @@ func TestRandomlbSelectWeight(t *testing.T) {
}
selectedInvoker = append(selectedInvoker, s)
}
+ assert.Equal(t, 10000, len(selectedInvoker))
assert.Condition(t, func() bool {
// really is 0.9999999999999
@@ -114,6 +115,8 @@ func TestRandomlbSelectWarmup(t *testing.T) {
}
selectedInvoker = append(selectedInvoker, s)
}
+ assert.Equal(t, 10000, len(selectedInvoker))
+
assert.Condition(t, func() bool {
return selected/10000 < 0.1
})
diff --git a/cluster/router/chain/chain.go b/cluster/router/chain/chain.go
index 8c4ffe0..8b98acb 100644
--- a/cluster/router/chain/chain.go
+++ b/cluster/router/chain/chain.go
@@ -195,6 +195,9 @@ func (c *RouterChain) copyInvokerIfNecessary(cache *InvokerCache) []protocol.Inv
func (c *RouterChain) buildCache() {
origin := c.loadCache()
invokers := c.copyInvokerIfNecessary(origin)
+ if invokers == nil || len(invokers) == 0 {
+ return
+ }
var (
mutex sync.Mutex
diff --git a/cluster/router/condition/file_test.go b/cluster/router/condition/file_test.go
index bd19a0d..d609c7d 100644
--- a/cluster/router/condition/file_test.go
+++ b/cluster/router/condition/file_test.go
@@ -116,6 +116,9 @@ func TestParseServiceRouterKey(t *testing.T) {
testString = "grp:mock-service:123"
grp, srv, ver, err = parseServiceRouterKey(testString)
+ assert.Equal(t, "", grp)
+ assert.Equal(t, "", srv)
+ assert.Equal(t, "", ver)
assert.Error(t, err)
testString = ""
diff --git a/cluster/router/condition/router.go b/cluster/router/condition/router.go
index 2fc3307..0817b32 100644
--- a/cluster/router/condition/router.go
+++ b/cluster/router/condition/router.go
@@ -46,6 +46,13 @@ var (
routerPatternReg = regexp.MustCompile(`([&!=,]*)\s*([^&!=,\s]+)`)
)
+var (
+ emptyMatchPair = MatchPair{
+ Matches: gxset.NewSet(),
+ Mismatches: gxset.NewSet(),
+ }
+)
+
// ConditionRouter Condition router struct
type ConditionRouter struct {
Pattern string
@@ -221,14 +228,14 @@ func parseRule(rule string) (map[string]MatchPair, error) {
condition[content] = pair
}
case "=":
- if &pair == nil {
+ if pair == emptyMatchPair {
var startIndex = getStartIndex(rule)
return nil, perrors.Errorf("Illegal route rule \"%s\", The error char '%s' at index %d before \"%d\".", rule, separator, startIndex, startIndex)
}
values = pair.Matches
values.Add(content)
case "!=":
- if &pair == nil {
+ if pair == emptyMatchPair {
var startIndex = getStartIndex(rule)
return nil, perrors.Errorf("Illegal route rule \"%s\", The error char '%s' at index %d before \"%d\".", rule, separator, startIndex, startIndex)
}
diff --git a/cluster/router/condition/router_test.go b/cluster/router/condition/router_test.go
index 3d33ca2..a344b64 100644
--- a/cluster/router/condition/router_test.go
+++ b/cluster/router/condition/router_test.go
@@ -70,10 +70,12 @@ func TestNewConditionRouter(t *testing.T) {
assert.EqualValues(t, router.ThenCondition, thenRule)
router, err = NewConditionRouter(nil)
+ assert.Nil(t, router)
assert.Error(t, err)
url, _ = common.NewURL(`condition://0.0.0.0:?application=mock-app&category=routers&force=true&priority=1&router=condition&rule=YSAmT4gYiAmIGQ%3D`)
router, err = NewConditionRouter(url)
+ assert.Nil(t, router)
assert.Error(t, err)
url, _ = common.NewURL(`condition://0.0.0.0:?application=mock-app&category=routers&force=true&router=condition&rule=YSAmIGMgPT4gYiAmIGQ%3D`)
diff --git a/cluster/router/healthcheck/default_health_check_test.go b/cluster/router/healthcheck/default_health_check_test.go
index 39827c5..c32a607 100644
--- a/cluster/router/healthcheck/default_health_check_test.go
+++ b/cluster/router/healthcheck/default_health_check_test.go
@@ -56,6 +56,7 @@ func TestDefaultHealthCheckerIsHealthy(t *testing.T) {
}
hc = NewDefaultHealthChecker(url).(*DefaultHealthChecker)
healthy = hc.IsHealthy(invoker)
+ assert.False(t, false, healthy)
// the outgoing request is more than OUTSTANDING_REQUEST_COUNT_LIMIT, go to unhealthy
assert.False(t, hc.IsHealthy(invoker))
@@ -67,11 +68,13 @@ func TestDefaultHealthCheckerIsHealthy(t *testing.T) {
url.SetParam(constant.OUTSTANDING_REQUEST_COUNT_LIMIT_KEY, "1000")
hc = NewDefaultHealthChecker(url).(*DefaultHealthChecker)
healthy = hc.IsHealthy(invoker)
+ assert.False(t, false, healthy)
assert.False(t, hc.IsHealthy(invoker))
// reset successive failed count and go to healthy
request(url, healthCheckMethodTest, 0, false, true)
healthy = hc.IsHealthy(invoker)
+ assert.False(t, false, healthy)
assert.True(t, hc.IsHealthy(invoker))
}
diff --git a/common/constant/key.go b/common/constant/key.go
index c256659..d020b9d 100644
--- a/common/constant/key.go
+++ b/common/constant/key.go
@@ -201,6 +201,8 @@ const (
TRACING_REMOTE_SPAN_CTX = "tracing.remote.span.ctx"
)
+type AttachmentCtxKey string
+
// Use for router module
const (
// ConditionRouterName Specify file condition router name
@@ -238,7 +240,7 @@ const (
Tagkey = "dubbo.tag"
// Attachment key in context in invoker
- AttachmentKey = "attachment"
+ AttachmentKey = AttachmentCtxKey("attachment")
)
const (
@@ -265,7 +267,7 @@ const (
// signature format
SIGNATURE_STRING_FORMAT = "%s#%s#%s#%s"
// key whether enable signature
- PARAMTER_SIGNATURE_ENABLE_KEY = "param.sign"
+ PARAMETER_SIGNATURE_ENABLE_KEY = "param.sign"
// consumer
CONSUMER = "consumer"
// key of access key id
@@ -293,7 +295,7 @@ const (
HEALTH_CHECKER = "health.checker"
// The name of the default implementation of HealthChecker
DEFAULT_HEALTH_CHECKER = "default"
- // The key of oustanding-request-limit
+ // The key of outstanding-request-limit
OUTSTANDING_REQUEST_COUNT_LIMIT_KEY = "outstanding.request.limit"
// The key of successive-failed-request's threshold
SUCCESSIVE_FAILED_REQUEST_THRESHOLD_KEY = "successive.failed.threshold"
diff --git a/common/proxy/proxy.go b/common/proxy/proxy.go
index 3a01941..55f533c 100644
--- a/common/proxy/proxy.go
+++ b/common/proxy/proxy.go
@@ -158,15 +158,11 @@ func (p *Proxy) Implement(v common.RPCService) {
}
result := p.invoke.Invoke(invCtx, inv)
- if len(result.Attachments()) > 0 {
- invCtx = context.WithValue(invCtx, constant.AttachmentKey, result.Attachments())
- }
-
err = result.Error()
if err != nil {
// the cause reason
err = perrors.Cause(err)
- // if some error happened, it should be log some info in the seperate file.
+ // if some error happened, it should be log some info in the separate file.
if throwabler, ok := err.(java_exception.Throwabler); ok {
logger.Warnf("invoke service throw exception: %v , stackTraceElements: %v", err.Error(), throwabler.GetStackTrace())
} else {
diff --git a/common/rpc_service.go b/common/rpc_service.go
index 572fc71..9f587f3 100644
--- a/common/rpc_service.go
+++ b/common/rpc_service.go
@@ -156,13 +156,13 @@ type serviceMap struct {
interfaceMap map[string][]*Service // interface -> service
}
-// GetService gets a service defination by protocol and name
+// GetService gets a service definition by protocol and name
func (sm *serviceMap) GetService(protocol, interfaceName, group, version string) *Service {
serviceKey := ServiceKey(interfaceName, group, version)
return sm.GetServiceByServiceKey(protocol, serviceKey)
}
-// GetService gets a service defination by protocol and service key
+// GetService gets a service definition by protocol and service key
func (sm *serviceMap) GetServiceByServiceKey(protocol, serviceKey string) *Service {
sm.mutex.RLock()
defer sm.mutex.RUnlock()
diff --git a/common/rpc_service_test.go b/common/rpc_service_test.go
index b50d8d9..048e623 100644
--- a/common/rpc_service_test.go
+++ b/common/rpc_service_test.go
@@ -132,7 +132,10 @@ func TestServiceMapUnRegister(t *testing.T) {
func TestMethodTypeSuiteContext(t *testing.T) {
mt := &MethodType{ctxType: reflect.TypeOf(context.TODO())}
- ctx := context.WithValue(context.Background(), "key", "value")
+ ctx := context.Background()
+ type ctxKey string
+ key := ctxKey("key")
+ ctx = context.WithValue(ctx, key, "value")
assert.Equal(t, reflect.ValueOf(ctx), mt.SuiteContext(ctx))
assert.Equal(t, reflect.Zero(mt.ctxType), mt.SuiteContext(nil))
diff --git a/common/yaml/yaml_test.go b/common/yaml/yaml_test.go
index 5a271a2..19f4fe1 100644
--- a/common/yaml/yaml_test.go
+++ b/common/yaml/yaml_test.go
@@ -66,5 +66,5 @@ type Config struct {
}
type ChildConfig struct {
- StrTest string `default:"strTest" default:"default" yaml:"strTest" json:"strTest,omitempty"`
+ StrTest string `default:"default" yaml:"strTest" json:"strTest,omitempty"`
}
diff --git a/config_center/apollo/impl_test.go b/config_center/apollo/impl_test.go
index 4720775..4044570 100644
--- a/config_center/apollo/impl_test.go
+++ b/config_center/apollo/impl_test.go
@@ -126,17 +126,17 @@ func initApollo() *httptest.Server {
}
func configResponse(rw http.ResponseWriter, _ *http.Request) {
- result := fmt.Sprintf(mockConfigRes)
+ result := mockConfigRes
fmt.Fprintf(rw, "%s", result)
}
func notifyResponse(rw http.ResponseWriter, req *http.Request) {
- result := fmt.Sprintf(mockNotifyRes)
+ result := mockNotifyRes
fmt.Fprintf(rw, "%s", result)
}
func serviceConfigResponse(rw http.ResponseWriter, _ *http.Request) {
- result := fmt.Sprintf(mockServiceConfigRes)
+ result := mockServiceConfigRes
fmt.Fprintf(rw, "%s", result)
}
diff --git a/config_center/file/impl.go b/config_center/file/impl.go
index f29a33d..9afe7c6 100644
--- a/config_center/file/impl.go
+++ b/config_center/file/impl.go
@@ -180,7 +180,7 @@ func (fsdc *FileSystemDynamicConfiguration) GetConfigKeysByGroup(group string) (
return r, nil
}
-// RemoveConfig will remove the config whit hte (key, group)
+// RemoveConfig will remove tconfig_center/nacos/impl_testhe config whit hte (key, group)
func (fsdc *FileSystemDynamicConfiguration) RemoveConfig(key string, group string) error {
tmpPath := fsdc.GetPath(key, group)
_, err := fsdc.deleteDelay(tmpPath)
diff --git a/config_center/file/impl_test.go b/config_center/file/impl_test.go
index e912cb7..556b6a3 100644
--- a/config_center/file/impl_test.go
+++ b/config_center/file/impl_test.go
@@ -63,6 +63,7 @@ func TestPublishAndGetConfig(t *testing.T) {
func TestAddListener(t *testing.T) {
file, err := initFileData(t)
+ assert.Nil(t, err)
group := "dubbogo"
value := "Test Value"
err = file.PublishConfig(key, group, value)
@@ -81,6 +82,7 @@ func TestAddListener(t *testing.T) {
func TestRemoveListener(t *testing.T) {
file, err := initFileData(t)
+ assert.NoError(t, err)
group := "dubbogo"
value := "Test Value"
err = file.PublishConfig(key, group, value)
@@ -106,9 +108,11 @@ func TestRemoveListener(t *testing.T) {
func TestGetConfigKeysByGroup(t *testing.T) {
file, err := initFileData(t)
+ assert.Nil(t, err)
group := "dubbogo"
value := "Test Value"
err = file.PublishConfig(key, group, value)
+ assert.NoError(t, err)
gs, err := file.GetConfigKeysByGroup(group)
assert.NoError(t, err)
assert.Equal(t, 1, gs.Size())
diff --git a/config_center/nacos/impl_test.go b/config_center/nacos/impl_test.go
index 40efa5f..710fef0 100644
--- a/config_center/nacos/impl_test.go
+++ b/config_center/nacos/impl_test.go
@@ -85,6 +85,8 @@ func TestGetConfig(t *testing.T) {
nacos, err := initNacosData(t)
assert.NoError(t, err)
configs, err := nacos.GetProperties("dubbo.properties", config_center.WithGroup("dubbo"))
+ assert.Empty(t, configs)
+ assert.NoError(t, err)
_, err = nacos.Parser().Parse(configs)
assert.NoError(t, err)
}
diff --git a/config_center/nacos/listener.go b/config_center/nacos/listener.go
index 57df036..b0607e2 100644
--- a/config_center/nacos/listener.go
+++ b/config_center/nacos/listener.go
@@ -38,7 +38,6 @@ func callback(listener config_center.ConfigurationListener, _, _, dataId, data s
func (n *nacosDynamicConfiguration) addListener(key string, listener config_center.ConfigurationListener) {
_, loaded := n.keyListeners.Load(key)
if !loaded {
- _, cancel := context.WithCancel(context.Background())
err := (*n.client.Client()).ListenConfig(vo.ConfigParam{
DataId: key,
Group: "dubbo",
@@ -50,13 +49,15 @@ func (n *nacosDynamicConfiguration) addListener(key string, listener config_cent
logger.Errorf("nacos : listen config fail, error:%v ", err)
return
}
+ _, cancel := context.WithCancel(context.Background())
newListener := make(map[config_center.ConfigurationListener]context.CancelFunc)
newListener[listener] = cancel
n.keyListeners.Store(key, newListener)
- } else {
- // TODO check goroutine alive, but this version of go_nacos_sdk is not support.
- logger.Infof("profile:%s. this profile is already listening", key)
+ return
}
+
+ // TODO check goroutine alive, but this version of go_nacos_sdk is not support.
+ logger.Infof("profile:%s. this profile is already listening", key)
}
func (n *nacosDynamicConfiguration) removeListener(key string, listener config_center.ConfigurationListener) {
diff --git a/config_center/zookeeper/impl_test.go b/config_center/zookeeper/impl_test.go
index d4a9de4..808bf8f 100644
--- a/config_center/zookeeper/impl_test.go
+++ b/config_center/zookeeper/impl_test.go
@@ -107,10 +107,13 @@ func TestGetConfig(t *testing.T) {
assert.Equal(t, "5s", m["dubbo.consumer.request_timeout"])
configs, err = reg.GetProperties(dubboPropertyFileName)
assert.Error(t, err)
+ assert.Equal(t, "", configs)
configs, err = reg.GetInternalProperty(dubboPropertyFileName)
assert.Error(t, err)
+ assert.Equal(t, "", configs)
configs, err = reg.GetRule(dubboPropertyFileName)
assert.Error(t, err)
+ assert.Equal(t, "", configs)
}
func TestAddListener(t *testing.T) {
diff --git a/filter/access_key.go b/filter/access_key.go
index 4801d64..f38764b 100644
--- a/filter/access_key.go
+++ b/filter/access_key.go
@@ -26,7 +26,7 @@ import (
type AccessKeyPair struct {
AccessKey string `yaml:"accessKey" json:"accessKey,omitempty" property:"accessKey"`
SecretKey string `yaml:"secretKey" json:"secretKey,omitempty" property:"secretKey"`
- ConsumerSide string `yaml:"consumerSide" json:"ConsumerSide,consumerSide" property:"consumerSide"`
+ ConsumerSide string `yaml:"consumerSide" json:"consumerSide,omitempty" property:"consumerSide"`
ProviderSide string `yaml:"providerSide" json:"providerSide,omitempty" property:"providerSide"`
Creator string `yaml:"creator" json:"creator,omitempty" property:"creator"`
Options string `yaml:"options" json:"options,omitempty" property:"options"`
diff --git a/filter/filter_impl/access_log_filter_test.go b/filter/filter_impl/access_log_filter_test.go
index a3a6151..9c4b947 100644
--- a/filter/filter_impl/access_log_filter_test.go
+++ b/filter/filter_impl/access_log_filter_test.go
@@ -77,6 +77,6 @@ func TestAccessLogFilterInvokeDefaultConfig(t *testing.T) {
func TestAccessLogFilterOnResponse(t *testing.T) {
result := &protocol.RPCResult{}
accessLogFilter := GetAccessLogFilter()
- response := accessLogFilter.OnResponse(nil, result, nil, nil)
+ response := accessLogFilter.OnResponse(context.TODO(), result, nil, nil)
assert.Equal(t, result, response)
}
diff --git a/filter/filter_impl/active_filter_test.go b/filter/filter_impl/active_filter_test.go
index 9837a49..9f024fe 100644
--- a/filter/filter_impl/active_filter_test.go
+++ b/filter/filter_impl/active_filter_test.go
@@ -65,7 +65,7 @@ func TestActiveFilterOnResponse(t *testing.T) {
result := &protocol.RPCResult{
Err: errors.New("test"),
}
- filter.OnResponse(nil, result, invoker, invoc)
+ filter.OnResponse(context.TODO(), result, invoker, invoc)
methodStatus := protocol.GetMethodStatus(url, "test")
urlStatus := protocol.GetURLStatus(url)
diff --git a/filter/filter_impl/auth/default_authenticator.go b/filter/filter_impl/auth/default_authenticator.go
index 5b86fc1..7c7131c 100644
--- a/filter/filter_impl/auth/default_authenticator.go
+++ b/filter/filter_impl/auth/default_authenticator.go
@@ -69,7 +69,7 @@ func getSignature(url *common.URL, invocation protocol.Invocation, secrectKey st
requestString := fmt.Sprintf(constant.SIGNATURE_STRING_FORMAT,
url.ColonSeparatedKey(), invocation.MethodName(), secrectKey, currentTime)
var signature string
- if parameterEncrypt := url.GetParamBool(constant.PARAMTER_SIGNATURE_ENABLE_KEY, false); parameterEncrypt {
+ if parameterEncrypt := url.GetParamBool(constant.PARAMETER_SIGNATURE_ENABLE_KEY, false); parameterEncrypt {
var err error
if signature, err = SignWithParams(invocation.Arguments(), requestString, secrectKey); err != nil {
// TODO
diff --git a/filter/filter_impl/auth/default_authenticator_test.go b/filter/filter_impl/auth/default_authenticator_test.go
index 37c7e9d..d915b6a 100644
--- a/filter/filter_impl/auth/default_authenticator_test.go
+++ b/filter/filter_impl/auth/default_authenticator_test.go
@@ -39,7 +39,7 @@ func TestDefaultAuthenticator_Authenticate(t *testing.T) {
secret := "dubbo-sk"
access := "dubbo-ak"
testurl, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider?interface=com.ikurento.user.UserProvider&group=gg&version=2.6.0")
- testurl.SetParam(constant.PARAMTER_SIGNATURE_ENABLE_KEY, "true")
+ testurl.SetParam(constant.PARAMETER_SIGNATURE_ENABLE_KEY, "true")
testurl.SetParam(constant.ACCESS_KEY_ID_KEY, access)
testurl.SetParam(constant.SECRET_ACCESS_KEY_KEY, secret)
parmas := []interface{}{"OK", struct {
@@ -77,7 +77,7 @@ func TestDefaultAuthenticator_Sign(t *testing.T) {
testurl, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider?application=test&interface=com.ikurento.user.UserProvider&group=gg&version=2.6.0")
testurl.SetParam(constant.ACCESS_KEY_ID_KEY, "akey")
testurl.SetParam(constant.SECRET_ACCESS_KEY_KEY, "skey")
- testurl.SetParam(constant.PARAMTER_SIGNATURE_ENABLE_KEY, "false")
+ testurl.SetParam(constant.PARAMETER_SIGNATURE_ENABLE_KEY, "false")
inv := invocation.NewRPCInvocation("test", []interface{}{"OK"}, nil)
_ = authenticator.Sign(inv, testurl)
assert.NotEqual(t, inv.AttachmentsByKey(constant.REQUEST_SIGNATURE_KEY, ""), "")
@@ -113,12 +113,13 @@ func Test_getAccessKeyPairFailed(t *testing.T) {
common.WithParamsValue(constant.SECRET_ACCESS_KEY_KEY, "skey"),
common.WithParamsValue(constant.ACCESS_KEY_ID_KEY, "akey"), common.WithParamsValue(constant.ACCESS_KEY_STORAGE_KEY, "dubbo"))
_, e = getAccessKeyPair(invcation, testurl)
+ assert.NoError(t, e)
}
func Test_getSignatureWithinParams(t *testing.T) {
testurl, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider?interface=com.ikurento.user.UserProvider&group=gg&version=2.6.0")
- testurl.SetParam(constant.PARAMTER_SIGNATURE_ENABLE_KEY, "true")
+ testurl.SetParam(constant.PARAMETER_SIGNATURE_ENABLE_KEY, "true")
inv := invocation.NewRPCInvocation("test", []interface{}{"OK"}, map[string]interface{}{
"": "",
})
@@ -134,7 +135,7 @@ func Test_getSignatureWithinParams(t *testing.T) {
func Test_getSignature(t *testing.T) {
testurl, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider?interface=com.ikurento.user.UserProvider&group=gg&version=2.6.0")
- testurl.SetParam(constant.PARAMTER_SIGNATURE_ENABLE_KEY, "false")
+ testurl.SetParam(constant.PARAMETER_SIGNATURE_ENABLE_KEY, "false")
inv := invocation.NewRPCInvocation("test", []interface{}{"OK"}, nil)
secret := "dubbo"
current := strconv.Itoa(int(time.Now().Unix() * 1000))
diff --git a/filter/filter_impl/execute_limit_filter.go b/filter/filter_impl/execute_limit_filter.go
index 5fc309c..3561161 100644
--- a/filter/filter_impl/execute_limit_filter.go
+++ b/filter/filter_impl/execute_limit_filter.go
@@ -84,7 +84,7 @@ func (ef *ExecuteLimitFilter) Invoke(ctx context.Context, invoker protocol.Invok
methodConfigPrefix := "methods." + invocation.MethodName() + "."
ivkURL := invoker.GetUrl()
limitTarget := ivkURL.ServiceKey()
- limitRateConfig := constant.DEFAULT_EXECUTE_LIMIT
+ var limitRateConfig string
methodLevelConfig := ivkURL.GetParam(methodConfigPrefix+constant.EXECUTE_LIMIT_KEY, "")
if len(methodLevelConfig) > 0 {
diff --git a/filter/filter_impl/generic_service_filter_test.go b/filter/filter_impl/generic_service_filter_test.go
index 8b2fb54..c755a2d 100644
--- a/filter/filter_impl/generic_service_filter_test.go
+++ b/filter/filter_impl/generic_service_filter_test.go
@@ -125,7 +125,7 @@ func TestGenericServiceFilterResponseTestStruct(t *testing.T) {
filter := GetGenericServiceFilter()
methodName := "$invoke"
rpcInvocation := invocation.NewRPCInvocation(methodName, aurguments, nil)
- r := filter.OnResponse(nil, result, nil, rpcInvocation)
+ r := filter.OnResponse(context.TODO(), result, nil, rpcInvocation)
assert.NotNil(t, r.Result())
assert.Equal(t, reflect.ValueOf(r.Result()).Kind(), reflect.Map)
}
@@ -143,7 +143,7 @@ func TestGenericServiceFilterResponseString(t *testing.T) {
filter := GetGenericServiceFilter()
methodName := "$invoke"
rpcInvocation := invocation.NewRPCInvocation(methodName, aurguments, nil)
- r := filter.OnResponse(nil, result, nil, rpcInvocation)
+ r := filter.OnResponse(context.TODO(), result, nil, rpcInvocation)
assert.NotNil(t, r.Result())
assert.Equal(t, reflect.ValueOf(r.Result()).Kind(), reflect.String)
}
diff --git a/filter/filter_impl/graceful_shutdown_filter_test.go b/filter/filter_impl/graceful_shutdown_filter_test.go
index 447a557..c2c1ef8 100644
--- a/filter/filter_impl/graceful_shutdown_filter_test.go
+++ b/filter/filter_impl/graceful_shutdown_filter_test.go
@@ -65,7 +65,8 @@ func TestGenericFilterInvoke(t *testing.T) {
shutdownFilter.shutdownConfig = providerConfig.ShutdownConfig
assert.True(t, shutdownFilter.rejectNewRequest())
- result = shutdownFilter.OnResponse(nil, nil, protocol.NewBaseInvoker(invokeUrl), invoc)
+ result = shutdownFilter.OnResponse(context.Background(), nil, protocol.NewBaseInvoker(invokeUrl), invoc)
+ assert.Nil(t, result)
rejectHandler := &common2.OnlyLogRejectedExecutionHandler{}
extension.SetRejectedExecutionHandler("mock", func() filter.RejectedExecutionHandler {
diff --git a/filter/filter_impl/tps/tps_limit_sliding_window_strategy.go b/filter/filter_impl/tps/tps_limit_sliding_window_strategy.go
index cbbba19..bc78f64 100644
--- a/filter/filter_impl/tps/tps_limit_sliding_window_strategy.go
+++ b/filter/filter_impl/tps/tps_limit_sliding_window_strategy.go
@@ -54,7 +54,7 @@ type SlidingWindowTpsLimitStrategyImpl struct {
queue *list.List
}
-// IsAllowable determins whether the number of requests within the time window overs the threshold
+// IsAllowable determines whether the number of requests within the time window overs the threshold
// It is thread-safe.
func (impl *SlidingWindowTpsLimitStrategyImpl) IsAllowable() bool {
impl.mutex.Lock()
diff --git a/metadata/service/remote/service.go b/metadata/service/remote/service.go
index efd16bd..ae1c344 100644
--- a/metadata/service/remote/service.go
+++ b/metadata/service/remote/service.go
@@ -107,7 +107,9 @@ func (mts *MetadataService) SubscribeURL(url *common.URL) (bool, error) {
// UnsubscribeURL will be implemented by in memory service
func (mts *MetadataService) UnsubscribeURL(url *common.URL) error {
- return mts.UnsubscribeURL(url)
+ // TODO remove call self.
+ return nil
+ //return mts.UnsubscribeURL(url)
}
// PublishServiceDefinition will call remote metadata's StoreProviderMetadata to store url info and service definition
diff --git a/protocol/dubbo/dubbo_codec.go b/protocol/dubbo/dubbo_codec.go
index 5e859a7..ccecbee 100644
--- a/protocol/dubbo/dubbo_codec.go
+++ b/protocol/dubbo/dubbo_codec.go
@@ -238,7 +238,6 @@ func (c *DubboCodec) decodeRequest(data []byte) (*remoting.Request, int, error)
func (c *DubboCodec) decodeResponse(data []byte) (*remoting.Response, int, error) {
buf := bytes.NewBuffer(data)
pkg := impl.NewDubboPackage(buf)
- response := &remoting.Response{}
err := pkg.Unmarshal()
if err != nil {
originErr := perrors.Cause(err)
@@ -250,7 +249,7 @@ func (c *DubboCodec) decodeResponse(data []byte) (*remoting.Response, int, error
return nil, 0, perrors.WithStack(err)
}
- response = &remoting.Response{
+ response := &remoting.Response{
ID: pkg.Header.ID,
//Version: pkg.Header.,
SerialID: pkg.Header.SerialID,
diff --git a/protocol/dubbo/hessian2/hessian_dubbo_test.go b/protocol/dubbo/hessian2/hessian_dubbo_test.go
index 13dab92..eaaf500 100644
--- a/protocol/dubbo/hessian2/hessian_dubbo_test.go
+++ b/protocol/dubbo/hessian2/hessian_dubbo_test.go
@@ -80,6 +80,7 @@ func doTestHessianEncodeHeader(t *testing.T, packageType PackageType, responseSt
func doTestResponse(t *testing.T, packageType PackageType, responseStatus byte, body interface{}, decodedResponse *DubboResponse, assertFunc func()) {
resp, err := doTestHessianEncodeHeader(t, packageType, responseStatus, body)
+ assert.NoError(t, err)
codecR := NewHessianCodec(bufio.NewReader(bytes.NewReader(resp)))
@@ -163,6 +164,7 @@ func TestResponse(t *testing.T) {
func doTestRequest(t *testing.T, packageType PackageType, responseStatus byte, body interface{}) {
resp, err := doTestHessianEncodeHeader(t, packageType, responseStatus, body)
+ assert.NoError(t, err)
codecR := NewHessianCodec(bufio.NewReader(bytes.NewReader(resp)))
diff --git a/protocol/rest/server/rest_server.go b/protocol/rest/server/rest_server.go
index 3a1cb19..b0bf0e0 100644
--- a/protocol/rest/server/rest_server.go
+++ b/protocol/rest/server/rest_server.go
@@ -257,6 +257,7 @@ func assembleArgsFromQueryParams(methodConfig *rest_config.RestMethodConfig, arg
kind := t.Kind()
if kind == reflect.Ptr {
t = t.Elem()
+ kind = t.Kind()
}
if kind == reflect.Slice {
param = req.QueryParameters(v)
@@ -297,6 +298,7 @@ func assembleArgsFromPathParams(methodConfig *rest_config.RestMethodConfig, args
kind := t.Kind()
if kind == reflect.Ptr {
t = t.Elem()
+ kind = t.Kind()
}
if kind == reflect.Int {
param, err = strconv.Atoi(req.PathParameter(v))
diff --git a/registry/base_registry.go b/registry/base_registry.go
index a6693be..ee0d340 100644
--- a/registry/base_registry.go
+++ b/registry/base_registry.go
@@ -273,6 +273,10 @@ func (r *BaseRegistry) processURL(c *common.URL, f func(string, string) error, c
default:
return perrors.Errorf("@c{%v} type is not referencer or provider", c)
}
+ if err != nil {
+ return perrors.WithMessagef(err, "@c{%v} registry fail", c)
+ }
+
encodedURL = url.QueryEscape(rawURL)
dubboPath = strings.ReplaceAll(dubboPath, "$", "%24")
err = f(dubboPath, encodedURL)
diff --git a/registry/consul/registry.go b/registry/consul/registry.go
index 0b7ba97..869e1c1 100644
--- a/registry/consul/registry.go
+++ b/registry/consul/registry.go
@@ -193,7 +193,7 @@ func (r *consulRegistry) Destroy() {
go func() {
defer func() {
if e := recover(); e != nil {
- logger.Errorf("consulRegistry destory with panic: %v", e)
+ logger.Errorf("consulRegistry destroy with panic: %v", e)
}
done <- struct{}{}
}()
diff --git a/registry/consul/service_discovery.go b/registry/consul/service_discovery.go
index d8ab93f..a64fabb 100644
--- a/registry/consul/service_discovery.go
+++ b/registry/consul/service_discovery.go
@@ -444,7 +444,7 @@ func (csd *consulServiceDiscovery) buildRegisterInstance(instance registry.Servi
metadata = encodeConsulMetadata(metadata)
metadata[enable] = strconv.FormatBool(instance.IsEnable())
// check
- check := csd.buildCheck(instance)
+ check := csd.buildCheck()
return &consul.AgentServiceRegistration{
ID: buildID(instance),
@@ -456,12 +456,7 @@ func (csd *consulServiceDiscovery) buildRegisterInstance(instance registry.Servi
}, nil
}
-func (csd *consulServiceDiscovery) buildCheck(instance registry.ServiceInstance) consul.AgentServiceCheck {
-
- deregister, ok := instance.GetMetadata()[constant.DEREGISTER_AFTER]
- if !ok || len(deregister) == 0 {
- deregister = constant.DEFAULT_DEREGISTER_TIME
- }
+func (csd *consulServiceDiscovery) buildCheck() consul.AgentServiceCheck {
return consul.AgentServiceCheck{
TTL: strconv.FormatInt(csd.checkPassInterval/1000, 10) + "s",
DeregisterCriticalServiceAfter: csd.deregisterCriticalServiceAfter,
diff --git a/registry/kubernetes/registry_test.go b/registry/kubernetes/registry_test.go
index 9fb409a..a816b03 100644
--- a/registry/kubernetes/registry_test.go
+++ b/registry/kubernetes/registry_test.go
@@ -280,7 +280,7 @@ func TestSubscribe(t *testing.T) {
defer wg.Done()
registerErr := r.Register(url)
if registerErr != nil {
- t.Fatal(registerErr)
+ t.Error(registerErr)
}
}()
diff --git a/remoting/etcdv3/client_test.go b/remoting/etcdv3/client_test.go
index 3de266f..da31136 100644
--- a/remoting/etcdv3/client_test.go
+++ b/remoting/etcdv3/client_test.go
@@ -298,7 +298,7 @@ func (suite *ClientTestSuite) TestClientWatch() {
wc, err := c.watch(prefix)
if err != nil {
- t.Fatal(err)
+ t.Error(err)
}
events := make([]mvccpb.Event, 0)
@@ -358,7 +358,7 @@ func (suite *ClientTestSuite) TestClientRegisterTemp() {
completePath := path.Join("scott", "wang")
wc, err := observeC.watch(completePath)
if err != nil {
- t.Fatal(err)
+ t.Error(err)
}
events := make([]mvccpb.Event, 0)
diff --git a/remoting/getty/dubbo_codec_for_test.go b/remoting/getty/dubbo_codec_for_test.go
index fca5da8..b33fb74 100644
--- a/remoting/getty/dubbo_codec_for_test.go
+++ b/remoting/getty/dubbo_codec_for_test.go
@@ -230,7 +230,6 @@ func (c *DubboTestCodec) decodeRequest(data []byte) (*remoting.Request, int, err
func (c *DubboTestCodec) decodeResponse(data []byte) (*remoting.Response, int, error) {
buf := bytes.NewBuffer(data)
pkg := impl.NewDubboPackage(buf)
- response := &remoting.Response{}
err := pkg.Unmarshal()
if err != nil {
originErr := perrors.Cause(err)
@@ -240,7 +239,7 @@ func (c *DubboTestCodec) decodeResponse(data []byte) (*remoting.Response, int, e
}
return nil, 0, perrors.WithStack(err)
}
- response = &remoting.Response{
+ response := &remoting.Response{
ID: pkg.Header.ID,
//Version: pkg.Header.,
SerialID: pkg.Header.SerialID,
diff --git a/remoting/getty/getty_client.go b/remoting/getty/getty_client.go
index e432ca5..17b5231 100644
--- a/remoting/getty/getty_client.go
+++ b/remoting/getty/getty_client.go
@@ -110,7 +110,7 @@ func setClientGrpool() {
// Options : param config
type Options struct {
// connect timeout
- // remove request timeout, it will be calulate for every request
+ // remove request timeout, it will be calculate for every request
ConnectTimeout time.Duration
// request timeout
RequestTimeout time.Duration
diff --git a/remoting/getty/getty_server.go b/remoting/getty/getty_server.go
index 620a01d..d7582e2 100644
--- a/remoting/getty/getty_server.go
+++ b/remoting/getty/getty_server.go
@@ -160,7 +160,7 @@ func (s *Server) newSession(session getty.Session) error {
session.SetTaskPool(srvGrpool)
return nil
}
- if tcpConn, ok = session.Conn().(*net.TCPConn); !ok {
+ if _, ok = session.Conn().(*net.TCPConn); !ok {
panic(fmt.Sprintf("%s, session.conn{%#v} is not tcp connection\n", session.Stat(), session.Conn()))
}
diff --git a/remoting/getty/listener_test.go b/remoting/getty/listener_test.go
index 7e7ac5f..956ecf9 100644
--- a/remoting/getty/listener_test.go
+++ b/remoting/getty/listener_test.go
@@ -47,7 +47,7 @@ func TestRebuildCtx(t *testing.T) {
assert.Nil(t, ctx.Value(constant.TRACING_REMOTE_SPAN_CTX))
span, ctx := opentracing.StartSpanFromContext(ctx, "Test-Client")
-
+ assert.NotNil(t, ctx)
err := injectTraceCtx(span, inv)
assert.NoError(t, err)
diff --git a/remoting/kubernetes/client.go b/remoting/kubernetes/client.go
index fce9e80..5399e5f 100644
--- a/remoting/kubernetes/client.go
+++ b/remoting/kubernetes/client.go
@@ -48,16 +48,16 @@ type Client struct {
// newClient returns Client instance for registry
func newClient(url *common.URL) (*Client, error) {
-
- ctx, cancel := context.WithCancel(context.Background())
-
// read type
r, err := strconv.Atoi(url.GetParams().Get(constant.ROLE_KEY))
if err != nil {
return nil, perrors.WithMessage(err, "atoi role")
}
+ ctx, cancel := context.WithCancel(context.Background())
+
controller, err := newDubboRegistryController(ctx, common.RoleType(r), GetInClusterKubernetesClient)
if err != nil {
+ cancel()
return nil, perrors.WithMessage(err, "new dubbo-registry controller")
}
diff --git a/remoting/kubernetes/client_test.go b/remoting/kubernetes/client_test.go
index d6c5a2e..fdaee96 100644
--- a/remoting/kubernetes/client_test.go
+++ b/remoting/kubernetes/client_test.go
@@ -365,7 +365,7 @@ func TestClientGetChildrenKVList(t *testing.T) {
// start get all children
kList, vList, err := client.GetChildren(prefix)
if err != nil {
- t.Fatal(err)
+ t.Error(err)
}
for i := 0; i < len(kList); i++ {
@@ -392,7 +392,7 @@ func TestClientWatchPrefix(t *testing.T) {
wc, done, err := client.WatchWithPrefix(prefix)
if err != nil {
- t.Fatal(err)
+ t.Error(err)
}
wg.Done()
@@ -435,7 +435,7 @@ func TestClientWatch(t *testing.T) {
wc, done, err := client.Watch(prefix)
if err != nil {
- t.Fatal(err)
+ t.Error(err)
}
wg.Done()
diff --git a/remoting/kubernetes/registry_controller.go b/remoting/kubernetes/registry_controller.go
index 20be0d7..f66163d 100644
--- a/remoting/kubernetes/registry_controller.go
+++ b/remoting/kubernetes/registry_controller.go
@@ -442,7 +442,7 @@ func (c *dubboRegistryController) initCurrentPod() error {
return perrors.WithMessage(err, "get patch")
}
- currentPod, err = c.patchCurrentPod(p)
+ _, err = c.patchCurrentPod(p)
if err != nil {
return perrors.WithMessage(err, "patch to current pod")
}
diff --git a/remoting/nacos/builder_test.go b/remoting/nacos/builder_test.go
index 61d13ef..48199be 100644
--- a/remoting/nacos/builder_test.go
+++ b/remoting/nacos/builder_test.go
@@ -34,11 +34,13 @@ func TestNewNacosClient(t *testing.T) {
client, err := NewNacosClient(rc)
// address is nil
+ assert.Nil(t, client)
assert.NotNil(t, err)
rc.Address = "console.nacos.io:80:123"
client, err = NewNacosClient(rc)
// invalid address
+ assert.Nil(t, client)
assert.NotNil(t, err)
rc.Address = "console.nacos.io:80"