log WARN for onScriptExecutionError to prevent silent ban (actually, system going to idle if the script is a part of a rule chain). restored TRACE level on fetchAndProcessResponses
This commit is contained in:
parent
c3aec4d077
commit
3c72d0d608
@ -121,13 +121,16 @@ public abstract class AbstractJsInvokeService implements JsInvokeService {
|
|||||||
protected abstract long getMaxBlacklistDuration();
|
protected abstract long getMaxBlacklistDuration();
|
||||||
|
|
||||||
protected void onScriptExecutionError(UUID scriptId, Throwable t) {
|
protected void onScriptExecutionError(UUID scriptId, Throwable t) {
|
||||||
if (t instanceof TimeoutException || (t.getCause() != null && t.getCause() instanceof TimeoutException)) {
|
DisableListInfo disableListInfo = disabledFunctions.computeIfAbsent(scriptId, key -> new DisableListInfo());
|
||||||
log.warn("Script has TimeoutException and will increment counter {} on disabledFunctions for id {}", //TODO remove after test
|
log.warn("Script has exception and will increment counter {} on disabledFunctions for id {}, exception {}, cause {}",
|
||||||
disabledFunctions.computeIfAbsent(scriptId, key -> new DisableListInfo()).get(),
|
disableListInfo.get(), scriptId, t.getClass(), t.getCause());
|
||||||
scriptId);
|
// if (t instanceof TimeoutException || (t.getCause() != null && t.getCause() instanceof TimeoutException)) {
|
||||||
//return; //timeout is not a good reason to disable function
|
// log.warn("Script has TimeoutException and will increment counter {} on disabledFunctions for id {}", //TODO remove after test
|
||||||
}
|
// disableListInfo.get(),
|
||||||
disabledFunctions.computeIfAbsent(scriptId, key -> new DisableListInfo()).incrementAndGet();
|
// scriptId);
|
||||||
|
// //return; //timeout is not a good reason to disable function
|
||||||
|
// }
|
||||||
|
disableListInfo.incrementAndGet();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String generateJsScript(JsScriptType scriptType, String functionName, String scriptBody, String... argNames) {
|
private String generateJsScript(JsScriptType scriptType, String functionName, String scriptBody, String... argNames) {
|
||||||
|
|||||||
@ -109,11 +109,9 @@ public class DefaultTbQueueRequestTemplate<Request extends TbQueueMsg, Response
|
|||||||
|
|
||||||
void fetchAndProcessResponses() {
|
void fetchAndProcessResponses() {
|
||||||
final long pendingRequestsCount = pendingRequests.mappingCount();
|
final long pendingRequestsCount = pendingRequests.mappingCount();
|
||||||
log.info("Starting template pool topic {}, for pendingRequests {}", responseTemplate.getTopic(), pendingRequestsCount);
|
log.trace("Starting template pool topic {}, for pendingRequests {}", responseTemplate.getTopic(), pendingRequestsCount);
|
||||||
List<Response> responses = doPoll(); //poll js responses
|
List<Response> responses = doPoll(); //poll js responses
|
||||||
//if (responses.size() > 0) {
|
log.trace("Completed template poll topic {}, for pendingRequests [{}], received [{}] responses", responseTemplate.getTopic(), pendingRequestsCount, responses.size());
|
||||||
log.info("Completed template poll topic {}, for pendingRequests [{}], received [{}]", responseTemplate.getTopic(), pendingRequestsCount, responses.size()); //TODO reduce verbose after test
|
|
||||||
//}
|
|
||||||
responses.forEach(this::processResponse); //this can take a long time
|
responses.forEach(this::processResponse); //this can take a long time
|
||||||
responseTemplate.commit();
|
responseTemplate.commit();
|
||||||
tryCleanStaleRequests();
|
tryCleanStaleRequests();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user