Merge pull request #5659 from desoliture1/rpc_refactor
[3.3.3] Add rpc response error when retry attempts ended
This commit is contained in:
commit
316b8b1406
@ -596,6 +596,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor {
|
||||
ToDeviceRpcRequestMetadata md = toDeviceRpcPendingMap.get(responseMsg.getRequestId());
|
||||
|
||||
if (md != null) {
|
||||
JsonNode response = null;
|
||||
if (status.equals(RpcStatus.DELIVERED)) {
|
||||
if (md.getMsg().getMsg().isOneway()) {
|
||||
toDeviceRpcPendingMap.remove(responseMsg.getRequestId());
|
||||
@ -611,13 +612,14 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor {
|
||||
if (maxRpcRetries <= md.getRetries()) {
|
||||
toDeviceRpcPendingMap.remove(responseMsg.getRequestId());
|
||||
status = RpcStatus.FAILED;
|
||||
response = JacksonUtil.newObjectNode().put("error", "There was a Timeout and all retry attempts have been exhausted. Retry attempts set: " + maxRpcRetries);
|
||||
} else {
|
||||
md.setRetries(md.getRetries() + 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (md.getMsg().getMsg().isPersisted()) {
|
||||
systemContext.getTbRpcService().save(tenantId, new RpcId(rpcId), status, null);
|
||||
systemContext.getTbRpcService().save(tenantId, new RpcId(rpcId), status, response);
|
||||
}
|
||||
if (status != RpcStatus.SENT) {
|
||||
sendNextPendingRequest(context);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user