Failed multi-source transfers not transitioned to failed state
Motivation
----------

this condition is incomplete https://github.com/rucio/rucio/blob/5804712c7eb187ffb1fcfc3bbf49d89c02c0aeff/lib/rucio/transfertool/fts3.py#L576



diff --git a/lib/rucio/transfertool/fts3.py b/lib/rucio/transfertool/fts3.py
index 1f60a9989..77eeb8e41 100644
--- a/lib/rucio/transfertool/fts3.py
+++ b/lib/rucio/transfertool/fts3.py
@@ -573,7 +573,8 @@ class FTS3ApiTransferStatusReport(Fts3TransferStatusReport):
         if file_state_is_final:
             if file_state == FTS_STATE.FINISHED:
                 new_state = RequestState.DONE
-            elif file_state == FTS_STATE.FAILED and not self._multi_sources:  # for multi-source transfers we must wait for the job to be in a final state
+            elif file_state == FTS_STATE.FAILED and job_state == FTS_STATE.FAILED or \\
+                    file_state == FTS_STATE.FAILED and not self._multi_sources:  # for multi-source transfers we must wait for the job to be in a final state
                 if self._is_recoverable_fts_overwrite_error(self.request(session), reason, self._file_metadata):
                     new_state = RequestState.DONE
                 else:
['lib/rucio/transfertool/fts3.py']