Merge branch 'RED-10353-4.3' into 'release/4.423.x'

RED-10353: Fixed missing errorCode when rules are locked

See merge request redactmanager/redaction-service!551
This commit is contained in:
Dominique Eifländer 2024-11-11 11:15:56 +01:00
commit de76cb96f9

View File

@ -8,6 +8,7 @@ import static java.lang.String.format;
import java.io.IOException; import java.io.IOException;
import java.time.OffsetDateTime; import java.time.OffsetDateTime;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.concurrent.CompletionException;
import org.springframework.amqp.AmqpRejectAndDontRequeueException; import org.springframework.amqp.AmqpRejectAndDontRequeueException;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
@ -171,12 +172,10 @@ public class RedactionMessageReceiver {
ErrorCode errorCode = null; ErrorCode errorCode = null;
if(e instanceof DroolsTimeoutException dre){ if(e instanceof CompletionException ce){
if (!dre.isReported()){ errorCode = computeErrorCodeFromDroolsTimeoutException(ce.getCause());
errorCode = ErrorCode.RULES_EXECUTION_TIMEOUT; } else {
} else { errorCode = computeErrorCodeFromDroolsTimeoutException(e);
errorCode = ErrorCode.LOCKED_RULES;
}
} }
fileStatusProcessingUpdateClient.analysisFailed(analyzeRequest.getDossierId(), fileStatusProcessingUpdateClient.analysisFailed(analyzeRequest.getDossierId(),
@ -187,6 +186,18 @@ public class RedactionMessageReceiver {
errorCode)); errorCode));
} }
private ErrorCode computeErrorCodeFromDroolsTimeoutException(Throwable e){
ErrorCode errorCode = null;
if(e instanceof DroolsTimeoutException dre){
if (!dre.isReported()){
errorCode = ErrorCode.RULES_EXECUTION_TIMEOUT;
} else {
errorCode = ErrorCode.LOCKED_RULES;
}
}
return errorCode;
}
@RabbitHandler @RabbitHandler
@RabbitListener(queues = REDACTION_DLQ) @RabbitListener(queues = REDACTION_DLQ)