Pārlūkot izejas kodu

HADOOP-11595. Add default implementation for AbstractFileSystem#truncate. (yliu)

yliu 10 gadi atpakaļ
vecāks
revīzija
64a8375635

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -970,6 +970,9 @@ Release 2.7.0 - UNRELEASED
     HADOOP-11545. ArrayIndexOutOfBoundsException is thrown with "hadoop
     credential list -provider". (Brahma Reddy Battula via aajisaka)
 
+    HADOOP-11595. Add default implementation for AbstractFileSystem#truncate.
+    (yliu)
+
 Release 2.6.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 5 - 2
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/AbstractFileSystem.java

@@ -642,9 +642,12 @@ public abstract class AbstractFileSystem {
    * {@link FileContext#truncate(Path, long)} except that Path f must be for
    * this file system.
    */
-  public abstract boolean truncate(Path f, long newLength)
+  public boolean truncate(Path f, long newLength)
       throws AccessControlException, FileNotFoundException,
-      UnresolvedLinkException, IOException;
+      UnresolvedLinkException, IOException {
+    throw new UnsupportedOperationException(getClass().getSimpleName()
+        + " doesn't support truncate");
+  }
 
   /**
    * The specification of this method matches that of

+ 0 - 6
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestAfsCheckPath.java

@@ -140,12 +140,6 @@ public class TestAfsCheckPath {
       return null;
     }
 
-    @Override
-    public boolean truncate(Path f, long newLength) throws IOException {
-      // deliberately empty
-      return false;
-    }
-
     @Override
     public void renameInternal(Path src, Path dst) throws IOException {
       // deliberately empty