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

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


The following commit(s) were added to refs/heads/main by this push:
     new dff74b0b chore: remove duplicated samples under compatibility (#954)
dff74b0b is described below

commit dff74b0bc0dfaaea43a44494aed16487c25149fc
Author: zbchi <[email protected]>
AuthorDate: Sat Nov 15 11:25:15 2025 +0800

    chore: remove duplicated samples under compatibility (#954)
    
    * chore: remove duplicated filter/token sample
    
    * chore: remove duplicated logger sample
    
    * chore: remove duplicated metrics sample
    
    * chore(ci): remove metrics and filter/token from integration test script
    
    * chore: remove duplicated context sample
    
    * chore: remove duplicated error sample
    
    * chore: remove duplicated etcd,nacos,zookeeper sample
---
 README.md                                          |   4 -
 README_CN.md                                       |   4 -
 compatibility/context/README.md                    |  58 -----------
 compatibility/context/README_zh.md                 |  63 -----------
 .../context/dubbo/go-client/cmd/client.go          |  76 --------------
 .../context/dubbo/go-client/conf/dubbogo.yml       |  10 --
 .../context/dubbo/go-server/cmd/server.go          | 116 ---------------------
 .../context/dubbo/go-server/conf/dubbogo.yml       |  13 ---
 .../context/triple/go-client/cmd/client.go         |  95 -----------------
 .../context/triple/go-client/conf/dubbogo.yml      |  10 --
 .../context/triple/go-server/cmd/server.go         |  96 -----------------
 .../context/triple/go-server/conf/dubbogo.yml      |  13 ---
 .../error/triple/hessian2/go-client/cmd/client.go  |  63 -----------
 .../hessian2/go-client/cmd/error_response.go       |  37 -------
 .../triple/hessian2/go-client/conf/dubbogo.yml     |  14 ---
 .../hessian2/go-server/cmd/error_response.go       |  56 ----------
 .../error/triple/hessian2/go-server/cmd/server.go  |  77 --------------
 .../triple/hessian2/go-server/conf/dubbogo.yml     |  14 ---
 .../error/triple/pb/go-client/cmd/client.go        |  59 -----------
 .../error/triple/pb/go-client/conf/dubbogo.yml     |  11 --
 .../error/triple/pb/go-server/cmd/error_reponse.go |  60 -----------
 .../error/triple/pb/go-server/cmd/server.go        |  34 ------
 .../error/triple/pb/go-server/conf/dubbogo.yml     |  12 ---
 compatibility/filter/token/go-client/cmd/client.go |  53 ----------
 .../filter/token/go-client/conf/dubbogo.yml        |  12 ---
 compatibility/filter/token/go-server/cmd/server.go |  51 ---------
 .../filter/token/go-server/conf/dubbogo.yml        |  14 ---
 compatibility/logger/README.md                     | 100 ------------------
 compatibility/logger/README_zh.md                  |  98 -----------------
 compatibility/logger/custom/cmd/main.go            | 106 -------------------
 compatibility/logger/custom/conf/dubbogo.yml       |  13 ---
 compatibility/logger/default/cmd/main.go           |  59 -----------
 compatibility/logger/default/conf/dubbogo.yml      |  13 ---
 compatibility/logger/level/cmd/main.go             |  59 -----------
 compatibility/logger/level/conf/dubbogo.yml        |  13 ---
 compatibility/logger/rolling/cmd/main.go           |  57 ----------
 compatibility/logger/rolling/conf/dubbogo.yml      |  21 ----
 compatibility/metrics/go-client/cmd/client.go      |  59 -----------
 compatibility/metrics/go-client/conf/dubbogo.yml   |  18 ----
 compatibility/metrics/go-server/cmd/server.go      |  53 ----------
 compatibility/metrics/go-server/conf/dubbogo.yml   |  23 ----
 .../registry/etcd/go-client/cmd/client.go          |  65 ------------
 .../registry/etcd/go-client/conf/dubbogo.yml       |  17 ---
 compatibility/registry/etcd/go-client/pkg/user.go  |  38 -------
 .../registry/etcd/go-server/cmd/server.go          |  77 --------------
 .../registry/etcd/go-server/conf/dubbogo.yml       |  20 ----
 .../etcd/go-server/docker/docker-compose.yml       |  21 ----
 compatibility/registry/etcd/go-server/pkg/user.go  |  58 -----------
 .../registry/nacos/go-client/cmd/client.go         |  81 --------------
 .../registry/nacos/go-client/conf/dubbogo.yml      |  26 -----
 .../registry/nacos/go-server/cmd/server.go         | 110 -------------------
 .../registry/nacos/go-server/conf/dubbogo.yml      |  28 -----
 .../registry/zookeeper/go-client/cmd/client.go     |  68 ------------
 .../registry/zookeeper/go-client/conf/dubbogo.yml  |  18 ----
 .../registry/zookeeper/go-server/cmd/server.go     |  94 -----------------
 .../registry/zookeeper/go-server/conf/dubbogo.yml  |  20 ----
 .../context/dubbo/tests/integration/main_test.go   |  62 -----------
 .../dubbo/tests/integration/userprovider_test.go   |  54 ----------
 .../context/triple/tests/integration/main_test.go  |  43 --------
 .../triple/tests/integration/userprovider_test.go  |  55 ----------
 .../triple/hessian2/tests/integration/main_test.go |  57 ----------
 .../tests/integration/userprovider_test.go         |  39 -------
 .../error/triple/pb/tests/integration/main_test.go |  43 --------
 .../pb/tests/integration/userprovider_test.go      |  48 ---------
 .../filter/token/tests/integration/main_test.go    |  41 --------
 .../filter/token/tests/integration/token_test.go   |  41 --------
 .../metrics/tests/integration/helloworld_test.go   |  46 --------
 .../metrics/tests/integration/main_test.go         |  44 --------
 .../registry/etcd/tests/integration/main_test.go   |  50 ---------
 .../etcd/tests/integration/userprovider_test.go    |  41 --------
 .../registry/nacos/tests/integration/main_test.go  |  65 ------------
 .../nacos/tests/integration/userprovider_test.go   |  45 --------
 .../zookeeper/tests/integration/helloworld_test.go |  61 -----------
 .../zookeeper/tests/integration/main_test.go       |  49 ---------
 start_integrate_test.sh                            |  16 ---
 75 files changed, 3458 deletions(-)

diff --git a/README.md b/README.md
index bdcbff39..6bbc9a4b 100644
--- a/README.md
+++ b/README.md
@@ -11,15 +11,11 @@
 * compatibility/async: Callback (asynchronous) and one-way RPC example
 * compatibility/config-api: How to use Dubbo-go by APIs without configuration 
files
 * compatibility/configcenter: Usage of different config centers, including 
zookeeper, nacos and apollo
-* compatibility/context: How to transfer request context between multiple 
producers/consumers
 * compatibility/direct: Direct invocation example
-* compatibility/error: Error handling and triple protocol examples
 * compatibility/filter: Examples of different filters, including custom_filter 
and tpslimit
 * compatibility/game: Game service example
 * compatibility/generic: Generic invocation example
-* compatibility/logger: Dubbo-go logging examples
 * compatibility/mesh: Proxy service mesh example showing how to deploy 
Dubbo-go services with Envoy on Kubernetes
-* compatibility/metrics: How to collect Dubbo-go Prometheus metrics
 * compatibility/otel: How to use OpenTelemetry as Dubbo-go tracing tool
 * compatibility/proxyless: Proxyless service mesh example for deploying 
Dubbo-go services on Kubernetes
 * compatibility/registry: How to use etcd/nacos/zookeeper as Dubbo-go registry
diff --git a/README_CN.md b/README_CN.md
index 01cb1a67..c4270f44 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -7,15 +7,11 @@
 * compatibility/async:通过 callback 方式进行异步 RPC 及单向调用示例
 * compatibility/config-api:无需配置文件,使用 API 启动 Dubbo-go 服务
 * compatibility/configcenter:多种配置中心(如 zookeeper、nacos、apollo)用法示例
-* compatibility/context:多生产者/消费者间传递请求 context 示例
 * compatibility/direct:直连调用示例,无需注册中心
-* compatibility/error:错误处理与 triple 协议示例
 * compatibility/filter:内置及自定义 filter 示例(如 custom_filter、tpslimit)
 * compatibility/game:游戏服务示例
 * compatibility/generic:泛化调用示例
-* compatibility/logger:Dubbo-go 日志功能示例
 * compatibility/mesh:基于 Envoy 的服务网格部署示例
-* compatibility/metrics:Prometheus 指标采集示例
 * compatibility/otel:OpenTelemetry 链路追踪示例
 * compatibility/proxyless:Kubernetes 下 proxyless 服务网格示例
 * compatibility/registry:多种注册中心(etcd/nacos/zookeeper)用法
diff --git a/compatibility/context/README.md b/compatibility/context/README.md
deleted file mode 100644
index 7f78c3d8..00000000
--- a/compatibility/context/README.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# Dubbo-go context Usage 
-### 1. Introduction
-
-Context in server end can be used to read specific field that dubbo-go 
framework provided by default.\
-It can also used to transfer base-type of golang, even 
-
-### 2. How to get dubbo-go default field
-You can get dubbo attachment in this way:
-```go
-ctxAtta := 
ctx.Value(constant.DubboCtxKey("attachment")).(map[string]interface{})
-       rsp := ContextContent{
-               Path:          ctxAtta["path"].(string),
-               InterfaceName: ctxAtta["interface"].(string),
-               DubboVersion:  ctxAtta["dubbo"].(string),
-               LocalAddr:     ctxAtta["local-addr"].(string),
-               RemoteAddr:    ctxAtta["remote-addr"].(string),
-       }
-```
-
-### 3. Transfer value you want from client to server
-Client end\
-As demo in go-client/cliemt.go shows
-```go
-    // create requset context
-    rspContent := &pkg.ContextContent{}
-
-    // create attachment, which must be map[string]interface{}
-       atta := make(map[string]interface{})
-    // add fields you like
-       atta["string-value"] = "string-demo"
-       atta["int-value"] = 1231242
-    // make sure the UserDefined Pkg is registered to hessian2
-       atta["user-defined-value"] = pkg.ContextContent{InterfaceName: 
"test.interface.name"}
-
-    // invoke with your context
-       reqContext := context.WithValue(context.Background(), 
constant.DubboCtxKey("attachment"), atta)
-       err := userProvider.GetContext(reqContext, []interface{}{"A001"}, 
rspContent)
-       if err != nil {
-               gxlog.CError("error: %v\n", err)
-               os.Exit(1)
-               return
-       }
-       gxlog.CInfo("response result: %+v\n", rspContent)
-```
-Server end:\
-As demo in go-server/server.go shows
-```go
-    // get attachment from ctx
-    ctxAtta := 
ctx.Value(constant.DubboCtxKey("attachment")).(map[string]interface{})
-    
-    // get user defined struct from attachment
-       userDefinedval := ctxAtta["user-defined-value"].(*ContextContent)
-    
-    // get value you sent
-       intValue := ctxAtta["int-value"].(int64),
-```
-
-Pls. refer to [HOWTO.md](../../HOWTO.md) under the root directory to run this 
sample.
\ No newline at end of file
diff --git a/compatibility/context/README_zh.md 
b/compatibility/context/README_zh.md
deleted file mode 100644
index 8f81c866..00000000
--- a/compatibility/context/README_zh.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Dubbo-go context 使用demo 
-### 1. 介绍
-
-可以在服务端使用context读取dubbo-go框架默认提供的字段。
-
-也可以使用ctx从客户端传递用户希望传递的字段到服务端。
-
-### 2. 如何获取dubbogo提供的默认字段
-你可以获取dubbo attachement 字段:
-```go
-ctxAtta := 
ctx.Value(constant.DubboCtxKey("attachment")).(map[string]interface{})
-       rsp := ContextContent{
-               Path:          ctxAtta["path"].(string),
-               InterfaceName: ctxAtta["interface"].(string),
-               DubboVersion:  ctxAtta["dubbo"].(string),
-               LocalAddr:     ctxAtta["local-addr"].(string),
-               RemoteAddr:    ctxAtta["remote-addr"].(string),
-       }
-```
-
-### 3. 从客户端通过context传递你想要的字段
-- 客户端
-  如样例 go-client/cliemt.go 所展示:
-
-```go
-    // 创建request
-    rspContent := &pkg.ContextContent{}
-
-    // 创建 attachment, 类型必须为 map[string]interface{}
-       atta := make(map[string]interface{})
-    // 添加你想传递的字段
-       atta["string-value"] = "string-demo"
-       atta["int-value"] = 1231242
-    // 需要保证你想传递的结构体提前被注册在了hessian2上
-       atta["user-defined-value"] = pkg.ContextContent{InterfaceName: 
"test.interface.name"}
-
-    // 使用构建好字段的context作为request context
-       reqContext := context.WithValue(context.Background(), 
constant.DubboCtxKey("attachment"), atta)
-       err := userProvider.GetContext(reqContext, []interface{}{"A001"}, 
rspContent)
-       if err != nil {
-               gxlog.CError("error: %v\n", err)
-               os.Exit(1)
-               return
-       }
-       gxlog.CInfo("response result: %+v\n", rspContent)
-```
-- 服务端:
-  如样例在 go-server/server.go 所展示
-
-```go
-    // 从ctx 获取 attachment
-    ctxAtta := 
ctx.Value(constant.DubboCtxKey("attachment")).(map[string]interface{})
-    
-    // 从ctx获取用户自定义结构体
-       userDefinedval := ctxAtta["user-defined-value"].(*ContextContent)
-    
-    // 获取特定字段值
-       intValue := ctxAtta["int-value"].(int64),
-```
-
-请参阅根目录中的 [HOWTO.md](../../HOWTO_zh.md) 来运行本例。
-
-
diff --git a/compatibility/context/dubbo/go-client/cmd/client.go 
b/compatibility/context/dubbo/go-client/cmd/client.go
deleted file mode 100644
index 89f554bd..00000000
--- a/compatibility/context/dubbo/go-client/cmd/client.go
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "os"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/common/constant"
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-
-       gxlog "github.com/dubbogo/gost/log"
-)
-
-type UserProvider struct {
-       GetContext func(ctx context.Context) (rsp *ContextContent, err error)
-}
-
-type ContextContent struct {
-       Path              string
-       InterfaceName     string
-       DubboVersion      string
-       LocalAddr         string
-       RemoteAddr        string
-       UserDefinedStrVal string
-       CtxStrVal         string
-       CtxIntVal         int64
-}
-
-func (c *ContextContent) JavaClassName() string {
-       return "org.apache.dubbo.ContextContent"
-}
-
-// need to setup environment variable "DUBBO_GO_CONFIG_PATH" to 
"conf/dubbogo.yml" before run
-func main() {
-       var userProvider = &UserProvider{}
-       config.SetConsumerService(userProvider)
-       hessian.RegisterPOJO(&ContextContent{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-       gxlog.CInfo("\n\n\nstart to test dubbo")
-
-       atta := make(map[string]interface{})
-       atta["string-value"] = "string-demo"
-       atta["int-value"] = 1231242
-       atta["user-defined-value"] = &ContextContent{InterfaceName: 
"test.interface.name"}
-       reqContext := context.WithValue(context.Background(), 
constant.DubboCtxKey("attachment"), atta)
-       rspContent, err := userProvider.GetContext(reqContext)
-       if err != nil {
-               gxlog.CError("error: %v\n", err)
-               os.Exit(1)
-               return
-       }
-       gxlog.CInfo("response result: %+v\n", rspContent)
-}
diff --git a/compatibility/context/dubbo/go-client/conf/dubbogo.yml 
b/compatibility/context/dubbo/go-client/conf/dubbogo.yml
deleted file mode 100644
index 43353bfc..00000000
--- a/compatibility/context/dubbo/go-client/conf/dubbogo.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      address: 127.0.0.1:2181
-  consumer:
-    references:
-      UserProvider:
-        protocol: dubbo
-        interface: org.apache.dubbo.UserProvider
\ No newline at end of file
diff --git a/compatibility/context/dubbo/go-server/cmd/server.go 
b/compatibility/context/dubbo/go-server/cmd/server.go
deleted file mode 100644
index 6c2bc8b4..00000000
--- a/compatibility/context/dubbo/go-server/cmd/server.go
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "fmt"
-       "os"
-       "os/signal"
-       "syscall"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/common/constant"
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-
-       gxlog "github.com/dubbogo/gost/log"
-       "github.com/dubbogo/gost/log/logger"
-)
-
-var (
-       survivalTimeout = int(3e9)
-)
-
-func init() {
-       config.SetProviderService(&UserProvider{})
-       // ------for hessian2------
-       hessian.RegisterPOJO(&ContextContent{})
-}
-
-type ContextContent struct {
-       Path              string
-       InterfaceName     string
-       DubboVersion      string
-       LocalAddr         string
-       RemoteAddr        string
-       UserDefinedStrVal string
-       CtxStrVal         string
-       CtxIntVal         int64
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetContext(ctx context.Context) (*ContextContent, 
error) {
-       ctxAtta := 
ctx.Value(constant.DubboCtxKey("attachment")).(map[string]interface{})
-       userDefinedval := ctxAtta["user-defined-value"].(*ContextContent)
-       gxlog.CInfo("get user defined struct:%#v", userDefinedval)
-       rsp := ContextContent{
-               Path:              ctxAtta["path"].(string),
-               InterfaceName:     ctxAtta["interface"].(string),
-               DubboVersion:      ctxAtta["dubbo"].(string),
-               LocalAddr:         ctxAtta["local-addr"].(string),
-               RemoteAddr:        ctxAtta["remote-addr"].(string),
-               UserDefinedStrVal: userDefinedval.InterfaceName,
-               CtxIntVal:         ctxAtta["int-value"].(int64),
-               CtxStrVal:         ctxAtta["string-value"].(string),
-       }
-       gxlog.CInfo("rsp:%#v", rsp)
-       return &rsp, nil
-}
-
-func (u *ContextContent) JavaClassName() string {
-       return "org.apache.dubbo.ContextContent"
-}
-
-// need to setup environment variable "DUBBO_GO_CONFIG_PATH" to 
"conf/dubbogo.yml" before run
-func main() {
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       initSignal()
-}
-
-func initSignal() {
-       signals := make(chan os.Signal, 1)
-       // It is not possible to block SIGKILL or syscall.SIGSTOP
-       signal.Notify(signals, os.Interrupt, syscall.SIGHUP, syscall.SIGQUIT, 
syscall.SIGTERM)
-       for {
-               sig := <-signals
-               logger.Infof("get signal %s", sig.String())
-               switch sig {
-               case syscall.SIGHUP:
-                       // reload()
-               default:
-                       time.AfterFunc(time.Duration(survivalTimeout), func() {
-                               logger.Warnf("app exit now by force...")
-                               os.Exit(1)
-                       })
-
-                       // The program exits normally or timeout forcibly exits.
-                       fmt.Println("provider app exit now...")
-                       return
-               }
-       }
-}
diff --git a/compatibility/context/dubbo/go-server/conf/dubbogo.yml 
b/compatibility/context/dubbo/go-server/conf/dubbogo.yml
deleted file mode 100644
index 9cdb135d..00000000
--- a/compatibility/context/dubbo/go-server/conf/dubbogo.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      address: 127.0.0.1:2181
-  protocols:
-    dubbo:
-      name: dubbo
-      port: 20000
-  provider:
-    services:
-      UserProvider:
-        interface: org.apache.dubbo.UserProvider
\ No newline at end of file
diff --git a/compatibility/context/triple/go-client/cmd/client.go 
b/compatibility/context/triple/go-client/cmd/client.go
deleted file mode 100644
index 7fb0b5b6..00000000
--- a/compatibility/context/triple/go-client/cmd/client.go
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "sync"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/common/constant"
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-var grpcGreeterImpl = new(api.GreeterClientImpl)
-
-func init() {
-       config.SetConsumerService(grpcGreeterImpl)
-}
-
-// export DUBBO_GO_CONFIG_PATH= 
PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml
-func main() {
-       err := config.Load()
-       if err != nil {
-               panic(err)
-       }
-
-       logger.Info("start to test triple unary context attachment transport")
-       req := &api.HelloRequest{
-               Name: "laurence",
-       }
-       ctx := context.Background()
-       // set user defined context attachment, map value can be string or 
[]string, otherwise it is not to be transferred
-       userDefinedValueMap := make(map[string]interface{})
-       userDefinedValueMap["key1"] = "user defined value 1"
-       userDefinedValueMap["key2"] = "user defined value 2"
-       userDefinedValueMap["key3"] = []string{"user defined value 3.1", "user 
defined value 3.2"}
-       userDefinedValueMap["key4"] = []string{"user defined value 4.1", "user 
defined value 4.2"}
-       ctx = context.WithValue(ctx, constant.AttachmentKey, 
userDefinedValueMap)
-       reply, err := grpcGreeterImpl.SayHello(ctx, req)
-       if err != nil {
-               logger.Error(err)
-       }
-       logger.Infof("client response result: %v\n", reply)
-
-       //stream rpc
-       logger.Info("start to test triple streaming rpc context attachment 
transport")
-       request := &api.HelloRequest{
-               Name: "laurence",
-       }
-       stream, err := grpcGreeterImpl.SayHelloStream(ctx)
-       if err != nil {
-               logger.Error(err)
-       }
-       // stream grpc双向流式发送
-       err = stream.Send(request)
-       if err != nil {
-               logger.Error(err)
-       }
-       logger.Infof("client stream send request: %v\n", request)
-
-       var wg sync.WaitGroup
-       wg.Add(1)
-       go func() {
-               defer wg.Done()
-               reply, err := stream.Recv()
-               if err != nil {
-                       logger.Error(err)
-               }
-               logger.Infof("client stream received result: %v\n", reply)
-       }()
-       wg.Wait()
-}
diff --git a/compatibility/context/triple/go-client/conf/dubbogo.yml 
b/compatibility/context/triple/go-client/conf/dubbogo.yml
deleted file mode 100644
index 0cc9482d..00000000
--- a/compatibility/context/triple/go-client/conf/dubbogo.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      timeout: 3s
-      address: 127.0.0.1:2181
-  consumer:
-    references:
-      GreeterClientImpl:
-        protocol: tri
\ No newline at end of file
diff --git a/compatibility/context/triple/go-server/cmd/server.go 
b/compatibility/context/triple/go-server/cmd/server.go
deleted file mode 100644
index 42e65f37..00000000
--- a/compatibility/context/triple/go-server/cmd/server.go
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "fmt"
-       "strings"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/common/constant"
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-type GreeterProvider struct {
-       api.UnimplementedGreeterServer
-}
-
-func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) 
(*api.User, error) {
-       // map must be assert to map[string]interface, because of dubbo 
limitation
-       attachments := 
ctx.Value(constant.AttachmentKey).(map[string]interface{})
-
-       // value must be assert to []string[0], because of http2 header 
limitation
-       logger.Infof("get triple attachment key1 = %s", 
attachments["key1"].([]string)[0])
-       logger.Infof("get triple attachment key2 = %s", 
attachments["key2"].([]string)[0])
-       logger.Infof("get triple attachment key3 = %s and %s", 
attachments["key3"].([]string)[0],
-               attachments["key3"].([]string)[1])
-       logger.Infof("get triple attachment key4 = %s and %s", 
attachments["key4"].([]string)[0],
-               attachments["key4"].([]string)[1])
-       logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
-       rspAttachment := make(map[string]interface{})
-       for k, v := range attachments {
-               if strings.HasPrefix(k, "key") {
-                       rspAttachment[k] = v
-               }
-       }
-       return &api.User{Name: fmt.Sprintf("%s", rspAttachment), Id: "12345", 
Age: 21}, nil
-}
-
-func (s *GreeterProvider) SayHelloStream(svr api.Greeter_SayHelloStreamServer) 
error {
-       // map must be assert to map[string]interface, because of dubbo 
limitation
-       attachments := 
svr.Context().Value(constant.AttachmentKey).(map[string]interface{})
-
-       // value must be assert to []string[0], because of http2 header 
limitation
-       logger.Infof("get triple attachment key1 = %s", 
attachments["key1"].([]string)[0])
-       logger.Infof("get triple attachment key2 = %s", 
attachments["key2"].([]string)[0])
-       logger.Infof("get triple attachment key3 = %s and %s", 
attachments["key3"].([]string)[0],
-               attachments["key3"].([]string)[1])
-       logger.Infof("get triple attachment key4 = %s and %s", 
attachments["key4"].([]string)[0],
-               attachments["key4"].([]string)[1])
-       c, err := svr.Recv()
-       if err != nil {
-               return err
-       }
-       logger.Infof("Dubbo-go3 GreeterProvider recv 1 user, name = %s\n", 
c.Name)
-       err = svr.Send(&api.User{
-               Name: "hello " + c.Name,
-               Age:  18,
-               Id:   "123456789",
-       })
-       if err != nil {
-               return err
-       }
-       return nil
-}
-
-func main() {
-       config.SetProviderService(&GreeterProvider{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-       select {}
-}
diff --git a/compatibility/context/triple/go-server/conf/dubbogo.yml 
b/compatibility/context/triple/go-server/conf/dubbogo.yml
deleted file mode 100644
index 17c98fb4..00000000
--- a/compatibility/context/triple/go-server/conf/dubbogo.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      address: 127.0.0.1:2181
-  protocols:
-    triple:
-      name: tri
-      port: 20000
-  provider:
-    services:
-      GreeterProvider:
-        interface: "" # read interface from pb
\ No newline at end of file
diff --git a/compatibility/error/triple/hessian2/go-client/cmd/client.go 
b/compatibility/error/triple/hessian2/go-client/cmd/client.go
deleted file mode 100644
index 9c2a9495..00000000
--- a/compatibility/error/triple/hessian2/go-client/cmd/client.go
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-
-       "github.com/dubbogo/gost/log/logger"
-
-       tripleCommon "github.com/dubbogo/triple/pkg/common"
-)
-
-var errorResponseProvider = new(ErrorResponseProvider)
-
-func init() {
-       config.SetConsumerService(errorResponseProvider)
-       hessian.RegisterPOJO(&User{})
-}
-
-// need to setup environment variable "DUBBO_GO_CONFIG_PATH" to 
"conf/dubbogo.yml" before run
-func main() {
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-       testErrorService()
-       testService()
-}
-
-func testErrorService() {
-       if user, err := errorResponseProvider.GetUser(context.TODO(), 
&User{Name: "laurence"}); err != nil {
-               logger.Infof("response result: %v, error = %s", user, err)
-               logger.Infof("error details = %+v", 
err.(tripleCommon.TripleError).Stacks())
-       }
-}
-
-func testService() {
-       if user, err := 
errorResponseProvider.GetUserWithoutError(context.TODO(), &User{Name: 
"laurence"}); err != nil {
-               logger.Infof("response result: %v, error = %s", user, err)
-               logger.Infof("error details = %+v", 
err.(tripleCommon.TripleError).Stacks())
-       }
-}
diff --git 
a/compatibility/error/triple/hessian2/go-client/cmd/error_response.go 
b/compatibility/error/triple/hessian2/go-client/cmd/error_response.go
deleted file mode 100644
index 13691b2f..00000000
--- a/compatibility/error/triple/hessian2/go-client/cmd/error_response.go
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-)
-
-type User struct {
-       Id   string
-       Name string
-       Age  int32
-}
-
-type ErrorResponseProvider struct {
-       GetUser             func(ctx context.Context, req *User) (*User, error)
-       GetUserWithoutError func(ctx context.Context, req *User) (*User, error)
-}
-
-func (u *User) JavaClassName() string {
-       return "com.apache.dubbo.sample.basic.User"
-}
diff --git a/compatibility/error/triple/hessian2/go-client/conf/dubbogo.yml 
b/compatibility/error/triple/hessian2/go-client/conf/dubbogo.yml
deleted file mode 100644
index 1bdf00f5..00000000
--- a/compatibility/error/triple/hessian2/go-client/conf/dubbogo.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      timeout: 3s
-      address: 127.0.0.1:2181
-  consumer:
-    references:
-      ErrorResponseProvider:
-        protocol: tri
-        serialization: hessian2
-        interface: com.apache.dubbo.sample.basic.ErrorResponseProvider # must 
be compatible with grpc or dubbo-java
-        cluster: failfast
-        retries: 0
\ No newline at end of file
diff --git 
a/compatibility/error/triple/hessian2/go-server/cmd/error_response.go 
b/compatibility/error/triple/hessian2/go-server/cmd/error_response.go
deleted file mode 100644
index 5436f0d1..00000000
--- a/compatibility/error/triple/hessian2/go-server/cmd/error_response.go
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-)
-
-import (
-       "github.com/dubbogo/gost/log/logger"
-
-       "github.com/pkg/errors"
-)
-
-type User struct {
-       Id   string
-       Name string
-       Age  int32
-}
-
-func (u *User) JavaClassName() string {
-       return "com.apache.dubbo.sample.basic.User"
-}
-
-type ErrorResponseProvider struct {
-}
-
-func (u *ErrorResponseProvider) GetUser(ctx context.Context, usr *User) 
(*User, error) {
-       logger.Infof("req:%#v", usr)
-       rsp := User{"12345", "Hello " + usr.Name, 18}
-       myError := errors.Errorf("user defined error")
-       logger.Infof("rsp:%#v, err = %s", rsp, myError)
-       return &rsp, myError
-}
-
-func (u *ErrorResponseProvider) GetUserWithoutError(ctx context.Context, usr 
*User) (*User, error) {
-       logger.Infof("req:%#v", usr)
-       rsp := User{"12345", "Hello " + usr.Name, 18}
-       logger.Infof("rsp:%#v, err = %s", rsp, nil)
-       return &rsp, nil
-}
diff --git a/compatibility/error/triple/hessian2/go-server/cmd/server.go 
b/compatibility/error/triple/hessian2/go-server/cmd/server.go
deleted file mode 100644
index 40115b94..00000000
--- a/compatibility/error/triple/hessian2/go-server/cmd/server.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "fmt"
-       "os"
-       "os/signal"
-       "syscall"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-var (
-       survivalTimeout = int(3 * time.Second)
-)
-
-func init() {
-       // ------for hessian2------
-       hessian.RegisterPOJO(&User{})
-       config.SetProviderService(&ErrorResponseProvider{})
-}
-
-// export DUBBO_GO_CONFIG_PATH= 
PATH_TO_SAMPLES/rpc/triple/hessian2/go-server/conf/dubbogo.yml
-func main() {
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-       initSignal()
-}
-
-func initSignal() {
-       signals := make(chan os.Signal, 1)
-       // It is not possible to block SIGKILL or syscall.SIGSTOP
-       signal.Notify(signals, os.Interrupt, syscall.SIGHUP, syscall.SIGQUIT, 
syscall.SIGTERM)
-       for {
-               sig := <-signals
-               logger.Infof("get signal %s", sig.String())
-               switch sig {
-               case syscall.SIGHUP:
-                       // reload()
-               default:
-                       time.Sleep(time.Second * 5)
-                       time.AfterFunc(time.Duration(survivalTimeout), func() {
-                               logger.Warnf("app exit now by force...")
-                               os.Exit(1)
-                       })
-
-                       // The program exits normally or timeout forcibly exits.
-                       fmt.Println("provider app exit now...")
-                       return
-               }
-       }
-}
diff --git a/compatibility/error/triple/hessian2/go-server/conf/dubbogo.yml 
b/compatibility/error/triple/hessian2/go-server/conf/dubbogo.yml
deleted file mode 100644
index ce0ab313..00000000
--- a/compatibility/error/triple/hessian2/go-server/conf/dubbogo.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      address: 127.0.0.1:2181
-  protocols:
-    triple:
-      name: tri
-      port: 20000
-  provider:
-    services:
-      ErrorResponseProvider:
-        serialization: hessian2
-        interface: com.apache.dubbo.sample.basic.ErrorResponseProvider # must 
be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/compatibility/error/triple/pb/go-client/cmd/client.go 
b/compatibility/error/triple/pb/go-client/cmd/client.go
deleted file mode 100644
index bf53b497..00000000
--- a/compatibility/error/triple/pb/go-client/cmd/client.go
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-
-       tripleCommon "github.com/dubbogo/triple/pkg/common"
-)
-
-import (
-       triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-var greeterProvider = new(triplepb.GreeterClientImpl)
-
-func init() {
-       config.SetConsumerService(greeterProvider)
-}
-
-// export 
DUBBO_GO_CONFIG_PATH=$PATH_TO_SAMPLES/error/triple/pb/go-client/conf/dubbogo.yml
-func main() {
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       req := triplepb.HelloRequest{
-               Name: "laurence",
-       }
-
-       if user, err := greeterProvider.SayHello(context.TODO(), &req); err != 
nil {
-               logger.Infof("response result: %v, error = %s", user, err)
-               logger.Infof("error details = %+v", 
err.(tripleCommon.TripleError).Stacks())
-               logger.Infof("error code = %+v", 
err.(tripleCommon.TripleError).Code())
-               logger.Infof("error message = %+v", 
err.(tripleCommon.TripleError).Message())
-       }
-}
diff --git a/compatibility/error/triple/pb/go-client/conf/dubbogo.yml 
b/compatibility/error/triple/pb/go-client/conf/dubbogo.yml
deleted file mode 100644
index 78dce011..00000000
--- a/compatibility/error/triple/pb/go-client/conf/dubbogo.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-dubbo:
-  registries:
-    zk:
-      address: zookeeper://127.0.0.1:2181
-  consumer:
-    references:
-      GreeterClientImpl:
-        protocol: tri
-        interface: org.apache.dubbo.demo.Greeter
-        cluster: failfast
-        retries: 0
\ No newline at end of file
diff --git a/compatibility/error/triple/pb/go-server/cmd/error_reponse.go 
b/compatibility/error/triple/pb/go-server/cmd/error_reponse.go
deleted file mode 100644
index 8abff4e3..00000000
--- a/compatibility/error/triple/pb/go-server/cmd/error_reponse.go
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-)
-
-import (
-       "github.com/dubbogo/gost/log/logger"
-
-       "github.com/dubbogo/grpc-go/codes"
-       "github.com/dubbogo/grpc-go/status"
-)
-
-import (
-       triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-type ErrorResponseProvider struct {
-       triplepb.UnimplementedGreeterServer
-}
-
-func (s *ErrorResponseProvider) SayHello(ctx context.Context, in 
*triplepb.HelloRequest) (*triplepb.User, error) {
-       logger.Infof("Dubbo3 GreeterProvider get user name = %s\n" + in.Name)
-
-       /* GRPC/Triple wrapped error, client would get:
-        error details = 
[type.googleapis.com/google.rpc.DebugInfo]:{stack_entries:"
-        main.(*ErrorResponseProvider).SayHello
-              
xxx/dubbo-go-samples/error/triple/pb/go-server/cmd/error_reponse.go:48
-       ...
-        error code = Code(1234)
-        error message = user defined error
-       */
-       return &triplepb.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, 
status.Error(codes.Code(1234), "user defined error")
-
-       /* normal error with stack, client would get:
-       error details = 
[type.googleapis.com/google.rpc.DebugInfo]:{stack_entries:"userDefinedError
-       main.(*ErrorResponseProvider).SayHello
-              
xxx/dubbo-go-samples/error/triple/pb/go-server/cmd/error_reponse.go:55
-       error code = Unknown
-       error message = userDefinedError
-       */
-       //return &triplepb.User{Name: "Hello " + in.Name, Id: "12345", Age: 
21}, errors.New("userDefinedError")
-}
diff --git a/compatibility/error/triple/pb/go-server/cmd/server.go 
b/compatibility/error/triple/pb/go-server/cmd/server.go
deleted file mode 100644
index 05623b77..00000000
--- a/compatibility/error/triple/pb/go-server/cmd/server.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       _ "github.com/dubbogo/triple/pkg/triple"
-)
-
-// export 
DUBBO_GO_CONFIG_PATH=$PATH_TO_SAMPLES/error/triple/pb/go-server/conf/dubbogo.yml
-func main() {
-       config.SetProviderService(&ErrorResponseProvider{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-       select {}
-}
diff --git a/compatibility/error/triple/pb/go-server/conf/dubbogo.yml 
b/compatibility/error/triple/pb/go-server/conf/dubbogo.yml
deleted file mode 100644
index fd01a0cc..00000000
--- a/compatibility/error/triple/pb/go-server/conf/dubbogo.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-dubbo:
-  registries:
-    zk:
-      address: zookeeper://127.0.0.1:2181
-  protocols:
-    triple:
-      name: tri
-      port: 20000
-  provider:
-    services:
-      ErrorResponseProvider:
-        interface: org.apache.dubbo.demo.Greeter
\ No newline at end of file
diff --git a/compatibility/filter/token/go-client/cmd/client.go 
b/compatibility/filter/token/go-client/cmd/client.go
deleted file mode 100644
index 57fd838c..00000000
--- a/compatibility/filter/token/go-client/cmd/client.go
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-var userProvider = &api.GreeterClientImpl{}
-
-func init() {
-       config.SetConsumerService(userProvider)
-}
-
-func main() {
-       err := config.Load()
-       if err != nil {
-               panic(err)
-       }
-
-       logger.Infof("\n\n\nstart to test")
-       user, err := userProvider.SayHello(context.TODO(), 
&api.HelloRequest{Name: "laurence"})
-       if err != nil {
-               panic(err)
-       }
-       logger.Infof("get user = %+v", user)
-}
diff --git a/compatibility/filter/token/go-client/conf/dubbogo.yml 
b/compatibility/filter/token/go-client/conf/dubbogo.yml
deleted file mode 100644
index de25448d..00000000
--- a/compatibility/filter/token/go-client/conf/dubbogo.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-# dubbo client yaml configure file
-
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      timeout: 3s
-      address: 127.0.0.1:2181
-  consumer:
-    references:
-      GreeterClientImpl:
-        protocol: tri
\ No newline at end of file
diff --git a/compatibility/filter/token/go-server/cmd/server.go 
b/compatibility/filter/token/go-server/cmd/server.go
deleted file mode 100644
index 2570b44e..00000000
--- a/compatibility/filter/token/go-server/cmd/server.go
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-type GreeterProvider struct {
-       api.UnimplementedGreeterServer
-}
-
-func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) 
(*api.User, error) {
-       logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
-       return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
-}
-
-// export DUBBO_GO_CONFIG_PATH= 
PATH_TO_SAMPLES/filter/token/go-server/conf/dubbogo.yml
-func main() {
-       config.SetProviderService(&GreeterProvider{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-       select {}
-}
diff --git a/compatibility/filter/token/go-server/conf/dubbogo.yml 
b/compatibility/filter/token/go-server/conf/dubbogo.yml
deleted file mode 100644
index 9ef77675..00000000
--- a/compatibility/filter/token/go-server/conf/dubbogo.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      address: 127.0.0.1:2181
-  protocols:
-    tripleProtocol:
-      name: tri
-      port: 20000
-  provider:
-    services:
-      GreeterProvider:
-        filter: token
-        token: "dubbo-go"
diff --git a/compatibility/logger/README.md b/compatibility/logger/README.md
deleted file mode 100755
index 16dd226f..00000000
--- a/compatibility/logger/README.md
+++ /dev/null
@@ -1,100 +0,0 @@
-## Log usage
-
-The samples demonstrate how to configure dubbo-go logger using lumberjack
-
-### Contents
-
-* default: print to the console by default
-* level:   set the isolation level of the log
-* rolling: output to file
-* custom: set custom logger
-
-#### print to the console by default
-
-If you don't add a logger to the configuration file, the configuration log 
will be printed to the console. You can also configure the log in the 
configuration file. You can refer to the following method:
-
-zap log format and level settings
-```yaml
-    logger:
-    zap-config:
-      level: "debug"
-      development: false
-      disableCaller: false
-      disableStacktrace: false
-      sampling:
-      encoding: "console"
-    
-      # encoder
-      encoderConfig:
-        messageKey: "message"
-        levelKey: "level"
-        timeKey: "time"
-        nameKey: "logger"
-        callerKey: "caller"
-        stacktraceKey: "stacktrace"
-        lineEnding: ""
-        levelEncoder: "capitalColor"
-        timeEncoder: "iso8601"
-        durationEncoder: "seconds"
-        callerEncoder: "short"
-        nameEncoder: ""
-    
-      outputPaths:
-        - "stderr"
-      errorOutputPaths:
-        - "stderr"
-      initialFields:
-```
-
-#### set isolation level
-
-```go
-logger.SetLoggerLevel("warn")
-```
-
-#### output to file
-
-Add the lumberjackConfig item under the logger option in the configuration file
-
-```yaml
-lumberjack-config:
-  # The name of the log file
-  filename: "logs.log"
-  # The maximum size of each log file length whose unit is MiB. The default 
value is 100MiB.
-  maxSize: 1
-  # Maximum number of days to keep logs (only keep the logs of the most recent 
days)
-  maxAge: 3
-  # Only keep the most recent log files, used to control the size of the total 
log of the program
-  maxBackups: 5
-  # Whether to use local time, UTC time is used by default
-  localTime: true
-  # Whether to compress the log file, the compression method is gzip
-  compress: false
-```
-
-#### coustom logger
-
-Custom logger needs to implement the logger interface in the logger package
-
-```go
-type Logger interface {
-    Info(args ...interface{})
-    Warn(args ...interface{})
-    Error(args ...interface{})
-    Debug(args ...interface{})
-    Fatal(args ...interface{})
-
-    Infof(fmt string, args ...interface{})
-    Warnf(fmt string, args ...interface{})
-    Errorf(fmt string, args ...interface{})
-    Debugf(fmt string, args ...interface{})
-    Fatalf(fmt string, args ...interface{})
-}
-```
-
-Then call SetLogger method to set logger
-
-
-```go
-logger.SetLogger(&customLogger{})
-```
diff --git a/compatibility/logger/README_zh.md 
b/compatibility/logger/README_zh.md
deleted file mode 100755
index 11e18c48..00000000
--- a/compatibility/logger/README_zh.md
+++ /dev/null
@@ -1,98 +0,0 @@
-## 日志使用
-
- 该 samples 演示了如何使用 lumberjack 配置 dubbo-go logger
-
-### 目录
-
-* default:  默认打印到控制台
-* level:    设置日志的隔离级别
-* rolling:  输出到文件
-* custom: 自定义 logger
-
-#### 默认配置
-
-在配置文件中不添加 logger 配置日志将会打印到控制台, 也可在配置文件中配置日志, 可参照如下方式: 
-
-zap 日志格式和级别设置
-```yaml
-    logger:
-    zapConfig:
-      level: "debug"
-      development: false
-      disableCaller: false
-      disableStacktrace: false
-      sampling:
-      encoding: "console"
-    
-      # encoder
-      encoderConfig:
-        messageKey: "message"
-        levelKey: "level"
-        timeKey: "time"
-        nameKey: "logger"
-        callerKey: "caller"
-        stacktraceKey: "stacktrace"
-        lineEnding: ""
-        levelEncoder: "capitalColor"
-        timeEncoder: "iso8601"
-        durationEncoder: "seconds"
-        callerEncoder: "short"
-        nameEncoder: ""
-    
-      outputPaths:
-        - "stderr"
-      errorOutputPaths:
-        - "stderr"
-      initialFields:
-```
-
-#### 设置隔离级别
-
-```go
-logger.SetLoggerLevel("warn")
-```
-
-#### 输出到文件
-
-在配置文件中的 logger 选项下添加 lumberjackConfig 项
-
-```yaml
-logger:
-    lumberjackConfig:
-      # 写日志的文件名称
-      filename: "logs.log"
-      # 每个日志文件长度的最大大小,单位是 MiB。默认 100MiB
-      maxSize: 1
-      # 日志保留的最大天数(只保留最近多少天的日志)
-      maxAge: 3
-      # 只保留最近多少个日志文件,用于控制程序总日志的大小
-      maxBackups: 5
-      # 是否使用本地时间,默认使用 UTC 时间
-      localTime: true
-      # 是否压缩日志文件,压缩方法 gzip
-      compress: false
-      # zap 配置可默认不填
-    zapConfig:
-```
-
-#### 自定义 logger
-自定义 logger 需要实现 logger 包中的 logger 接口
-```go
-type Logger interface {
-    Info(args ...interface{})
-    Warn(args ...interface{})
-    Error(args ...interface{})
-    Debug(args ...interface{})
-    Fatal(args ...interface{})
-
-    Infof(fmt string, args ...interface{})
-    Warnf(fmt string, args ...interface{})
-    Errorf(fmt string, args ...interface{})
-    Debugf(fmt string, args ...interface{})
-    Fatalf(fmt string, args ...interface{})
-}
-```
-然后调用 SetLogger 方法设置 logger
-```go
-logger.SetLogger(&customLogger{})
-```
\ No newline at end of file
diff --git a/compatibility/logger/custom/cmd/main.go 
b/compatibility/logger/custom/cmd/main.go
deleted file mode 100644
index 3302ccfc..00000000
--- a/compatibility/logger/custom/cmd/main.go
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "fmt"
-       "os"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-type GreeterProvider struct {
-       api.UnimplementedGreeterServer
-}
-
-type customLogger struct {
-}
-
-func (c *customLogger) Info(args ...interface{}) {
-       fmt.Printf("\033[1;32;40m%s\033[0m\n", args)
-}
-
-func (c *customLogger) Warn(args ...interface{}) {
-       fmt.Printf("\033[1;33;40m%s\033[0m\n", args)
-}
-
-func (c *customLogger) Error(args ...interface{}) {
-       fmt.Printf("\033[1;31;40m%s\033[0m\n", args)
-}
-
-func (c *customLogger) Debug(args ...interface{}) {
-       fmt.Printf("\033[1;34;40m%s\033[0m\n", args)
-}
-
-func (c *customLogger) Fatal(args ...interface{}) {
-       fmt.Printf("\033[1;31;40m%s\033[0m\n", args)
-       os.Exit(1)
-}
-
-func (c *customLogger) Infof(fmts string, args ...interface{}) {
-       fmt.Printf("\033[1;32;40m%s\033[0m\n", fmt.Sprintf(fmts, args...))
-}
-
-func (c *customLogger) Warnf(fmts string, args ...interface{}) {
-       fmt.Printf("\033[1;33;40m%s\033[0m\n", fmt.Sprintf(fmts, args...))
-}
-
-func (c *customLogger) Errorf(fmts string, args ...interface{}) {
-       fmt.Printf("\033[1;31;40m%s\033[0m\n", fmt.Sprintf(fmts, args...))
-}
-
-func (c *customLogger) Debugf(fmts string, args ...interface{}) {
-       fmt.Printf("\033[1;34;40m%s\033[0m\n", fmt.Sprintf(fmts, args...))
-}
-
-func (c *customLogger) Fatalf(fmts string, args ...interface{}) {
-       fmt.Printf("\033[1;31;40m%s\033[0m\n", fmt.Sprintf(fmts, args...))
-       os.Exit(1)
-}
-
-func main() {
-       config.SetProviderService(&GreeterProvider{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-       logger.SetLogger(&customLogger{})
-       ctx, cancel := context.WithTimeout(context.Background(), time.Second*3)
-       defer cancel()
-       for {
-               select {
-               case <-ctx.Done():
-                       return
-               default:
-                       logger.Info("hello dubbogo this is info log")
-                       logger.Debug("hello dubbogo this is debug log")
-                       logger.Warn("hello dubbogo this is warn log")
-                       time.Sleep(time.Second * 1)
-               }
-       }
-}
diff --git a/compatibility/logger/custom/conf/dubbogo.yml 
b/compatibility/logger/custom/conf/dubbogo.yml
deleted file mode 100644
index 1782ccec..00000000
--- a/compatibility/logger/custom/conf/dubbogo.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      address: 127.0.0.1:2181
-  protocols:
-    triple:
-      name: tri
-      port: 20000
-  provider:
-    services:
-      GreeterProvider:
-        interface: "" # read interface name from pb
\ No newline at end of file
diff --git a/compatibility/logger/default/cmd/main.go 
b/compatibility/logger/default/cmd/main.go
deleted file mode 100644
index 2d701edd..00000000
--- a/compatibility/logger/default/cmd/main.go
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-type GreeterProvider struct {
-       api.UnimplementedGreeterServer
-}
-
-func main() {
-       config.SetProviderService(&GreeterProvider{})
-       err := config.Load()
-       if err != nil {
-               panic(err)
-       }
-       ctx, cancel := context.WithTimeout(context.Background(), time.Second*3)
-       defer cancel()
-       for {
-               select {
-               case <-ctx.Done():
-                       return
-               default:
-                       logger.Info("hello dubbogo this is info log")
-                       logger.Debug("hello dubbogo this is debug log")
-                       logger.Warn("hello dubbogo this is warn log")
-                       time.Sleep(time.Second * 1)
-               }
-       }
-}
diff --git a/compatibility/logger/default/conf/dubbogo.yml 
b/compatibility/logger/default/conf/dubbogo.yml
deleted file mode 100644
index 1782ccec..00000000
--- a/compatibility/logger/default/conf/dubbogo.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      address: 127.0.0.1:2181
-  protocols:
-    triple:
-      name: tri
-      port: 20000
-  provider:
-    services:
-      GreeterProvider:
-        interface: "" # read interface name from pb
\ No newline at end of file
diff --git a/compatibility/logger/level/cmd/main.go 
b/compatibility/logger/level/cmd/main.go
deleted file mode 100644
index cb63999e..00000000
--- a/compatibility/logger/level/cmd/main.go
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-type GreeterProvider struct {
-       api.UnimplementedGreeterServer
-}
-
-func main() {
-       config.SetProviderService(&GreeterProvider{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-       ctx, cancel := context.WithTimeout(context.Background(), time.Second*3)
-       defer cancel()
-       logger.SetLoggerLevel("warn")
-       for {
-               select {
-               case <-ctx.Done():
-                       return
-               default:
-                       logger.Info("hello dubbogo this is info log")
-                       logger.Debug("hello dubbogo this is debug log")
-                       logger.Warn("hello dubbogo this is warn log")
-                       time.Sleep(time.Second * 1)
-               }
-       }
-}
diff --git a/compatibility/logger/level/conf/dubbogo.yml 
b/compatibility/logger/level/conf/dubbogo.yml
deleted file mode 100644
index 1782ccec..00000000
--- a/compatibility/logger/level/conf/dubbogo.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      address: 127.0.0.1:2181
-  protocols:
-    triple:
-      name: tri
-      port: 20000
-  provider:
-    services:
-      GreeterProvider:
-        interface: "" # read interface name from pb
\ No newline at end of file
diff --git a/compatibility/logger/rolling/cmd/main.go 
b/compatibility/logger/rolling/cmd/main.go
deleted file mode 100644
index 111c0c94..00000000
--- a/compatibility/logger/rolling/cmd/main.go
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-type GreeterProvider struct {
-       api.UnimplementedGreeterServer
-}
-
-func main() {
-       config.SetProviderService(&GreeterProvider{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-       ctx, cancel := context.WithTimeout(context.Background(), time.Second*20)
-       defer cancel()
-       for {
-               select {
-               case <-ctx.Done():
-                       return
-               default:
-                       logger.Info("hello dubbogo this is info log")
-                       logger.Debug("hello dubbogo this is debug log")
-                       logger.Warn("hello dubbogo this is warn log")
-               }
-       }
-}
diff --git a/compatibility/logger/rolling/conf/dubbogo.yml 
b/compatibility/logger/rolling/conf/dubbogo.yml
deleted file mode 100644
index a916c63f..00000000
--- a/compatibility/logger/rolling/conf/dubbogo.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      address: 127.0.0.1:2181
-  protocols:
-    triple:
-      name: tri
-      port: 20000
-  provider:
-    services:
-      GreeterProvider:
-        interface: ""
-  logger:
-    lumberjack-config:
-      filename: logs.log
-      maxSize: 1
-      maxAge: 3
-      maxBackups: 5
-      localTime: true
-      compress: false
\ No newline at end of file
diff --git a/compatibility/metrics/go-client/cmd/client.go 
b/compatibility/metrics/go-client/cmd/client.go
deleted file mode 100644
index ee0b1223..00000000
--- a/compatibility/metrics/go-client/cmd/client.go
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "fmt"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-var grpcGreeterImpl = new(api.GreeterClientImpl)
-
-// export DUBBO_GO_CONFIG_PATH= 
PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml
-func main() {
-       config.SetConsumerService(grpcGreeterImpl)
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       logger.Info("start to test dubbo")
-
-       for count := 0; ; count++ {
-               req := &api.HelloRequest{
-                       Name: fmt.Sprintf("dubbo-go-%d", count),
-               }
-               reply, err := grpcGreeterImpl.SayHello(context.Background(), 
req)
-               if err != nil {
-                       logger.Error(err)
-               }
-               logger.Infof("client response result: %v\n", reply)
-               time.Sleep(time.Second * 10) // sleep 10 seconds
-       }
-}
diff --git a/compatibility/metrics/go-client/conf/dubbogo.yml 
b/compatibility/metrics/go-client/conf/dubbogo.yml
deleted file mode 100644
index 9a9ce4de..00000000
--- a/compatibility/metrics/go-client/conf/dubbogo.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-dubbo:
-  application:
-    version: 3.0.1
-  metrics:
-    enable: true # default is true
-    path: /metrics # default is /metrics
-    summary-max-age: 60000000000 # 1 minute, default is 10min
-    port: 9092 # default is 9090
-  registries:
-    demoZK:
-      protocol: zookeeper
-      timeout: 3s
-      address: 127.0.0.1:2181
-  consumer:
-    references:
-      GreeterClientImpl:
-        group: dubbo-go
-    filter: metrics
\ No newline at end of file
diff --git a/compatibility/metrics/go-server/cmd/server.go 
b/compatibility/metrics/go-server/cmd/server.go
deleted file mode 100644
index 5f27a3ca..00000000
--- a/compatibility/metrics/go-server/cmd/server.go
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "math/rand"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-type GreeterProvider struct {
-       api.UnimplementedGreeterServer
-}
-
-func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) 
(*api.User, error) {
-       logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
-       time.Sleep(time.Duration(rand.Intn(100))*time.Millisecond + 
100*time.Millisecond) // sleep 100~200ms
-       return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
-}
-
-func main() {
-       config.SetProviderService(&GreeterProvider{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-       select {}
-}
diff --git a/compatibility/metrics/go-server/conf/dubbogo.yml 
b/compatibility/metrics/go-server/conf/dubbogo.yml
deleted file mode 100644
index 63ee87dd..00000000
--- a/compatibility/metrics/go-server/conf/dubbogo.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-dubbo:
-  application:
-    version: 3.0.1
-  metrics:
-    enable: true # default is true
-    path: /metrics # default is /metrics
-    summary-max-age: 60000000000 # 1 minute, default is 10min
-    port: 9091 # default is 9090
-  registries:
-    myzk:
-      protocol: zookeeper
-      address: localhost:2181
-  protocols:
-    triple:
-      name: tri
-      port: 20000
-  logger:
-    zap-config:
-      level: debug
-  provider:
-    services:
-      GreeterProvider:
-        group: dubbo-go
\ No newline at end of file
diff --git a/compatibility/registry/etcd/go-client/cmd/client.go 
b/compatibility/registry/etcd/go-client/cmd/client.go
deleted file mode 100644
index 306b4736..00000000
--- a/compatibility/registry/etcd/go-client/cmd/client.go
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "os"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-
-       gxlog "github.com/dubbogo/gost/log"
-)
-
-import (
-       
"github.com/apache/dubbo-go-samples/compatibility/registry/etcd/go-client/pkg"
-)
-
-var userProvider = new(pkg.UserProvider)
-
-func init() {
-       config.SetConsumerService(userProvider)
-       hessian.RegisterPOJO(&pkg.User{})
-}
-
-// Do some checking before the system starts up:
-//  1. env config
-//     `export DUBBO_GO_CONFIG_PATH= ROOT_PATH/conf/dubbogo.yml` or 
`dubbogo.yaml`
-func main() {
-       hessian.RegisterPOJO(&pkg.User{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       gxlog.CInfo("\n\n\nstart to test dubbo")
-       user := &pkg.User{
-               ID: "A001",
-       }
-       user, err := userProvider.GetUser(context.TODO(), user)
-       if err != nil {
-               gxlog.CError("error: %v\n", err)
-               os.Exit(1)
-               return
-       }
-       gxlog.CInfo("response result: %v\n", user)
-}
diff --git a/compatibility/registry/etcd/go-client/conf/dubbogo.yml 
b/compatibility/registry/etcd/go-client/conf/dubbogo.yml
deleted file mode 100644
index 0d6ff2dd..00000000
--- a/compatibility/registry/etcd/go-client/conf/dubbogo.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-dubbo:
-  application:
-    organization: "dubbo.io"
-    name: "UserInfoClient"
-    module: "dubbo-go user-info client"
-    version: "0.0.1"
-    environment: "dev"
-  registries:
-    etcd:
-      protocol: "etcdv3"
-      timeout: "3s"
-      address: "127.0.0.1:2379"
-  consumer:
-    references:
-      UserProvider:
-        protocol: "dubbo"
-        interface: "org.apache.dubbo.UserProvider"
\ No newline at end of file
diff --git a/compatibility/registry/etcd/go-client/pkg/user.go 
b/compatibility/registry/etcd/go-client/pkg/user.go
deleted file mode 100644
index cccb9427..00000000
--- a/compatibility/registry/etcd/go-client/pkg/user.go
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
-       "context"
-       "time"
-)
-
-type User struct {
-       ID   string
-       Name string
-       Age  int32
-       Time time.Time
-}
-
-type UserProvider struct {
-       GetUser func(ctx context.Context, user *User) (*User, error)
-}
-
-func (u *User) JavaClassName() string {
-       return "org.apache.dubbo.User"
-}
diff --git a/compatibility/registry/etcd/go-server/cmd/server.go 
b/compatibility/registry/etcd/go-server/cmd/server.go
deleted file mode 100644
index a03703f2..00000000
--- a/compatibility/registry/etcd/go-server/cmd/server.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "fmt"
-       "os"
-       "os/signal"
-       "syscall"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       
"github.com/apache/dubbo-go-samples/compatibility/registry/etcd/go-server/pkg"
-)
-
-var (
-       survivalTimeout = int(3e9)
-)
-
-// Do some checking before the system starts up:
-//  1. env config
-//     `export DUBBO_GO_CONFIG_PATH= ROOT_PATH/conf/dubbogo.yml` or 
`dubbogo.yaml`
-func main() {
-       hessian.RegisterPOJO(&pkg.User{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-       initSignal()
-}
-
-func initSignal() {
-       signals := make(chan os.Signal, 1)
-       // It is not possible to block SIGKILL or syscall.SIGSTOP
-       signal.Notify(signals, os.Interrupt, syscall.SIGHUP, syscall.SIGQUIT, 
syscall.SIGTERM)
-       for {
-               sig := <-signals
-               logger.Infof("get signal %s", sig.String())
-               switch sig {
-               case syscall.SIGHUP:
-                       // reload()
-               default:
-                       time.AfterFunc(time.Duration(survivalTimeout), func() {
-                               logger.Warnf("app exit now by force...")
-                               os.Exit(1)
-                       })
-
-                       // The program exits normally or timeout forcibly exits.
-                       fmt.Println("provider app exit now...")
-                       return
-               }
-       }
-}
diff --git a/compatibility/registry/etcd/go-server/conf/dubbogo.yml 
b/compatibility/registry/etcd/go-server/conf/dubbogo.yml
deleted file mode 100644
index 10a79b5f..00000000
--- a/compatibility/registry/etcd/go-server/conf/dubbogo.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-dubbo:
-  application:
-    organization: "dubbo.io"
-    name: "UserInfoServer"
-    module: "dubbo-go user-info server"
-    version: "0.0.1"
-    environment: "dev"
-  registries:
-    etcd:
-      protocol: "etcdv3"
-      timeout: "3s"
-      address: "127.0.0.1:2379"
-  protocols:
-    dubbo:
-      name: "dubbo"
-      port: 20000
-  provider:
-    services:
-      UserProvider:
-        interface: "org.apache.dubbo.UserProvider"
\ No newline at end of file
diff --git a/compatibility/registry/etcd/go-server/docker/docker-compose.yml 
b/compatibility/registry/etcd/go-server/docker/docker-compose.yml
deleted file mode 100644
index 50f97ae2..00000000
--- a/compatibility/registry/etcd/go-server/docker/docker-compose.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-version: '3'
-
-services:
-  etcd:
-    image: "quay.io/coreos/etcd:latest"
-    container_name: etcd
-    environment:
-      - ETCDCTL_API=3
-    command: [
-        "etcd",
-        "--name=etcd0",
-        "--advertise-client-urls=http://127.0.0.1:2379";,
-        "--listen-client-urls=http://0.0.0.0:2379";,
-        "--initial-advertise-peer-urls=http://127.0.0.1:2380";,
-        "--listen-peer-urls=http://0.0.0.0:2380";,
-        "--initial-cluster=etcd0=http://127.0.0.1:2380";,
-    ]
-    ports:
-      - "2379:2379"
-      - "2380:2380"
-    restart: always
diff --git a/compatibility/registry/etcd/go-server/pkg/user.go 
b/compatibility/registry/etcd/go-server/pkg/user.go
deleted file mode 100644
index 044fe550..00000000
--- a/compatibility/registry/etcd/go-server/pkg/user.go
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
-       "context"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-
-       gxlog "github.com/dubbogo/gost/log"
-)
-
-func init() {
-       config.SetProviderService(&UserProvider{})
-       // ------for hessian2------
-       hessian.RegisterPOJO(&User{})
-}
-
-type User struct {
-       ID   string
-       Name string
-       Age  int32
-       Time time.Time
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req *User) (*User, error) {
-       gxlog.CInfo("req:%#v", req)
-       rsp := User{"A001", "Alex Stocks", 18, time.Now()}
-       gxlog.CInfo("rsp:%#v", rsp)
-       return &rsp, nil
-}
-
-func (u *User) JavaClassName() string {
-       return "org.apache.dubbo.User"
-}
diff --git a/compatibility/registry/nacos/go-client/cmd/client.go 
b/compatibility/registry/nacos/go-client/cmd/client.go
deleted file mode 100644
index e685d8a4..00000000
--- a/compatibility/registry/nacos/go-client/cmd/client.go
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "os"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-type UserProviderWithCustomGroupAndVersion struct {
-       GetUser func(ctx context.Context, req *User) (rsp *User, err error)
-}
-
-type UserProvider struct {
-       GetUser func(ctx context.Context, req *User) (rsp *User, err error)
-}
-
-type User struct {
-       ID   string
-       Name string
-       Age  int32
-       Time time.Time
-}
-
-func (u *User) JavaClassName() string {
-       return "org.apache.dubbo.User"
-}
-
-func main() {
-       var userProvider = &UserProvider{}
-       var userProviderWithCustomRegistryGroupAndVersion = 
&UserProviderWithCustomGroupAndVersion{}
-       config.SetConsumerService(userProvider)
-       config.SetConsumerService(userProviderWithCustomRegistryGroupAndVersion)
-       hessian.RegisterPOJO(&User{})
-       err := config.Load()
-       if err != nil {
-               panic(err)
-       }
-
-       logger.Infof("\n\n\nstart to test dubbo")
-       user, err := userProvider.GetUser(context.TODO(), &User{Name: 
"Alex001"})
-       if err != nil {
-               logger.Errorf("error: %v\n", err)
-               os.Exit(1)
-               return
-       }
-       logger.Infof("response result: %v\n", user)
-
-       user, err = 
userProviderWithCustomRegistryGroupAndVersion.GetUser(context.TODO(), 
&User{Name: "Alex001"})
-       if err != nil {
-               logger.Errorf("error: %v\n", err)
-               os.Exit(1)
-               return
-       }
-       logger.Infof("response result: %v\n", user)
-}
diff --git a/compatibility/registry/nacos/go-client/conf/dubbogo.yml 
b/compatibility/registry/nacos/go-client/conf/dubbogo.yml
deleted file mode 100644
index 1a3f69b6..00000000
--- a/compatibility/registry/nacos/go-client/conf/dubbogo.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-dubbo:
-  application:
-    name: myApp # metadata: application=myApp; name=myApp
-    module: opensource #metadata: module=opensource
-    group: myAppGroup # no metadata record
-    organization: dubbo # metadata: organization=dubbo
-    owner: laurence # metadata: owner=laurence
-    version: myversion # metadata: app.version=myversion
-    environment: pro # metadata: environment=pro
-  registries:
-    nacosWithCustomGroup:
-      protocol: nacos
-      address: 127.0.0.1:8848
-      group: myGroup # default is DEFAULT_GROUP
-      registry-type: interface
-#      namespace: 9fb00abb-278d-42fc-96bf-e0151601e4a1 # default is public
-  consumer:
-    references:
-      UserProvider:
-        protocol: dubbo
-        interface: org.apache.dubbo.UserProvider.Test
-      UserProviderWithCustomGroupAndVersion:
-        protocol: dubbo
-        interface: org.apache.dubbo.UserProvider.Test
-        group:  myInterfaceGroup # dubbo interface group must be same with 
server
-        version: myInterfaceVersion # dubbo interface version must be same 
with server
\ No newline at end of file
diff --git a/compatibility/registry/nacos/go-server/cmd/server.go 
b/compatibility/registry/nacos/go-server/cmd/server.go
deleted file mode 100644
index 55988678..00000000
--- a/compatibility/registry/nacos/go-server/cmd/server.go
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "fmt"
-       "os"
-       "os/signal"
-       "syscall"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-var (
-       survivalTimeout = int(3e9)
-)
-
-func init() {
-       config.SetProviderService(&UserProvider{})
-       config.SetProviderService(&UserProviderWithCustomGroupAndVersion{})
-       // ------for hessian2------
-       hessian.RegisterPOJO(&User{})
-}
-
-type User struct {
-       ID   string
-       Name string
-       Age  int32
-       Time time.Time
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req *User) (*User, error) {
-       logger.Infof("req:%#v", req)
-       rsp := User{"A001", "Alex Stocks", 18, time.Now()}
-       logger.Infof("rsp:%#v", rsp)
-       return &rsp, nil
-}
-
-func (u *User) JavaClassName() string {
-       return "org.apache.dubbo.User"
-}
-
-type UserProviderWithCustomGroupAndVersion struct {
-}
-
-func (u *UserProviderWithCustomGroupAndVersion) GetUser(ctx context.Context, 
req *User) (*User, error) {
-       logger.Infof("req:%#v", req)
-       rsp := User{"A001", "Alex Stocks from 
UserProviderWithCustomGroupAndVersion", 18, time.Now()}
-       logger.Infof("rsp:%#v", rsp)
-       return &rsp, nil
-}
-
-// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to 
"conf/server.yml" before run
-func main() {
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       initSignal()
-}
-
-func initSignal() {
-       signals := make(chan os.Signal, 1)
-       // It is not possible to block SIGKILL or syscall.SIGSTOP
-       signal.Notify(signals, os.Interrupt, syscall.SIGHUP, syscall.SIGQUIT, 
syscall.SIGTERM)
-       for {
-               sig := <-signals
-               logger.Infof("get signal %s", sig.String())
-               switch sig {
-               case syscall.SIGHUP:
-                       // reload()
-               default:
-                       time.AfterFunc(time.Duration(survivalTimeout), func() {
-                               logger.Warnf("app exit now by force...")
-                               os.Exit(1)
-                       })
-
-                       // The program exits normally or timeout forcibly exits.
-                       fmt.Println("provider app exit now...")
-                       return
-               }
-       }
-}
diff --git a/compatibility/registry/nacos/go-server/conf/dubbogo.yml 
b/compatibility/registry/nacos/go-server/conf/dubbogo.yml
deleted file mode 100644
index ea8f687d..00000000
--- a/compatibility/registry/nacos/go-server/conf/dubbogo.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-dubbo:
-  application:
-    name: myApp # metadata: application=myApp; name=myApp
-    module: opensource #metadata: module=opensource
-    group: myAppGroup # no metadata record
-    organization: dubbo # metadata: organization=dubbo
-    owner: laurence # metadata: owner=laurence
-    version: myversion # metadata: app.version=myversion
-    environment: pro # metadata: environment=pro
-  registries:
-    nacosWithCustomGroup:
-      protocol: nacos
-      address: 127.0.0.1:8848
-      group: myGroup # nacos group, default is DEFAULT_GROUP
-      registry-type: interface
-#      namespace: 9fb00abb-278d-42fc-96bf-e0151601e4a1 # nacos namespaceID, 
should be created before. default is public
-  protocols:
-    dubbo:
-      name: dubbo
-      port: 20000
-  provider:
-    services:
-      UserProvider:
-        interface: org.apache.dubbo.UserProvider.Test
-      UserProviderWithCustomGroupAndVersion:
-        interface: org.apache.dubbo.UserProvider.Test
-        version: myInterfaceVersion # dubbo interface version must be same 
with client
-        group: myInterfaceGroup # dubbo interface group must be same with 
client
\ No newline at end of file
diff --git a/compatibility/registry/zookeeper/go-client/cmd/client.go 
b/compatibility/registry/zookeeper/go-client/cmd/client.go
deleted file mode 100644
index 68b36d4b..00000000
--- a/compatibility/registry/zookeeper/go-client/cmd/client.go
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-var grpcGreeterImplWithCustomGroupAndVersion = 
&UserProviderWithCustomGroupAndVersion{GreeterClientImpl: 
api.GreeterClientImpl{}}
-var grpcGreeterImpl = new(api.GreeterClientImpl)
-
-type UserProviderWithCustomGroupAndVersion struct {
-       api.GreeterClientImpl
-}
-
-func init() {
-       config.SetConsumerService(grpcGreeterImpl)
-       config.SetConsumerService(grpcGreeterImplWithCustomGroupAndVersion)
-}
-
-// export DUBBO_GO_CONFIG_PATH= 
PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml if needed
-func main() {
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       logger.Info("start to test dubbo")
-       req := &api.HelloRequest{
-               Name: "laurence",
-       }
-       reply, err := grpcGreeterImpl.SayHello(context.Background(), req)
-       if err != nil {
-               logger.Error(err)
-       }
-       logger.Infof("client response result: %v\n", reply)
-
-       reply, err = 
grpcGreeterImplWithCustomGroupAndVersion.SayHello(context.Background(), req)
-       if err != nil {
-               logger.Error(err)
-       }
-       logger.Infof("client response result: %v\n", reply)
-}
diff --git a/compatibility/registry/zookeeper/go-client/conf/dubbogo.yml 
b/compatibility/registry/zookeeper/go-client/conf/dubbogo.yml
deleted file mode 100644
index da325954..00000000
--- a/compatibility/registry/zookeeper/go-client/conf/dubbogo.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      timeout: 3s
-      address: 127.0.0.1:2181
-      group: myGroup
-      registry-type: interface
-  consumer:
-    references:
-      GreeterClientImpl:
-        protocol: tri
-        interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible 
with grpc or dubbo-java
-      UserProviderWithCustomGroupAndVersion:
-        protocol: tri
-        interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible 
with grpc or dubbo-java
-        group: myInterfaceGroup # dubbo interface group must be same with 
server
-        version: myInterfaceVersion # dubbo interface version must be same 
with server
\ No newline at end of file
diff --git a/compatibility/registry/zookeeper/go-server/cmd/server.go 
b/compatibility/registry/zookeeper/go-server/cmd/server.go
deleted file mode 100644
index cd4a506b..00000000
--- a/compatibility/registry/zookeeper/go-server/cmd/server.go
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
-       "context"
-       "fmt"
-       "os"
-       "os/signal"
-       "syscall"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-var (
-       survivalTimeout = int(3e9)
-)
-
-type GreeterProvider struct {
-       api.UnimplementedGreeterServer
-}
-
-type UserProviderWithCustomGroupAndVersion struct {
-       api.UnimplementedGreeterServer
-}
-
-func (s *UserProviderWithCustomGroupAndVersion) SayHello(ctx context.Context, 
in *api.HelloRequest) (*api.User, error) {
-       logger.Infof("Dubbo3 GreeterProviderWithCustomGroupAndVersion get user 
name = %s\n", in.Name)
-       return &api.User{Name: "Hello " + in.Name + " from 
UserProviderWithCustomRegistryGroupAndVersion", Id: "12345", Age: 21}, nil
-}
-
-func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) 
(*api.User, error) {
-       logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
-       return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
-}
-
-func main() {
-       config.SetProviderService(&GreeterProvider{})
-       config.SetProviderService(&UserProviderWithCustomGroupAndVersion{})
-
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       initSignal()
-}
-
-func initSignal() {
-       signals := make(chan os.Signal, 1)
-       // It is not possible to block SIGKILL or syscall.SIGSTOP
-       signal.Notify(signals, os.Interrupt, syscall.SIGHUP, syscall.SIGQUIT, 
syscall.SIGTERM)
-       for {
-               sig := <-signals
-               logger.Infof("get signal %s", sig.String())
-               switch sig {
-               case syscall.SIGHUP:
-                       // reload()
-               default:
-                       time.AfterFunc(time.Duration(survivalTimeout), func() {
-                               logger.Warnf("app exit now by force...")
-                               os.Exit(1)
-                       })
-
-                       // The program exits normally or timeout forcibly exits.
-                       fmt.Println("provider app exit now...")
-                       return
-               }
-       }
-}
diff --git a/compatibility/registry/zookeeper/go-server/conf/dubbogo.yml 
b/compatibility/registry/zookeeper/go-server/conf/dubbogo.yml
deleted file mode 100644
index 3768f1ab..00000000
--- a/compatibility/registry/zookeeper/go-server/conf/dubbogo.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-dubbo:
-  registries:
-    demoZK:
-      protocol: zookeeper
-      timeout: 3s
-      address: 127.0.0.1:2181
-      group: myGroup # default is dubbo
-      registry-type: interface
-  protocols:
-    triple:
-      name: tri
-      port: 20000
-  provider:
-    services:
-      GreeterProvider:
-        interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible 
with grpc or dubbo-java
-      UserProviderWithCustomGroupAndVersion:
-        interface: com.apache.dubbo.sample.basic.IGreeter
-        version: myInterfaceVersion # dubbo interface version must be same 
with client
-        group: myInterfaceGroup # dubbo interface group must be same with 
client
\ No newline at end of file
diff --git 
a/integrate_test/compatibility/context/dubbo/tests/integration/main_test.go 
b/integrate_test/compatibility/context/dubbo/tests/integration/main_test.go
deleted file mode 100644
index f1b35d59..00000000
--- a/integrate_test/compatibility/context/dubbo/tests/integration/main_test.go
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "os"
-       "testing"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-var userProvider = new(UserProvider)
-
-func TestMain(m *testing.M) {
-       config.SetConsumerService(userProvider)
-       hessian.RegisterPOJO(&ContextContent{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       os.Exit(m.Run())
-}
-
-type ContextContent struct {
-       Path              string
-       InterfaceName     string
-       DubboVersion      string
-       LocalAddr         string
-       RemoteAddr        string
-       UserDefinedStrVal string
-       CtxStrVal         string
-       CtxIntVal         int64
-}
-
-type UserProvider struct {
-       GetContext func(ctx context.Context) (*ContextContent, error)
-}
-
-func (c *ContextContent) JavaClassName() string {
-       return "org.apache.dubbo.ContextContent"
-}
diff --git 
a/integrate_test/compatibility/context/dubbo/tests/integration/userprovider_test.go
 
b/integrate_test/compatibility/context/dubbo/tests/integration/userprovider_test.go
deleted file mode 100644
index 4ce6c73f..00000000
--- 
a/integrate_test/compatibility/context/dubbo/tests/integration/userprovider_test.go
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "testing"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/common/constant"
-
-       "github.com/stretchr/testify/assert"
-)
-
-func TestGetUser(t *testing.T) {
-       // add field that client wants to send
-       atta := make(map[string]interface{})
-       atta["string-value"] = "string-demo"
-       atta["int-value"] = 1231242
-       atta["user-defined-value"] = ContextContent{InterfaceName: 
"test.interface.name"}
-       reqContext := context.WithValue(context.Background(), 
constant.DubboCtxKey("attachment"), atta)
-
-       // invoke with reqContext
-       rspContext, err := userProvider.GetContext(reqContext)
-
-       // assert dubbo-go fields
-       assert.Nil(t, err)
-       assert.Equal(t, "org.apache.dubbo.UserProvider", 
rspContext.InterfaceName)
-       assert.Equal(t, "org.apache.dubbo.UserProvider", rspContext.Path)
-       assert.NotNil(t, rspContext.LocalAddr)
-       assert.NotNil(t, rspContext.RemoteAddr)
-       assert.NotNil(t, rspContext.DubboVersion)
-
-       // assert user defined fields
-       assert.Equal(t, "test.interface.name", rspContext.UserDefinedStrVal)
-       assert.Equal(t, "string-demo", rspContext.CtxStrVal)
-       assert.Equal(t, int64(1231242), rspContext.CtxIntVal)
-}
diff --git 
a/integrate_test/compatibility/context/triple/tests/integration/main_test.go 
b/integrate_test/compatibility/context/triple/tests/integration/main_test.go
deleted file mode 100644
index e778c0a3..00000000
--- a/integrate_test/compatibility/context/triple/tests/integration/main_test.go
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "os"
-       "testing"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-)
-
-import (
-       triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-var greeterProvider = new(triplepb.GreeterClientImpl)
-
-func TestMain(m *testing.M) {
-       config.SetConsumerService(greeterProvider)
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       os.Exit(m.Run())
-}
diff --git 
a/integrate_test/compatibility/context/triple/tests/integration/userprovider_test.go
 
b/integrate_test/compatibility/context/triple/tests/integration/userprovider_test.go
deleted file mode 100644
index 809bde1c..00000000
--- 
a/integrate_test/compatibility/context/triple/tests/integration/userprovider_test.go
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "testing"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/common/constant"
-
-       "github.com/stretchr/testify/assert"
-)
-
-import (
-       triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-func TestSayHello(t *testing.T) {
-       ctx := context.Background()
-       // set user defined context attachment, map value can be string or 
[]string, otherwise it is not to be transferred
-       userDefinedValueMap := make(map[string]interface{})
-       userDefinedValueMap["key1"] = "user defined value 1"
-       userDefinedValueMap["key2"] = "user defined value 2"
-       userDefinedValueMap["key3"] = []string{"user defined value 3.1", "user 
defined value 3.2"}
-       userDefinedValueMap["key4"] = []string{"user defined value 4.1", "user 
defined value 4.2"}
-       ctx = context.WithValue(ctx, constant.AttachmentKey, 
userDefinedValueMap)
-
-       req := triplepb.HelloRequest{
-               Name: "laurence",
-       }
-
-       user, err := greeterProvider.SayHello(ctx, &req)
-
-       assert.Nil(t, err)
-       assert.Equal(t, "map[key1:[user defined value 1] key2:[user defined 
value 2] key3:[user defined value 3.1 user defined value 3.2] key4:[user 
defined value 4.1 user defined value 4.2]]", user.Name)
-       assert.Equal(t, "12345", user.Id)
-       assert.Equal(t, int32(21), user.Age)
-}
diff --git 
a/integrate_test/compatibility/error/triple/hessian2/tests/integration/main_test.go
 
b/integrate_test/compatibility/error/triple/hessian2/tests/integration/main_test.go
deleted file mode 100644
index 177d2a3c..00000000
--- 
a/integrate_test/compatibility/error/triple/hessian2/tests/integration/main_test.go
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "os"
-       "testing"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-var userProvider = new(ErrorResponseProvider)
-
-func TestMain(m *testing.M) {
-       config.SetConsumerService(userProvider)
-       hessian.RegisterPOJO(&User{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       os.Exit(m.Run())
-}
-
-type User struct {
-       ID   string
-       Name string
-       Age  int32
-}
-
-type ErrorResponseProvider struct {
-       GetUser func(ctx context.Context, usr *User) (*User, error)
-}
-
-func (u *User) JavaClassName() string {
-       return "com.apache.dubbo.sample.basic.User"
-}
diff --git 
a/integrate_test/compatibility/error/triple/hessian2/tests/integration/userprovider_test.go
 
b/integrate_test/compatibility/error/triple/hessian2/tests/integration/userprovider_test.go
deleted file mode 100644
index faffaf77..00000000
--- 
a/integrate_test/compatibility/error/triple/hessian2/tests/integration/userprovider_test.go
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "fmt"
-       "testing"
-)
-
-import (
-       "github.com/dubbogo/triple/pkg/common"
-
-       "github.com/stretchr/testify/assert"
-)
-
-func TestGetUser(t *testing.T) {
-       _, err := userProvider.GetUser(context.TODO(), &User{Name: "laurence"})
-       assert.NotNil(t, err)
-       assert.Equal(t, "user defined error", fmt.Sprintf("%s", err))
-       stacks, ok := err.(common.TripleError)
-       assert.True(t, ok)
-       assert.NotEqual(t, "", stacks)
-}
diff --git 
a/integrate_test/compatibility/error/triple/pb/tests/integration/main_test.go 
b/integrate_test/compatibility/error/triple/pb/tests/integration/main_test.go
deleted file mode 100644
index e778c0a3..00000000
--- 
a/integrate_test/compatibility/error/triple/pb/tests/integration/main_test.go
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "os"
-       "testing"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-)
-
-import (
-       triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-var greeterProvider = new(triplepb.GreeterClientImpl)
-
-func TestMain(m *testing.M) {
-       config.SetConsumerService(greeterProvider)
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       os.Exit(m.Run())
-}
diff --git 
a/integrate_test/compatibility/error/triple/pb/tests/integration/userprovider_test.go
 
b/integrate_test/compatibility/error/triple/pb/tests/integration/userprovider_test.go
deleted file mode 100644
index dcd01d2b..00000000
--- 
a/integrate_test/compatibility/error/triple/pb/tests/integration/userprovider_test.go
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "fmt"
-       "testing"
-)
-
-import (
-       "github.com/dubbogo/triple/pkg/common"
-
-       "github.com/stretchr/testify/assert"
-)
-
-import (
-       triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-func TestSayHello(t *testing.T) {
-       ctx := context.Background()
-       req := triplepb.HelloRequest{
-               Name: "laurence",
-       }
-       _, err := greeterProvider.SayHello(ctx, &req)
-       stacks, ok := err.(common.TripleError)
-       assert.True(t, ok)
-       assert.Equal(t, "user defined error", fmt.Sprintf("%s", err))
-       assert.NotEqual(t, "", stacks.Stacks())
-       assert.Equal(t, uint32(1234), uint32(stacks.Code()))
-       assert.Equal(t, "user defined error", stacks.Message())
-}
diff --git 
a/integrate_test/compatibility/filter/token/tests/integration/main_test.go 
b/integrate_test/compatibility/filter/token/tests/integration/main_test.go
deleted file mode 100644
index c4387073..00000000
--- a/integrate_test/compatibility/filter/token/tests/integration/main_test.go
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "testing"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-var userProvider = &api.GreeterClientImpl{}
-
-func TestMain(m *testing.M) {
-       config.SetConsumerService(userProvider)
-       err := config.Load()
-       if err != nil {
-               panic(err)
-       }
-}
diff --git 
a/integrate_test/compatibility/filter/token/tests/integration/token_test.go 
b/integrate_test/compatibility/filter/token/tests/integration/token_test.go
deleted file mode 100644
index 97663715..00000000
--- a/integrate_test/compatibility/filter/token/tests/integration/token_test.go
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "testing"
-)
-
-import (
-       "github.com/stretchr/testify/assert"
-)
-
-import (
-       "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-func TestToken(t *testing.T) {
-       user, err := userProvider.SayHello(context.TODO(), 
&api.HelloRequest{Name: "dubbo-go"})
-
-       assert.Nil(t, err)
-       assert.Equal(t, "Hello dubbo-go", user.Name)
-       assert.Equal(t, "12345", user.Id)
-       assert.Equal(t, 21, user.Age)
-
-}
diff --git 
a/integrate_test/compatibility/metrics/tests/integration/helloworld_test.go 
b/integrate_test/compatibility/metrics/tests/integration/helloworld_test.go
deleted file mode 100644
index d86c1c52..00000000
--- a/integrate_test/compatibility/metrics/tests/integration/helloworld_test.go
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "testing"
-)
-
-import (
-       "github.com/stretchr/testify/assert"
-)
-
-import (
-       dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-func TestSayHello(t *testing.T) {
-       req := &dubbo3pb.HelloRequest{
-               Name: "laurence",
-       }
-
-       ctx := context.Background()
-
-       reply, err := greeterProvider.SayHello(ctx, req)
-
-       assert.Nil(t, err)
-       assert.Equal(t, "Hello laurence", reply.Name)
-       assert.Equal(t, "12345", reply.Id)
-       assert.Equal(t, int32(21), reply.Age)
-}
diff --git 
a/integrate_test/compatibility/metrics/tests/integration/main_test.go 
b/integrate_test/compatibility/metrics/tests/integration/main_test.go
deleted file mode 100644
index 4f81a75d..00000000
--- a/integrate_test/compatibility/metrics/tests/integration/main_test.go
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "os"
-       "testing"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-)
-
-import (
-       dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-var greeterProvider = new(dubbo3pb.GreeterClientImpl)
-
-func TestMain(m *testing.M) {
-       config.SetConsumerService(greeterProvider)
-       err := config.Load()
-       if err != nil {
-               panic(err)
-       }
-
-       os.Exit(m.Run())
-}
diff --git 
a/integrate_test/compatibility/registry/etcd/tests/integration/main_test.go 
b/integrate_test/compatibility/registry/etcd/tests/integration/main_test.go
deleted file mode 100644
index be739f7e..00000000
--- a/integrate_test/compatibility/registry/etcd/tests/integration/main_test.go
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "os"
-       "testing"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-
-       _ "github.com/dubbogo/gost/log/logger"
-)
-
-import (
-       
"github.com/apache/dubbo-go-samples/compatibility/registry/etcd/go-client/pkg"
-)
-
-var (
-       userProvider = &pkg.UserProvider{}
-)
-
-func TestMain(m *testing.M) {
-       config.SetConsumerService(userProvider)
-       hessian.RegisterPOJO(&pkg.User{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       os.Exit(m.Run())
-}
diff --git 
a/integrate_test/compatibility/registry/etcd/tests/integration/userprovider_test.go
 
b/integrate_test/compatibility/registry/etcd/tests/integration/userprovider_test.go
deleted file mode 100644
index fdbf2e77..00000000
--- 
a/integrate_test/compatibility/registry/etcd/tests/integration/userprovider_test.go
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "testing"
-)
-
-import (
-       "github.com/stretchr/testify/assert"
-)
-
-import (
-       
"github.com/apache/dubbo-go-samples/compatibility/registry/etcd/go-client/pkg"
-)
-
-func TestGetUser(t *testing.T) {
-       user := &pkg.User{ID: "A001"}
-       user, err := userProvider.GetUser(context.TODO(), user)
-       assert.Nil(t, err)
-       assert.Equal(t, "A001", user.ID)
-       assert.Equal(t, "Alex Stocks", user.Name)
-       assert.Equal(t, int32(18), user.Age)
-       assert.NotNil(t, user.Time)
-}
diff --git 
a/integrate_test/compatibility/registry/nacos/tests/integration/main_test.go 
b/integrate_test/compatibility/registry/nacos/tests/integration/main_test.go
deleted file mode 100644
index 45e57413..00000000
--- a/integrate_test/compatibility/registry/nacos/tests/integration/main_test.go
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "os"
-       "testing"
-       "time"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-
-       hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-var userProviderWithCustomRegistryGroupAndVersion = 
&UserProviderWithCustomGroupAndVersion{}
-var userProvider = &UserProvider{}
-
-func TestMain(m *testing.M) {
-       config.SetConsumerService(userProvider)
-       config.SetConsumerService(userProviderWithCustomRegistryGroupAndVersion)
-       hessian.RegisterPOJO(&User{})
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       os.Exit(m.Run())
-}
-
-type User struct {
-       ID   string
-       Name string
-       Age  int32
-       Time time.Time
-}
-
-type UserProviderWithCustomGroupAndVersion struct {
-       GetUser func(ctx context.Context, req *User) (rsp *User, err error)
-}
-
-type UserProvider struct {
-       GetUser func(ctx context.Context, req *User) (rsp *User, err error)
-}
-
-func (u *User) JavaClassName() string {
-       return "org.apache.dubbo.User"
-}
diff --git 
a/integrate_test/compatibility/registry/nacos/tests/integration/userprovider_test.go
 
b/integrate_test/compatibility/registry/nacos/tests/integration/userprovider_test.go
deleted file mode 100644
index 41a23f2d..00000000
--- 
a/integrate_test/compatibility/registry/nacos/tests/integration/userprovider_test.go
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "testing"
-)
-
-import (
-       "github.com/stretchr/testify/assert"
-)
-
-func TestGetUser(t *testing.T) {
-       user, err := userProvider.GetUser(context.TODO(), &User{ID: "A001"})
-       assert.Nil(t, err)
-       assert.Equal(t, "A001", user.ID)
-       assert.Equal(t, "Alex Stocks", user.Name)
-       assert.Equal(t, int32(18), user.Age)
-       assert.NotNil(t, user.Time)
-}
-
-func TestGetUserWithCustomGroupAndVersion(t *testing.T) {
-       user, err := 
userProviderWithCustomRegistryGroupAndVersion.GetUser(context.TODO(), &User{ID: 
"A001"})
-       assert.Nil(t, err)
-       assert.Equal(t, "A001", user.ID)
-       assert.Equal(t, "Alex Stocks from 
UserProviderWithCustomGroupAndVersion", user.Name)
-       assert.Equal(t, int32(18), user.Age)
-       assert.NotNil(t, user.Time)
-}
diff --git 
a/integrate_test/compatibility/registry/zookeeper/tests/integration/helloworld_test.go
 
b/integrate_test/compatibility/registry/zookeeper/tests/integration/helloworld_test.go
deleted file mode 100644
index 9c916d9d..00000000
--- 
a/integrate_test/compatibility/registry/zookeeper/tests/integration/helloworld_test.go
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "context"
-       "testing"
-)
-
-import (
-       "github.com/stretchr/testify/assert"
-)
-
-import (
-       dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-func TestSayHello(t *testing.T) {
-       req := &dubbo3pb.HelloRequest{
-               Name: "laurence",
-       }
-
-       ctx := context.Background()
-
-       reply, err := greeterProvider.SayHello(ctx, req)
-
-       assert.Nil(t, err)
-       assert.Equal(t, "Hello laurence", reply.Name)
-       assert.Equal(t, "12345", reply.Id)
-       assert.Equal(t, int32(21), reply.Age)
-}
-
-func TestGetUserWithCustomRegistryGroupAndVersion(t *testing.T) {
-       req := &dubbo3pb.HelloRequest{
-               Name: "laurence",
-       }
-
-       ctx := context.Background()
-
-       reply, err := 
userProviderWithCustomRegistryGroupAndVersion.SayHello(ctx, req)
-
-       assert.Nil(t, err)
-       assert.Equal(t, "Hello laurence from 
UserProviderWithCustomRegistryGroupAndVersion", reply.Name)
-       assert.Equal(t, "12345", reply.Id)
-       assert.Equal(t, int32(21), reply.Age)
-}
diff --git 
a/integrate_test/compatibility/registry/zookeeper/tests/integration/main_test.go
 
b/integrate_test/compatibility/registry/zookeeper/tests/integration/main_test.go
deleted file mode 100644
index 22b3fed3..00000000
--- 
a/integrate_test/compatibility/registry/zookeeper/tests/integration/main_test.go
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
-       "os"
-       "testing"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/config"
-       _ "dubbo.apache.org/dubbo-go/v3/imports"
-)
-
-import (
-       dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
-)
-
-var greeterProvider = &dubbo3pb.GreeterClientImpl{}
-var userProviderWithCustomRegistryGroupAndVersion = 
&UserProviderWithCustomGroupAndVersion{GreeterClientImpl: 
dubbo3pb.GreeterClientImpl{}}
-
-type UserProviderWithCustomGroupAndVersion struct {
-       dubbo3pb.GreeterClientImpl
-}
-
-func TestMain(m *testing.M) {
-       config.SetConsumerService(greeterProvider)
-       config.SetConsumerService(userProviderWithCustomRegistryGroupAndVersion)
-       if err := config.Load(); err != nil {
-               panic(err)
-       }
-
-       os.Exit(m.Run())
-}
diff --git a/start_integrate_test.sh b/start_integrate_test.sh
index 821bcf89..0f70386c 100755
--- a/start_integrate_test.sh
+++ b/start_integrate_test.sh
@@ -28,13 +28,6 @@ array+=("compatibility/config-api/rpc/triple")
 array+=("compatibility/config-api/configcenter/zookeeper")
 array+=("compatibility/config-api/config-merge")
 
-# error
-array+=("compatibility/error/triple/hessian2")
-array+=("compatibility/error/triple/pb")
-
-# metrics
-array+=("compatibility/metrics")
-
 # tracing
 array+=("otel/tracing/stdout")
 array+=("otel/tracing/otlp_http_exporter")
@@ -45,12 +38,6 @@ array+=("compatibility/direct")
 # filer
 array+=("filter/token")
 array+=("compatibility/filter/custom")
-array+=("compatibility/filter/token")
-
-# context
-array+=("compatibility/context/dubbo")
-array+=("compatibility/context/triple")
-array+=("context")
 
 # registry
 array+=("registry/zookeeper")
@@ -104,9 +91,6 @@ array+=("config_center/zookeeper")
 
 # compatibility
 ## registry
-array+=("compatibility/registry/zookeeper")
-array+=("compatibility/registry/nacos")
-array+=("compatibility/registry/etcd")
 array+=("compatibility/registry/servicediscovery/zookeeper")
 array+=("compatibility/registry/servicediscovery/nacos")
 array+=("compatibility/registry/all/zookeeper")

Reply via email to