From 8fdb8e91377ad2c8056967bb7e57626e3a34d5ec Mon Sep 17 00:00:00 2001 From: LSmyrnaios Date: Wed, 13 Sep 2023 16:35:41 +0300 Subject: [PATCH] Add renaming of the workerReport-file, to indicate failure, when the processing failed because no workerInfo was found for the worker-id existing in the report. This way, it can be retried by the scheduler later. --- .../eu/openaire/urls_controller/services/UrlsServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/eu/openaire/urls_controller/services/UrlsServiceImpl.java b/src/main/java/eu/openaire/urls_controller/services/UrlsServiceImpl.java index b5844db..813e10e 100644 --- a/src/main/java/eu/openaire/urls_controller/services/UrlsServiceImpl.java +++ b/src/main/java/eu/openaire/urls_controller/services/UrlsServiceImpl.java @@ -288,6 +288,9 @@ public class UrlsServiceImpl implements UrlsService { FileUtils.UploadFullTextsResponse uploadFullTextsResponse = fileUtils.getAndUploadFullTexts(urlReports, sizeOfUrlReports, curReportAssignmentsCounter, curWorkerId); if ( uploadFullTextsResponse == null ) { // Nothing to post to the Worker, since we do not have the worker's info. + // Rename the worker-report-file to indicate its "failure", so that the scheduler can pick it up and retry processing it. + String workerReportBaseName = this.workerReportsDirPath + File.separator + curWorkerId + File.separator + curWorkerId + "_assignments_" + curReportAssignmentsCounter + "_report"; + getRenamedWorkerReport(workerReportBaseName, new File(workerReportBaseName + ".json"), "No info was found for worker: " + curWorkerId); // It may return null. return false; } else if ( uploadFullTextsResponse == FileUtils.UploadFullTextsResponse.databaseError ) { postReportResultToWorker(curWorkerId, curReportAssignmentsCounter, "Problem with the Impala-database!");