Users no longer informed when an ID task cannot complete because there was no possible data to match against
Expected Behavior Users used to get this message in iaResults.jsp when a match-against set was specified for which there were no other annotations to truly match against:
'No data to match against, please refine your matching parameters."
This stopped a lot of support issues because without this message, users get a long wait followed by an unspecified error message.
This is the code that should be activated in iaResults.jsp.
if (mostRecentObj.status && mostRecentObj.status.error && mostRecentObj.status.error.emptyTargetAnnotations) { errorMsg = 'No data to match against, please refine your matching parameters.'; }
Current Behavior Currently users are seeing:
Testing Notes This is a great Encounter to test with as there are no other Encounters at this locationID, recreating the issue: https://giraffespotter.org/encounters/encounter.jsp?number=679e9b88-5b35-4264-8f49-5bf48d5a0115
this is failing due to changes from requeuing i believe. the log is showing a sub-task failing (due to no matching annots), but the parent task is instead requeued. it should give up on this type of exception.
WARNING: bailing on empty target list
identRtn contains ========> {"status":{"emptyTargetAnnotations":true,"message":"rejected","error":"Empty target annotation list"}}
beginIdentifyAnnotations() was unsuccessful due to {"emptyTargetAnnotations":true,"message":"rejected","error":"Empty target annotation list"}; hopefully we requeue
subTask failure on org.ecocean.ia.Task@4fc9326e[a2196255-9d50-4e7c-b53c-cec72a388b26,(2024-05-03T18:41:27.556Z|2024-05-03T18:41:27.556Z),0Kids,0MA,1Ann,params={"ibeis.identification":{"query_config_dict":{"sv_on":true},"queryConfigDict":{"sv_on":true},"description":"HotSpotter pattern-matcher"},"matchingSetFilter":{"locationIds":["Astra Ranch"]},"matchingAlgorithms":[],"userId":"97e8b575-6deb-40c7-9149-9d8c88e6a43e","fastlane":true,"username":"admin"}]: java.io.IOException: java.io.IOException: beginIdentifyAnnotations() failed due to {"emptyTargetAnnotations":true,"message":"rejected","error":"Empty target annotation list"}
>>>>>>> parentTask: org.ecocean.ia.Task@4fc9326e[a2196255-9d50-4e7c-b53c-cec72a388b26,(2024-05-03T18:41:27.556Z|2024-05-03T18:41:27.556Z),0Kids,0MA,1Ann,params={"ibeis.identification":{"query_config_dict":{"sv_on":true},"queryConfigDict":{"sv_on":true},"description":"HotSpotter pattern-matcher"},"matchingSetFilter":{"locationIds":["Astra Ranch"]},"matchingAlgorithms":[],"userId":"97e8b575-6deb-40c7-9149-9d8c88e6a43e","fastlane":true,"username":"admin"}]
requeueJob(): attempting to requeue taskId=a2196255-9d50-4e7c-b53c-cec72a388b26 for retry 0 out of 30 (actualRetries=0; start=1714761692362; elapsed=0; increment=true)
subTask[0] => {"success":false,"error":"java.io.IOException: java.io.IOException: beginIdentifyAnnotations() failed due to {\"emptyTargetAnnotations\":true,\"message\":\"rejected\",\"error\":\"Empty target annotation list\"}","subTaskId":"a2196255-9d50-4e7c-b53c-cec72a388b26","subTaskIndex":0}
INFO: IAGateway.processQueueMessage() 'identify' from successful --> {"success":true,"taskId":"a2196255-9d50-4e7c-b53c-cec72a388b26","tasks":[{"success":false,"error":"java.io.IOException: java.io.IOException: beginIdentifyAnnotations() failed due to {\"emptyTargetAnnotations\":true,\"message\":\"rejected\",\"error\":\"Empty target annotation list\"}","subTaskId":"a2196255-9d50-4e7c-b53c-cec72a388b26","subTaskIndex":0}]}
closed with #669