Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
pentaLiker
DolphinScheduler
提交
246332b0
DolphinScheduler
项目概览
pentaLiker
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
246332b0
编写于
1月 26, 2021
作者:
C
CalvinKirs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix bug
上级
a63c2c6c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
28 addition
and
8 deletion
+28
-8
dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/serialize/ProtoStuffUtils.java
...he/dolphinscheduler/remote/serialize/ProtoStuffUtils.java
+3
-0
dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/rpc/future/RpcFuture.java
...ava/org/apache/dolphinscheduler/rpc/future/RpcFuture.java
+19
-2
dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/rpc/remote/NettyClient.java
...a/org/apache/dolphinscheduler/rpc/remote/NettyClient.java
+6
-6
未找到文件。
dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/serialize/ProtoStuffUtils.java
浏览文件 @
246332b0
...
...
@@ -62,6 +62,9 @@ public class ProtoStuffUtils {
public
static
<
T
>
T
deserialize
(
byte
[]
bytes
,
Class
<
T
>
clazz
)
{
Schema
<
T
>
schema
=
getSchema
(
clazz
);
T
obj
=
schema
.
newMessage
();
if
(
null
==
obj
){
return
null
;
}
ProtostuffIOUtil
.
mergeFrom
(
bytes
,
obj
,
schema
);
return
obj
;
}
...
...
dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/rpc/future/RpcFuture.java
浏览文件 @
246332b0
...
...
@@ -17,6 +17,7 @@
package
org.apache.dolphinscheduler.rpc.future
;
import
org.apache.dolphinscheduler.rpc.common.RpcRequest
;
import
org.apache.dolphinscheduler.rpc.common.RpcResponse
;
import
java.util.concurrent.CountDownLatch
;
...
...
@@ -34,6 +35,12 @@ public class RpcFuture implements Future<Object> {
private
RpcResponse
response
;
private
RpcRequest
request
;
public
RpcFuture
(
RpcRequest
rpcRequest
)
{
this
.
request
=
rpcRequest
;
}
@Override
public
boolean
cancel
(
boolean
mayInterruptIfRunning
)
{
return
false
;
...
...
@@ -51,13 +58,23 @@ public class RpcFuture implements Future<Object> {
@Override
public
RpcResponse
get
()
throws
InterruptedException
,
ExecutionException
{
latch
.
await
(
5
,
TimeUnit
.
SECONDS
);
boolean
success
=
latch
.
await
(
5
,
TimeUnit
.
SECONDS
);
if
(!
success
)
{
throw
new
RuntimeException
(
"Timeout exception. Request id: "
+
this
.
request
.
getRequestId
()
+
". Request class name: "
+
this
.
request
.
getClassName
()
+
". Request method: "
+
this
.
request
.
getMethodName
());
}
return
response
;
}
@Override
public
RpcResponse
get
(
long
timeout
,
TimeUnit
unit
)
throws
InterruptedException
,
ExecutionException
,
TimeoutException
{
latch
.
await
(
timeout
,
unit
);
boolean
success
=
latch
.
await
(
timeout
,
unit
);
if
(!
success
)
{
throw
new
RuntimeException
(
"Timeout exception. Request id: "
+
this
.
request
.
getRequestId
()
+
". Request class name: "
+
this
.
request
.
getClassName
()
+
". Request method: "
+
this
.
request
.
getMethodName
());
}
return
response
;
}
...
...
dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/rpc/remote/NettyClient.java
浏览文件 @
246332b0
...
...
@@ -18,16 +18,16 @@
package
org.apache.dolphinscheduler.rpc.remote
;
import
org.apache.dolphinscheduler.remote.config.NettyClientConfig
;
import
org.apache.dolphinscheduler.rpc.codec.NettyDecoder
;
import
org.apache.dolphinscheduler.rpc.codec.NettyEncoder
;
import
org.apache.dolphinscheduler.remote.utils.Constants
;
import
org.apache.dolphinscheduler.remote.utils.Host
;
import
org.apache.dolphinscheduler.remote.utils.NettyUtils
;
import
org.apache.dolphinscheduler.rpc.client.RpcRequestCache
;
import
org.apache.dolphinscheduler.rpc.client.RpcRequestTable
;
import
org.apache.dolphinscheduler.rpc.codec.NettyDecoder
;
import
org.apache.dolphinscheduler.rpc.codec.NettyEncoder
;
import
org.apache.dolphinscheduler.rpc.common.RpcRequest
;
import
org.apache.dolphinscheduler.rpc.common.RpcResponse
;
import
org.apache.dolphinscheduler.rpc.future.RpcFuture
;
import
org.apache.dolphinscheduler.remote.utils.Constants
;
import
org.apache.dolphinscheduler.remote.utils.Host
;
import
org.apache.dolphinscheduler.remote.utils.NettyUtils
;
import
java.net.InetSocketAddress
;
import
java.util.concurrent.ConcurrentHashMap
;
...
...
@@ -200,7 +200,7 @@ public class NettyClient {
rpcRequestCache
.
setServiceName
(
serviceName
);
RpcFuture
future
=
null
;
if
(!
async
)
{
future
=
new
RpcFuture
();
future
=
new
RpcFuture
(
request
);
rpcRequestCache
.
setRpcFuture
(
future
);
}
RpcRequestTable
.
put
(
request
.
getRequestId
(),
rpcRequestCache
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录