You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by hu...@apache.org on 2019/06/07 08:05:10 UTC

[dubbo-go] branch master updated: Fix:issue #68

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 9f1a565  Fix:issue #68
     new e6882ec  Merge pull request #82 from fangyincheng/fix-exception
9f1a565 is described below

commit 9f1a565d521b312b392485770b0155e5bb3863e0
Author: fangyincheng <fa...@sina.com>
AuthorDate: Thu Jun 6 19:29:12 2019 +0800

    Fix:issue #68
---
 examples/dubbo/go-client/app/user.go                           |  5 ++++-
 examples/dubbo/go-server/app/server.go                         |  2 +-
 examples/dubbo/go-server/app/user.go                           |  2 +-
 .../java-client/src/main/java/com/ikurento/user/Consumer.java  |  4 ++--
 go.mod                                                         |  2 +-
 go.sum                                                         |  4 ++--
 protocol/dubbo/codec.go                                        |  2 +-
 protocol/dubbo/listener.go                                     | 10 +++++++---
 registry/zookeeper/registry.go                                 |  2 +-
 registry/zookeeper/zk_client.go                                |  5 ++++-
 10 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/examples/dubbo/go-client/app/user.go b/examples/dubbo/go-client/app/user.go
index ee56e23..59e1051 100644
--- a/examples/dubbo/go-client/app/user.go
+++ b/examples/dubbo/go-client/app/user.go
@@ -25,10 +25,13 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go/config"
 	hessian "github.com/dubbogo/hessian2"
 )
 
+import (
+	"github.com/apache/dubbo-go/config"
+)
+
 type Gender hessian.JavaEnum
 
 func init() {
diff --git a/examples/dubbo/go-server/app/server.go b/examples/dubbo/go-server/app/server.go
index db0196f..a5c89be 100644
--- a/examples/dubbo/go-server/app/server.go
+++ b/examples/dubbo/go-server/app/server.go
@@ -26,11 +26,11 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go/common/logger"
 	hessian "github.com/dubbogo/hessian2"
 )
 
 import (
+	"github.com/apache/dubbo-go/common/logger"
 	"github.com/apache/dubbo-go/config"
 	_ "github.com/apache/dubbo-go/protocol/dubbo"
 	_ "github.com/apache/dubbo-go/registry/protocol"
diff --git a/examples/dubbo/go-server/app/user.go b/examples/dubbo/go-server/app/user.go
index c55b040..e4400cc 100644
--- a/examples/dubbo/go-server/app/user.go
+++ b/examples/dubbo/go-server/app/user.go
@@ -146,7 +146,7 @@ func (u *UserProvider) GetUser(ctx context.Context, req []interface{}, rsp *User
 }
 
 func (u *UserProvider) GetErr(ctx context.Context, req []interface{}, rsp *User) error {
-	return perrors.New("exception")
+	return hessian.NewThrowable("exception")
 }
 
 func (u *UserProvider) GetUser0(id string, name string) (User, error) {
diff --git a/examples/dubbo/java-client/src/main/java/com/ikurento/user/Consumer.java b/examples/dubbo/java-client/src/main/java/com/ikurento/user/Consumer.java
index 0e4a926..f1100e7 100644
--- a/examples/dubbo/java-client/src/main/java/com/ikurento/user/Consumer.java
+++ b/examples/dubbo/java-client/src/main/java/com/ikurento/user/Consumer.java
@@ -59,9 +59,9 @@ public class Consumer {
         }
         try {
             userProvider.GetErr("A003");
-        } catch (Exception e) {
+        } catch (Throwable t) {
             System.out.println("*************exception***********");
-            e.printStackTrace();
+            t.printStackTrace();
         }
     }
 
diff --git a/go.mod b/go.mod
index 66757f2..df9ce48 100644
--- a/go.mod
+++ b/go.mod
@@ -2,7 +2,7 @@ module github.com/apache/dubbo-go
 
 require (
 	github.com/dubbogo/getty v0.0.0-20190523180329-bdf5e640ea53
-	github.com/dubbogo/hessian2 v0.0.0-20190604191323-5290af08fb56
+	github.com/dubbogo/hessian2 v0.0.0-20190606185624-13bbc9786e3f
 	github.com/pkg/errors v0.8.1
 	github.com/samuel/go-zookeeper v0.0.0-20180130194729-c4fab1ac1bec
 	github.com/stretchr/testify v1.3.0
diff --git a/go.sum b/go.sum
index db094a9..f3cd528 100644
--- a/go.sum
+++ b/go.sum
@@ -6,8 +6,8 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/dubbogo/getty v0.0.0-20190523180329-bdf5e640ea53 h1:bniSNoC4xnAbrx4estwc9F0qkWnh6ZDsAS0y9d7mPos=
 github.com/dubbogo/getty v0.0.0-20190523180329-bdf5e640ea53/go.mod h1:cRMSuoCmwc5lULFFnYZTxyCfZhObmRTNbS7XRnPNHSo=
-github.com/dubbogo/hessian2 v0.0.0-20190604191323-5290af08fb56 h1:5ZhIvx1pqtpRSfUzcc6jkF9pFsx/DcwymDuuaM3jFuw=
-github.com/dubbogo/hessian2 v0.0.0-20190604191323-5290af08fb56/go.mod h1:XFGDn4oSZX26zkcfhkM/fCJrOqwQJxk/xgWW1KMJBKM=
+github.com/dubbogo/hessian2 v0.0.0-20190606185624-13bbc9786e3f h1:oN6hLbasIJuqlT+/R0F1dVIDaXG+Sun9PE6yFogTtSs=
+github.com/dubbogo/hessian2 v0.0.0-20190606185624-13bbc9786e3f/go.mod h1:XFGDn4oSZX26zkcfhkM/fCJrOqwQJxk/xgWW1KMJBKM=
 github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
 github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
diff --git a/protocol/dubbo/codec.go b/protocol/dubbo/codec.go
index a20fcfa..e26db06 100644
--- a/protocol/dubbo/codec.go
+++ b/protocol/dubbo/codec.go
@@ -74,7 +74,7 @@ func (p *DubboPackage) Marshal() (*bytes.Buffer, error) {
 }
 
 func (p *DubboPackage) Unmarshal(buf *bytes.Buffer, opts ...interface{}) error {
-	codec := hessian.NewHessianCodec(bufio.NewReader(buf))
+	codec := hessian.NewHessianCodec(bufio.NewReaderSize(buf, buf.Len()))
 
 	// read header
 	err := codec.ReadHeader(&p.Header)
diff --git a/protocol/dubbo/listener.go b/protocol/dubbo/listener.go
index 84be581..9e99bcb 100644
--- a/protocol/dubbo/listener.go
+++ b/protocol/dubbo/listener.go
@@ -22,16 +22,20 @@ import (
 	"reflect"
 	"sync"
 	"time"
+)
 
+import (
 	"github.com/dubbogo/getty"
+	"github.com/dubbogo/hessian2"
+	perrors "github.com/pkg/errors"
+)
 
+import (
 	"github.com/apache/dubbo-go/common"
 	"github.com/apache/dubbo-go/common/constant"
 	"github.com/apache/dubbo-go/common/logger"
 	"github.com/apache/dubbo-go/protocol"
 	"github.com/apache/dubbo-go/protocol/invocation"
-	hessian "github.com/dubbogo/hessian2"
-	perrors "github.com/pkg/errors"
 )
 
 // todo: WritePkg_Timeout will entry *.yml
@@ -323,7 +327,7 @@ func (h *RpcServerHandler) callService(req *DubboPackage, ctx context.Context) {
 	}
 	if retErr != nil {
 		req.Header.ResponseStatus = hessian.Response_OK
-		req.Body = perrors.WithStack(retErr.(error))
+		req.Body = retErr
 	} else {
 		req.Body = replyv.Interface()
 	}
diff --git a/registry/zookeeper/registry.go b/registry/zookeeper/registry.go
index fbcc9e4..5302c84 100644
--- a/registry/zookeeper/registry.go
+++ b/registry/zookeeper/registry.go
@@ -29,7 +29,6 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go/common/logger"
 	perrors "github.com/pkg/errors"
 	"github.com/samuel/go-zookeeper/zk"
 )
@@ -38,6 +37,7 @@ import (
 	"github.com/apache/dubbo-go/common"
 	"github.com/apache/dubbo-go/common/constant"
 	"github.com/apache/dubbo-go/common/extension"
+	"github.com/apache/dubbo-go/common/logger"
 	"github.com/apache/dubbo-go/common/utils"
 	"github.com/apache/dubbo-go/registry"
 	"github.com/apache/dubbo-go/version"
diff --git a/registry/zookeeper/zk_client.go b/registry/zookeeper/zk_client.go
index a8b14bb..bd273ff 100644
--- a/registry/zookeeper/zk_client.go
+++ b/registry/zookeeper/zk_client.go
@@ -25,11 +25,14 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go/common/logger"
 	perrors "github.com/pkg/errors"
 	"github.com/samuel/go-zookeeper/zk"
 )
 
+import (
+	"github.com/apache/dubbo-go/common/logger"
+)
+
 var (
 	errNilZkClientConn = perrors.New("zookeeperclient{conn} is nil")
 )