This is an automated email from the ASF dual-hosted git repository.
kerwin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new c78fd24 bug about dolphinscheduler-remote SendAsync (#6972)
c78fd24 is described below
commit c78fd2477633f31f60720cd3477dda4a9f2c7ef8
Author: lyq <[email protected]>
AuthorDate: Wed Nov 24 09:53:22 2021 +0800
bug about dolphinscheduler-remote SendAsync (#6972)
* bug about SendAsync
---
.../org/apache/dolphinscheduler/remote/future/ResponseFuture.java | 4 ++++
.../apache/dolphinscheduler/remote/handler/NettyClientHandler.java | 1 +
2 files changed, 5 insertions(+)
diff --git
a/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/future/ResponseFuture.java
b/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/future/ResponseFuture.java
index f9de653..5e5462c 100644
---
a/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/future/ResponseFuture.java
+++
b/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/future/ResponseFuture.java
@@ -105,6 +105,10 @@ public class ResponseFuture {
return FUTURE_TABLE.get(opaque);
}
+ public void removeFuture() {
+ FUTURE_TABLE.remove(opaque);
+ }
+
/**
* whether timeout
*
diff --git
a/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/handler/NettyClientHandler.java
b/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/handler/NettyClientHandler.java
index e122df4..ad9787d 100644
---
a/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/handler/NettyClientHandler.java
+++
b/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/handler/NettyClientHandler.java
@@ -136,6 +136,7 @@ public class NettyClientHandler extends
ChannelInboundHandlerAdapter {
future.setResponseCommand(command);
future.release();
if (future.getInvokeCallback() != null) {
+ future.removeFuture();
this.callbackExecutor.submit(future::executeInvokeCallback);
} else {
future.putResponse(command);