This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi.git
commit 20dda05f2622fe9153c50989d36d7fa0268136e9 Author: Joe Witt <[email protected]> AuthorDate: Fri Mar 6 10:32:12 2020 -0500 NIFI-7232 if users do not supply a remote path PutSFTP with conflict resolution will fail with an NPE --- .../java/org/apache/nifi/processors/standard/PutFileTransfer.java | 5 +++-- .../java/org/apache/nifi/processors/standard/util/SFTPTransfer.java | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFileTransfer.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFileTransfer.java index 20e2c5a..3b9af1a 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFileTransfer.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFileTransfer.java @@ -39,6 +39,7 @@ import org.apache.nifi.processors.standard.util.FileInfo; import org.apache.nifi.processors.standard.util.FileTransfer; import org.apache.nifi.processors.standard.util.SFTPTransfer; import org.apache.nifi.util.StopWatch; +import org.apache.nifi.util.StringUtils; /** * Base class for PutFTP & PutSFTP @@ -102,8 +103,8 @@ public abstract class PutFileTransfer<T extends FileTransfer> extends AbstractPr do { final String rootPath = context.getProperty(FileTransfer.REMOTE_PATH).evaluateAttributeExpressions(flowFile).getValue(); final String workingDirPath; - if (rootPath == null) { - workingDirPath = null; + if (StringUtils.isBlank(rootPath)) { + workingDirPath = transfer.getHomeDirectory(flowFile); } else { workingDirPath = transfer.getAbsolutePath(flowFile, rootPath); } diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/SFTPTransfer.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/SFTPTransfer.java index 3a341bc..870867f 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/SFTPTransfer.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/SFTPTransfer.java @@ -631,6 +631,7 @@ public class SFTPTransfer implements FileTransfer { try { this.homeDir = sftpClient.canonicalize(""); } catch (IOException e) { + this.homeDir = ""; // For some combination of server configuration and user home directory, getHome() can fail with "2: File not found" // Since homeDir is only used tor SEND provenance event transit uri, this is harmless. Log and continue. logger.debug("Failed to retrieve {} home directory due to {}", new Object[]{username, e.getMessage()});
