Browse Source

HADOOP-882. Upgrade to jets3t vesion 0.5, used by the S3 FileSystem. Contributed by Michael Stack.

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@505488 13f79535-47bb-0310-9956-ffa450edef68
Doug Cutting 18 years ago
parent
commit
177cbed9f3

+ 3 - 0
CHANGES.txt

@@ -23,6 +23,9 @@ Trunk (unreleased changes)
     The set is no longer reset with each block, but rather is now
     maintained for the life of an open file.  (Raghu Angadi via cutting)
 
+ 7. HADOOP-882.  Upgrade to jets3t version 0.5, used by the S3
+    FileSystem.  This version supports retries.  (Michael Stack via cutting)
+
 
 Branch 0.11 - unreleased
 

+ 16 - 0
conf/hadoop-default.xml

@@ -355,6 +355,22 @@ creations/deletions), or "all".</description>
   </description>
 </property>
 
+<property>
+  <name>fs.s3.block.size</name>
+  <value>1048576</value>
+  <description>
+        Block size to use writing S3.  Note, the default block size for jets3t,
+        the library at the base of the S3 filesystem, is less.  Its 131072.
+        If S3 is having a bad day requiring retries, if the retry is at some
+        point after the end of jets3t RepeatableInputStream buffer and end of
+        the S3 block, the transfer will fail. To change the jets3t block size,
+        add a jets3t.properties file to $HADOOP_HOME/conf so it can be found
+        on the CLASSPATH and amend the 's3service.stream-retry-buffer-size'
+        property. See http://jets3t.s3.amazonaws.com/toolkit/configuration.html
+        for more on jets3t configurables.
+  </description>
+</property>
+
 <!-- map/reduce properties -->
 
 <property>

BIN
lib/jets3t-0.5.0.jar


BIN
lib/jets3t.jar


+ 2 - 2
src/java/org/apache/hadoop/fs/s3/Jets3tFileSystemStore.java

@@ -133,7 +133,7 @@ class Jets3tFileSystemStore implements FileSystemStore {
       S3Object object = s3Service.getObject(bucket, key);
       return object.getDataInputStream();
     } catch (S3ServiceException e) {
-      if (e.getErrorCode().equals("NoSuchKey")) {
+      if (e.getS3ErrorCode().equals("NoSuchKey")) {
         return null;
       }
       if (e.getCause() instanceof IOException) {
@@ -149,7 +149,7 @@ class Jets3tFileSystemStore implements FileSystemStore {
           null, byteRangeStart, null);
       return object.getDataInputStream();
     } catch (S3ServiceException e) {
-      if (e.getErrorCode().equals("NoSuchKey")) {
+      if (e.getS3ErrorCode().equals("NoSuchKey")) {
         return null;
       }
       if (e.getCause() instanceof IOException) {