lib/src/main/java/edu/utexas/tacc/tapis/files/lib/services/ChildTaskTransferService.java
private Mono<TransferTaskChild> doErrorChevronOne(AcknowledgableDelivery message, Throwable cause, TransferTaskChild child) {
        message.nack(false);
        log.error(Utils.getMsg("FILES_TXFR_SVC_ERR10", child.toString()));

        // Child First
        child.setStatus(TransferTaskStatus.FAILED);
        child.setErrorMessage(cause.getMessage());
        //TODO: Fix this for the "optional" flag
        try {

            child = dao.updateTransferTaskChild(child);
            //Now parent
            TransferTaskParent parent = dao.getTransferTaskParentById(child.getParentTaskId());
            parent.setStatus(TransferTaskStatus.FAILED);
            parent.setEndTime(Instant.now());
            parent.setErrorMessage(cause.getMessage());
            dao.updateTransferTaskParent(parent);

            //Finally the top level task
            TransferTask topTask = dao.getTransferTaskByID(child.getTaskId());
            topTask.setStatus(TransferTaskStatus.FAILED);
            topTask.setErrorMessage(cause.getMessage());
            dao.updateTransferTask(topTask);
        } catch (DAOException ex) {
            log.error(Utils.getMsg("FILES_TXFR_SVC_ERR1", child.getTenantId(), child.getUsername(),
                "doErrorChevronOne", child.getId(), child.getUuid(), ex.getMessage()), ex);
        }
        //either way, the task is set to be FAILED here, so subsequest
        return Mono.just(child);
    }
/**
     * Error handler for any of the steps.
     *
     * @param message Message from rabbitmq
     * @param cause   Exception that was thrown
     * @param child   the Child task that failed
     * @return Mono with the updated TransferTaskChild
     */
Error handler for any of the steps.
@param message Message from rabbitmq
@param cause   Exception that was thrown
@param child   the Child task that failed
@return Mono with the updated TransferTaskChild
Error handler for any of the steps . @param message Message from rabbitmq @param cause Exception that was thrown @param child the Child task that failed @return Mono with the updated TransferTaskChild
private Mono<TransferTaskChild> doErrorChevronOne(AcknowledgableDelivery message, Throwable cause, TransferTaskChild child) {
        message.nack(false);
        log.error(Utils.getMsg("FILES_TXFR_SVC_ERR10", child.toString()));
        child.setStatus(TransferTaskStatus.FAILED);
        child.setErrorMessage(cause.getMessage());
        try {
            child = dao.updateTransferTaskChild(child);
            TransferTaskParent parent = dao.getTransferTaskParentById(child.getParentTaskId());
            parent.setStatus(TransferTaskStatus.FAILED);
            parent.setEndTime(Instant.now());
            parent.setErrorMessage(cause.getMessage());
            dao.updateTransferTaskParent(parent);
            TransferTask topTask = dao.getTransferTaskByID(child.getTaskId());
            topTask.setStatus(TransferTaskStatus.FAILED);
            topTask.setErrorMessage(cause.getMessage());
            dao.updateTransferTask(topTask);
        } catch (DAOException ex) {
            log.error(Utils.getMsg("FILES_TXFR_SVC_ERR1", child.getTenantId(), child.getUsername(),
                "doErrorChevronOne", child.getId(), child.getUuid(), ex.getMessage()), ex);
        }
        return Mono.just(child);
    }
private Mono < TransferTaskChild > doErrorChevronOne ( AcknowledgableDelivery message , Throwable cause , TransferTaskChild child ) { message . nack ( false ) ; log . error ( Utils . getMsg ( "FILES_TXFR_SVC_ERR10" , child . toString ( ) ) ) ; child . setStatus ( TransferTaskStatus . FAILED ) ; child . setErrorMessage ( cause . getMessage ( ) ) ; try { child = dao . updateTransferTaskChild ( child ) ; TransferTaskParent parent = dao . getTransferTaskParentById ( child . getParentTaskId ( ) ) ; parent . setStatus ( TransferTaskStatus . FAILED ) ; parent . setEndTime ( Instant . now ( ) ) ; parent . setErrorMessage ( cause . getMessage ( ) ) ; dao . updateTransferTaskParent ( parent ) ; TransferTask topTask = dao . getTransferTaskByID ( child . getTaskId ( ) ) ; topTask . setStatus ( TransferTaskStatus . FAILED ) ; topTask . setErrorMessage ( cause . getMessage ( ) ) ; dao . updateTransferTask ( topTask ) ; } catch ( DAOException ex ) { log . error ( Utils . getMsg ( "FILES_TXFR_SVC_ERR1" , child . getTenantId ( ) , child . getUsername ( ) , "doErrorChevronOne" , child . getId ( ) , child . getUuid ( ) , ex . getMessage ( ) ) , ex ) ; } return Mono . just ( child ) ; }
Error handler for any of the steps.
Error handler for any of the steps .
// Child First //TODO: Fix this for the "optional" flag //Now parent //Finally the top level task //either way, the task is set to be FAILED here, so subsequest