diff --git a/src/DIRAC/RequestManagementSystem/Client/ReqClient.py b/src/DIRAC/RequestManagementSystem/Client/ReqClient.py index f0a1c55a970..bb9f64e9d9c 100755 --- a/src/DIRAC/RequestManagementSystem/Client/ReqClient.py +++ b/src/DIRAC/RequestManagementSystem/Client/ReqClient.py @@ -258,7 +258,7 @@ def getRequestStatus(self, requestID): self.log.debug("getRequestStatus: attempting to get status for '%d' request." % requestID) requestStatus = self._getRPC().getRequestStatus(requestID) if not requestStatus["OK"]: - self.log.error( + self.log.verbose( "getRequestStatus: unable to get status for request", ": '%d' %s" % (requestID, requestStatus["Message"]), ) diff --git a/src/DIRAC/TransformationSystem/Client/RequestTasks.py b/src/DIRAC/TransformationSystem/Client/RequestTasks.py index 858994d95f8..762b85d9d06 100644 --- a/src/DIRAC/TransformationSystem/Client/RequestTasks.py +++ b/src/DIRAC/TransformationSystem/Client/RequestTasks.py @@ -395,10 +395,19 @@ def getSubmittedFileStatus(self, fileDicts): transID=transID, method="getSubmittedFileStatus", ) - else: - for lfn, newStatus in statusDict["Value"].items(): - if newStatus == "Done": - updateDict[lfn] = TransformationFilesStatus.PROCESSED - elif newStatus == "Failed": - updateDict[lfn] = TransformationFilesStatus.PROBLEMATIC + continue + + # If we are here, it means the Request is in a final state. + # In principle, you could expect everyfile also be in a final state + # but this is only true for simple Request. + # Hence, the file is marked as PROCESSED only if the file status is Done + # In any other case, we mark it problematic + # This is dangerous though, as complex request may not be re-entrant + # We would need a way to make sure it is safe to do so. + # See https://github.com/DIRACGrid/DIRAC/issues/7116 for more details + for lfn, newStatus in statusDict["Value"].items(): + if newStatus == "Done": + updateDict[lfn] = TransformationFilesStatus.PROCESSED + else: + updateDict[lfn] = TransformationFilesStatus.PROBLEMATIC return S_OK(updateDict)