Repository: apex-core
Updated Branches:
  refs/heads/master ffab17ac6 -> 05c798d5c


APEXCORE-590: Failed to restart application on MapR
 - Corrected FS path from URI format to FS


Project: http://git-wip-us.apache.org/repos/asf/apex-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/apex-core/commit/72d640e3
Tree: http://git-wip-us.apache.org/repos/asf/apex-core/tree/72d640e3
Diff: http://git-wip-us.apache.org/repos/asf/apex-core/diff/72d640e3

Branch: refs/heads/master
Commit: 72d640e341e9001043a537f830e6a43d40f1ea15
Parents: 3f06ce7
Author: Pradeep A. Dalvi <[email protected]>
Authored: Fri Dec 16 19:30:18 2016 +0530
Committer: Pradeep A. Dalvi <[email protected]>
Committed: Wed Jan 4 16:55:37 2017 +0530

----------------------------------------------------------------------
 .../main/java/com/datatorrent/stram/StramClient.java   | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/apex-core/blob/72d640e3/engine/src/main/java/com/datatorrent/stram/StramClient.java
----------------------------------------------------------------------
diff --git a/engine/src/main/java/com/datatorrent/stram/StramClient.java 
b/engine/src/main/java/com/datatorrent/stram/StramClient.java
index d6bcfb4..423af13 100644
--- a/engine/src/main/java/com/datatorrent/stram/StramClient.java
+++ b/engine/src/main/java/com/datatorrent/stram/StramClient.java
@@ -285,9 +285,20 @@ public class StramClient
 
     // copy sub directories that are not present in target
     FileStatus[] lFiles = fs.listStatus(origAppDir);
+
+    // In case of MapR/MapR-FS, f.getPath().toString() returns path as 
maprfs:///<orig app dir>
+    // whereas origAppDir.toString & newAppDir are in maprfs:/<orig or new app 
dir> format
+    // e.g.
+    // f.getPath().toString -> 
maprfs:///user/dtadmin/datatorrent/apps/application_1481890072066_0004/checkpoints
+    // origAppDir -> 
maprfs:/user/dtadmin/datatorrent/apps/application_1481890072066_0004
+    // newAppDir -> 
maprfs:/user/dtadmin/datatorrent/apps/application_1481890072066_0005
+
+    String origAppDirPath = 
Path.getPathWithoutSchemeAndAuthority(origAppDir).toString();
+    String newAppDirPath = Path.getPathWithoutSchemeAndAuthority(new 
Path(newAppDir)).toString();
+
     for (FileStatus f : lFiles) {
       if (f.isDirectory()) {
-        String targetPath = 
f.getPath().toString().replace(origAppDir.toString(), newAppDir);
+        String targetPath = f.getPath().toString().replace(origAppDirPath, 
newAppDirPath);
         if (!fs.exists(new Path(targetPath))) {
           LOG.debug("Copying {} to {}", f.getPath(), targetPath);
           FileUtil.copy(fs, f.getPath(), fs, new Path(targetPath), false, 
conf);

Reply via email to