Skip to content
Snippets Groups Projects
Commit ed402110 authored by pantianying's avatar pantianying
Browse files

fix bug

parent 27b6ca47
No related branches found
No related tags found
No related merge requests found
...@@ -72,7 +72,7 @@ func (di *DubboInvoker) Invoke(ctx context.Context, invocation protocol.Invocati ...@@ -72,7 +72,7 @@ func (di *DubboInvoker) Invoke(ctx context.Context, invocation protocol.Invocati
err error err error
result protocol.RPCResult result protocol.RPCResult
) )
if di.reqNum == -1 { if di.reqNum < 0 {
// Generally, the case will not happen, because the invoker has been removed // Generally, the case will not happen, because the invoker has been removed
// from the invoker list before destroy,so no new request will enter the destroyed invoker // from the invoker list before destroy,so no new request will enter the destroyed invoker
logger.Warnf("this dubboInvoker is destroyed") logger.Warnf("this dubboInvoker is destroyed")
...@@ -127,13 +127,13 @@ func (di *DubboInvoker) Destroy() { ...@@ -127,13 +127,13 @@ func (di *DubboInvoker) Destroy() {
di.quitOnce.Do(func() { di.quitOnce.Do(func() {
for { for {
if di.reqNum == 0 { if di.reqNum == 0 {
di.reqNum = -1
logger.Info("dubboInvoker is destroyed,url:{%s}", di.GetUrl().Key()) logger.Info("dubboInvoker is destroyed,url:{%s}", di.GetUrl().Key())
di.BaseInvoker.Destroy() di.BaseInvoker.Destroy()
if di.client != nil { if di.client != nil {
di.client.Close() di.client.Close()
di.client = nil di.client = nil
} }
di.reqNum = -1
break break
} }
logger.Warnf("DubboInvoker is to be destroyed, wait {%v} req end,url:{%s}", di.reqNum, di.GetUrl().Key()) logger.Warnf("DubboInvoker is to be destroyed, wait {%v} req end,url:{%s}", di.reqNum, di.GetUrl().Key())
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment