diff --git a/seatunnel-connectors-v2/connector-file/connector-file-sftp/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/sftp/system/SFTPFileSystem.java b/seatunnel-connectors-v2/connector-file/connector-file-sftp/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/sftp/system/SFTPFileSystem.java index 99bf4177639..13dce746ec2 100644 --- a/seatunnel-connectors-v2/connector-file/connector-file-sftp/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/sftp/system/SFTPFileSystem.java +++ b/seatunnel-connectors-v2/connector-file/connector-file-sftp/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/sftp/system/SFTPFileSystem.java @@ -83,6 +83,8 @@ public class SFTPFileSystem extends FileSystem { public static final String E_FAILED_GETHOME = "Failed to get home directory"; public static final String E_FAILED_DISCONNECT = "Failed to disconnect"; + public Path workDir; + private void setConfigurationFromURI(URI uriInfo, Configuration conf) throws IOException { // get host information from URI @@ -607,7 +609,10 @@ public void setWorkingDirectory(Path newDir) { @Override public Path getWorkingDirectory() { // Return home directory always since we do not maintain state. - return getHomeDirectory(); + if (workDir == null) { + workDir = getHomeDirectory(); + } + return workDir; } @Override