private void markJobTimedOut(UUID jobId) {
    try {
      store.markJobAsTimedOut(jobId);
      store.addFailureReasonToJob(jobId, FailureReasons.CREDS_TIMEOUT.toString());
    } catch (IOException e) {
      // Suppress exception so we still pass out the original exception
      monitor.severe(
          () ->
              format(
                  "IOException while marking job as timed out. JobId: %s",
                  jobId), e);
    }
  }
A service that polls storage for a job to process in two steps: <br> (1) find an unassigned job
for this transfer worker <br> (2) wait until the job is ready to process (i.e. creds are
available)
portability-transfer/src/main/java/org/datatransferproject/transfer/JobPollingService.java