hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sur...@apache.org
Subject svn commit: r812597 - in /hadoop/common/trunk: CHANGES.txt src/java/org/apache/hadoop/fs/FileSystem.java src/java/org/apache/hadoop/fs/FsServerDefaults.java
Date Tue, 08 Sep 2009 17:54:16 GMT
Author: suresh
Date: Tue Sep  8 17:54:16 2009
New Revision: 812597

URL: http://svn.apache.org/viewvc?rev=812597&view=rev
Log:
HADOOP-6235. Adds new method to FileSystem for clients to get server defaults. Contributed
by Kan Zhang.

Added:
    hadoop/common/trunk/src/java/org/apache/hadoop/fs/FsServerDefaults.java
Modified:
    hadoop/common/trunk/CHANGES.txt
    hadoop/common/trunk/src/java/org/apache/hadoop/fs/FileSystem.java

Modified: hadoop/common/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/CHANGES.txt?rev=812597&r1=812596&r2=812597&view=diff
==============================================================================
--- hadoop/common/trunk/CHANGES.txt (original)
+++ hadoop/common/trunk/CHANGES.txt Tue Sep  8 17:54:16 2009
@@ -178,6 +178,9 @@
     HADOOP-6105. Adds support for automatically handling deprecation of
     configuration keys. (V.V.Chaitanya Krishna via yhemanth)
     
+    HADOOP-6235. Adds new method to FileSystem for clients to get server
+    defaults. (Kan Zhang via suresh)
+
   IMPROVEMENTS
 
     HADOOP-4565. Added CombineFileInputFormat to use data locality information

Modified: hadoop/common/trunk/src/java/org/apache/hadoop/fs/FileSystem.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/fs/FileSystem.java?rev=812597&r1=812596&r2=812597&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/fs/FileSystem.java (original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/fs/FileSystem.java Tue Sep  8 17:54:16
2009
@@ -365,6 +365,20 @@
   }
   
   /**
+   * Return a set of server default configuration values
+   * @return server default configuration values
+   * @throws IOException
+   */
+  public FsServerDefaults getServerDefaults() throws IOException {
+    Configuration conf = getConf();
+    return new FsServerDefaults(getDefaultBlockSize(), 
+        conf.getInt("io.bytes.per.checksum", 512), 
+        64 * 1024, 
+        getDefaultReplication(), 
+        conf.getInt("io.file.buffer.size", 4096));
+  }
+
+  /**
    * Opens an FSDataInputStream at the indicated Path.
    * @param f the file name to open
    * @param bufferSize the size of the buffer to be used.

Added: hadoop/common/trunk/src/java/org/apache/hadoop/fs/FsServerDefaults.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/fs/FsServerDefaults.java?rev=812597&view=auto
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/fs/FsServerDefaults.java (added)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/fs/FsServerDefaults.java Tue Sep  8 17:54:16
2009
@@ -0,0 +1,98 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.fs;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.hadoop.io.Writable;
+import org.apache.hadoop.io.WritableFactories;
+import org.apache.hadoop.io.WritableFactory;
+
+/****************************************************
+ * Provides server default configuration values to clients.
+ * 
+ ****************************************************/
+public class FsServerDefaults implements Writable {
+
+  static { // register a ctor
+    WritableFactories.setFactory(FsServerDefaults.class, new WritableFactory() {
+      public Writable newInstance() {
+        return new FsServerDefaults();
+      }
+    });
+  }
+
+  private long blockSize;
+  private int bytesPerChecksum;
+  private int writePacketSize;
+  private short replication;
+  private int fileBufferSize;
+
+  public FsServerDefaults() {
+  }
+
+  public FsServerDefaults(long blockSize, int bytesPerChecksum,
+      int writePacketSize, short replication, int fileBufferSize) {
+    this.blockSize = blockSize;
+    this.bytesPerChecksum = bytesPerChecksum;
+    this.writePacketSize = writePacketSize;
+    this.replication = replication;
+    this.fileBufferSize = fileBufferSize;
+  }
+
+  public long getBlockSize() {
+    return blockSize;
+  }
+
+  public int getBytesPerChecksum() {
+    return bytesPerChecksum;
+  }
+
+  public int getWritePacketSize() {
+    return writePacketSize;
+  }
+
+  public short getReplication() {
+    return replication;
+  }
+
+  public int getFileBufferSize() {
+    return fileBufferSize;
+  }
+
+  // /////////////////////////////////////////
+  // Writable
+  // /////////////////////////////////////////
+  public void write(DataOutput out) throws IOException {
+    out.writeLong(blockSize);
+    out.writeInt(bytesPerChecksum);
+    out.writeInt(writePacketSize);
+    out.writeShort(replication);
+    out.writeInt(fileBufferSize);
+  }
+
+  public void readFields(DataInput in) throws IOException {
+    blockSize = in.readLong();
+    bytesPerChecksum = in.readInt();
+    writePacketSize = in.readInt();
+    replication = in.readShort();
+    fileBufferSize = in.readInt();
+  }
+}



Mime
View raw message