Browse Source
Merge pull request #10111 from YevhenBondarenko/fix/infinite-reprocessing
fixed infinit tell failure
pull/10147/head
Andrew Shvayka
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with
11 additions and
1 deletions
-
application/src/main/java/org/thingsboard/server/service/queue/processing/AbstractTbRuleEngineSubmitStrategy.java
|
|
|
@ -15,6 +15,7 @@ |
|
|
|
*/ |
|
|
|
package org.thingsboard.server.service.queue.processing; |
|
|
|
|
|
|
|
import org.thingsboard.server.common.data.StringUtils; |
|
|
|
import org.thingsboard.server.gen.transport.TransportProtos; |
|
|
|
import org.thingsboard.server.queue.common.TbProtoQueueMsg; |
|
|
|
|
|
|
|
@ -51,7 +52,16 @@ public abstract class AbstractTbRuleEngineSubmitStrategy implements TbRuleEngine |
|
|
|
List<IdMsgPair<TransportProtos.ToRuleEngineMsg>> newOrderedMsgList = new ArrayList<>(reprocessMap.size()); |
|
|
|
for (IdMsgPair<TransportProtos.ToRuleEngineMsg> pair : orderedMsgList) { |
|
|
|
if (reprocessMap.containsKey(pair.uuid)) { |
|
|
|
newOrderedMsgList.add(pair); |
|
|
|
if (StringUtils.isNotEmpty(pair.getMsg().getValue().getFailureMessage())) { |
|
|
|
var toRuleEngineMsg = TransportProtos.ToRuleEngineMsg.newBuilder(pair.getMsg().getValue()) |
|
|
|
.clearFailureMessage() |
|
|
|
.clearRelationTypes() |
|
|
|
.build(); |
|
|
|
var newMsg = new TbProtoQueueMsg<>(pair.getMsg().getKey(), toRuleEngineMsg, pair.getMsg().getHeaders()); |
|
|
|
newOrderedMsgList.add(new IdMsgPair<>(pair.getUuid(), newMsg)); |
|
|
|
} else { |
|
|
|
newOrderedMsgList.add(pair); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
orderedMsgList = newOrderedMsgList; |
|
|
|
|