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:04 UTC
[dubbo-go] 01/01: fix errors by linter
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"