Преглед изворни кода

If close() fails, then abandon the file, so that any leases are
cleared and other task may attempt to create it.


git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@390717 13f79535-47bb-0310-9956-ffa450edef68

Doug Cutting пре 19 година
родитељ
комит
09d93f190f
1 измењених фајлова са 6 додато и 1 уклоњено
  1. 6 1
      src/java/org/apache/hadoop/dfs/DFSClient.java

+ 6 - 1
src/java/org/apache/hadoop/dfs/DFSClient.java

@@ -809,7 +809,12 @@ class DFSClient implements FSConstants {
 
 
             flush();
             flush();
             if (filePos == 0 || bytesWrittenToBlock != 0) {
             if (filePos == 0 || bytesWrittenToBlock != 0) {
-              endBlock();
+              try {
+                endBlock();
+              } catch (IOException e) {
+                namenode.abandonFileInProgress(src.toString());
+                throw e;
+              }
             }
             }
 
 
             backupStream.close();
             backupStream.close();