aboutsummaryrefslogtreecommitdiff
path: root/aarch64/share/hadoop/hdfs/jdiff/hadoop-hdfs_0.20.0.xml
diff options
context:
space:
mode:
Diffstat (limited to 'aarch64/share/hadoop/hdfs/jdiff/hadoop-hdfs_0.20.0.xml')
-rw-r--r--aarch64/share/hadoop/hdfs/jdiff/hadoop-hdfs_0.20.0.xml10389
1 files changed, 10389 insertions, 0 deletions
diff --git a/aarch64/share/hadoop/hdfs/jdiff/hadoop-hdfs_0.20.0.xml b/aarch64/share/hadoop/hdfs/jdiff/hadoop-hdfs_0.20.0.xml
new file mode 100644
index 0000000..823c3d8
--- /dev/null
+++ b/aarch64/share/hadoop/hdfs/jdiff/hadoop-hdfs_0.20.0.xml
@@ -0,0 +1,10389 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<!-- on Sun May 31 20:46:08 PDT 2009 -->
+
+<api
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+ xsi:noNamespaceSchemaLocation='api.xsd'
+ name="hadoop-hdfs 0.20.0"
+ jdversion="1.0.9">
+
+<!-- Command line arguments = -doclet jdiff.JDiff -docletpath /home/gkesavan/release-0.20.0/build/ivy/lib/Hadoop/jdiff/jdiff-1.0.9.jar:/home/gkesavan/release-0.20.0/build/ivy/lib/Hadoop/jdiff/xerces-1.4.4.jar -classpath /home/gkesavan/release-0.20.0/build/classes:/home/gkesavan/release-0.20.0/lib/commons-cli-2.0-SNAPSHOT.jar:/home/gkesavan/release-0.20.0/lib/hsqldb-1.8.0.10.jar:/home/gkesavan/release-0.20.0/lib/jsp-2.1/jsp-2.1.jar:/home/gkesavan/release-0.20.0/lib/jsp-2.1/jsp-api-2.1.jar:/home/gkesavan/release-0.20.0/lib/kfs-0.2.2.jar:/home/gkesavan/release-0.20.0/conf:/home/gkesavan/.ivy2/cache/commons-logging/commons-logging/jars/commons-logging-1.0.4.jar:/home/gkesavan/.ivy2/cache/log4j/log4j/jars/log4j-1.2.15.jar:/home/gkesavan/.ivy2/cache/commons-httpclient/commons-httpclient/jars/commons-httpclient-3.0.1.jar:/home/gkesavan/.ivy2/cache/commons-codec/commons-codec/jars/commons-codec-1.3.jar:/home/gkesavan/.ivy2/cache/xmlenc/xmlenc/jars/xmlenc-0.52.jar:/home/gkesavan/.ivy2/cache/net.java.dev.jets3t/jets3t/jars/jets3t-0.6.1.jar:/home/gkesavan/.ivy2/cache/commons-net/commons-net/jars/commons-net-1.4.1.jar:/home/gkesavan/.ivy2/cache/org.mortbay.jetty/servlet-api-2.5/jars/servlet-api-2.5-6.1.14.jar:/home/gkesavan/.ivy2/cache/oro/oro/jars/oro-2.0.8.jar:/home/gkesavan/.ivy2/cache/org.mortbay.jetty/jetty/jars/jetty-6.1.14.jar:/home/gkesavan/.ivy2/cache/org.mortbay.jetty/jetty-util/jars/jetty-util-6.1.14.jar:/home/gkesavan/.ivy2/cache/tomcat/jasper-runtime/jars/jasper-runtime-5.5.12.jar:/home/gkesavan/.ivy2/cache/tomcat/jasper-compiler/jars/jasper-compiler-5.5.12.jar:/home/gkesavan/.ivy2/cache/commons-el/commons-el/jars/commons-el-1.0.jar:/home/gkesavan/.ivy2/cache/junit/junit/jars/junit-3.8.1.jar:/home/gkesavan/.ivy2/cache/commons-logging/commons-logging-api/jars/commons-logging-api-1.0.4.jar:/home/gkesavan/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.4.3.jar:/home/gkesavan/.ivy2/cache/org.eclipse.jdt/core/jars/core-3.1.1.jar:/home/gkesavan/.ivy2/cache/org.slf4j/slf4j-log4j12/jars/slf4j-log4j12-1.4.3.jar:/home/gkesavan/.ivy2/cache/jdiff/jdiff/jars/jdiff-1.0.9.jar:/home/gkesavan/.ivy2/cache/xerces/xerces/jars/xerces-1.4.4.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-launcher.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-apache-resolver.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-starteam.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-netrexx.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-testutil.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-jai.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-swing.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-jmf.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-apache-bcel.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-jdepend.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-jsch.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-apache-bsf.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-antlr.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-weblogic.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-junit.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-apache-log4j.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/xercesImpl.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-apache-oro.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-trax.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-nodeps.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-commons-logging.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-apache-regexp.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-stylebook.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-javamail.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/ant-commons-net.jar:/home/gkesavan/tools/apache-ant-1.7.1/lib/xml-apis.jar:/home/gkesavan/tools/jdk1.6.0_07-32bit/lib/tools.jar -sourcepath /home/gkesavan/release-0.20.0/src/hdfs -apidir /home/gkesavan/release-0.20.0/lib/jdiff -apiname hadoop 0.20.1-dev -->
+<package name="org.apache.hadoop.hdfs">
+ <!-- start class org.apache.hadoop.hdfs.ChecksumDistributedFileSystem -->
+ <class name="ChecksumDistributedFileSystem" extends="org.apache.hadoop.fs.ChecksumFileSystem"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="ChecksumDistributedFileSystem"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="ChecksumDistributedFileSystem" type="java.net.InetSocketAddress, org.apache.hadoop.conf.Configuration"
+ static="false" final="false" visibility="public"
+ deprecated="deprecated, no comment">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@deprecated]]>
+ </doc>
+ </constructor>
+ <method name="getRawCapacity" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Return the total raw capacity of the filesystem, disregarding
+ replication .]]>
+ </doc>
+ </method>
+ <method name="getRawUsed" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Return the total raw used space in the filesystem, disregarding
+ replication .]]>
+ </doc>
+ </method>
+ <method name="getDataNodeStats" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Return statistics for each datanode.]]>
+ </doc>
+ </method>
+ <method name="setSafeMode" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="action" type="org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Enter, leave or get safe mode.
+
+ @see org.apache.hadoop.hdfs.protocol.ClientProtocol#setSafeMode(FSConstants.SafeModeAction)]]>
+ </doc>
+ </method>
+ <method name="refreshNodes"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="finalizeUpgrade"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Finalize previously upgraded files system state.]]>
+ </doc>
+ </method>
+ <method name="distributedUpgradeProgress" return="org.apache.hadoop.hdfs.server.common.UpgradeStatusReport"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="action" type="org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="metaSave"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="pathname" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="reportChecksumFailure" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="in" type="org.apache.hadoop.fs.FSDataInputStream"/>
+ <param name="inPos" type="long"/>
+ <param name="sums" type="org.apache.hadoop.fs.FSDataInputStream"/>
+ <param name="sumsPos" type="long"/>
+ <doc>
+ <![CDATA[We need to find the blocks that didn't match. Likely only one
+ is corrupt but we will report both to the namenode. In the future,
+ we can consider figuring out exactly which block is corrupt.]]>
+ </doc>
+ </method>
+ <method name="getFileStatus" return="org.apache.hadoop.fs.FileStatus"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns the stat information about the file.]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[An implementation of ChecksumFileSystem over DistributedFileSystem.
+ Note that as of now (May 07), DistributedFileSystem natively checksums
+ all of its data. Using this class is not be necessary in most cases.
+ Currently provided mainly for backward compatibility and testing.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.ChecksumDistributedFileSystem -->
+ <!-- start class org.apache.hadoop.hdfs.DFSClient -->
+ <class name="DFSClient" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.hdfs.protocol.FSConstants"/>
+ <implements name="java.io.Closeable"/>
+ <constructor name="DFSClient" type="org.apache.hadoop.conf.Configuration"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create a new DFSClient connected to the default namenode.]]>
+ </doc>
+ </constructor>
+ <constructor name="DFSClient" type="java.net.InetSocketAddress, org.apache.hadoop.conf.Configuration, org.apache.hadoop.fs.FileSystem.Statistics"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create a new DFSClient connected to the given namenode server.]]>
+ </doc>
+ </constructor>
+ <constructor name="DFSClient" type="java.net.InetSocketAddress, org.apache.hadoop.conf.Configuration"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </constructor>
+ <method name="createNamenode" return="org.apache.hadoop.hdfs.protocol.ClientProtocol"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="createNamenode" return="org.apache.hadoop.hdfs.protocol.ClientProtocol"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nameNodeAddr" type="java.net.InetSocketAddress"/>
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="close"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Close the file system, abandoning all of the leases and files being
+ created and close connections to the namenode.]]>
+ </doc>
+ </method>
+ <method name="getDefaultBlockSize" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Get the default block size for this cluster
+ @return the default block size in bytes]]>
+ </doc>
+ </method>
+ <method name="getBlockSize" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="reportBadBlocks"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blocks" type="org.apache.hadoop.hdfs.protocol.LocatedBlock[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Report corrupt blocks that were discovered by the client.]]>
+ </doc>
+ </method>
+ <method name="getDefaultReplication" return="short"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getHints" return="java.lang.String[][]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="Use getBlockLocations instead
+
+ Get hints about the location of the indicated block(s).
+
+ getHints() returns a list of hostnames that store data for
+ a specific file region. It returns a set of hostnames for
+ every block within the indicated region.
+
+ This function is very useful when writing code that considers
+ data-placement when performing operations. For example, the
+ MapReduce system tries to schedule tasks on the same machines
+ as the data-block the task processes.">
+ <param name="src" type="java.lang.String"/>
+ <param name="start" type="long"/>
+ <param name="length" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@deprecated Use getBlockLocations instead
+
+ Get hints about the location of the indicated block(s).
+
+ getHints() returns a list of hostnames that store data for
+ a specific file region. It returns a set of hostnames for
+ every block within the indicated region.
+
+ This function is very useful when writing code that considers
+ data-placement when performing operations. For example, the
+ MapReduce system tries to schedule tasks on the same machines
+ as the data-block the task processes.]]>
+ </doc>
+ </method>
+ <method name="getBlockLocations" return="org.apache.hadoop.fs.BlockLocation[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="start" type="long"/>
+ <param name="length" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get block location info about file
+
+ getBlockLocations() returns a list of hostnames that store
+ data for a specific file region. It returns a set of hostnames
+ for every block within the indicated region.
+
+ This function is very useful when writing code that considers
+ data-placement when performing operations. For example, the
+ MapReduce system tries to schedule tasks on the same machines
+ as the data-block the task processes.]]>
+ </doc>
+ </method>
+ <method name="open" return="org.apache.hadoop.hdfs.DFSClient.DFSInputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="create" return="java.io.OutputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="overwrite" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create a new dfs file and return an output stream for writing into it.
+
+ @param src stream name
+ @param overwrite do not check for file existence if true
+ @return output stream
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="create" return="java.io.OutputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="overwrite" type="boolean"/>
+ <param name="progress" type="org.apache.hadoop.util.Progressable"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create a new dfs file and return an output stream for writing into it
+ with write-progress reporting.
+
+ @param src stream name
+ @param overwrite do not check for file existence if true
+ @return output stream
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="create" return="java.io.OutputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="overwrite" type="boolean"/>
+ <param name="replication" type="short"/>
+ <param name="blockSize" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create a new dfs file with the specified block replication
+ and return an output stream for writing into the file.
+
+ @param src stream name
+ @param overwrite do not check for file existence if true
+ @param replication block replication
+ @return output stream
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="create" return="java.io.OutputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="overwrite" type="boolean"/>
+ <param name="replication" type="short"/>
+ <param name="blockSize" type="long"/>
+ <param name="progress" type="org.apache.hadoop.util.Progressable"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create a new dfs file with the specified block replication
+ with write-progress reporting and return an output stream for writing
+ into the file.
+
+ @param src stream name
+ @param overwrite do not check for file existence if true
+ @param replication block replication
+ @return output stream
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="create" return="java.io.OutputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="overwrite" type="boolean"/>
+ <param name="replication" type="short"/>
+ <param name="blockSize" type="long"/>
+ <param name="progress" type="org.apache.hadoop.util.Progressable"/>
+ <param name="buffersize" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Call
+ {@link #create(String,FsPermission,boolean,short,long,Progressable,int)}
+ with default permission.
+ @see FsPermission#getDefault()]]>
+ </doc>
+ </method>
+ <method name="create" return="java.io.OutputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="permission" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <param name="overwrite" type="boolean"/>
+ <param name="replication" type="short"/>
+ <param name="blockSize" type="long"/>
+ <param name="progress" type="org.apache.hadoop.util.Progressable"/>
+ <param name="buffersize" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create a new dfs file with the specified block replication
+ with write-progress reporting and return an output stream for writing
+ into the file.
+
+ @param src stream name
+ @param permission The permission of the directory being created.
+ If permission == null, use {@link FsPermission#getDefault()}.
+ @param overwrite do not check for file existence if true
+ @param replication block replication
+ @return output stream
+ @throws IOException
+ @see ClientProtocol#create(String, FsPermission, String, boolean, short, long)]]>
+ </doc>
+ </method>
+ <method name="setReplication" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="replication" type="short"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set replication for an existing file.
+
+ @see ClientProtocol#setReplication(String, short)
+ @param replication
+ @throws IOException
+ @return true is successful or false if file does not exist]]>
+ </doc>
+ </method>
+ <method name="rename" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="dst" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Rename file or directory.
+ See {@link ClientProtocol#rename(String, String)}.]]>
+ </doc>
+ </method>
+ <method name="delete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Delete file or directory.
+ See {@link ClientProtocol#delete(String)}.]]>
+ </doc>
+ </method>
+ <method name="delete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="recursive" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[delete file or directory.
+ delete contents of the directory if non empty and recursive
+ set to true]]>
+ </doc>
+ </method>
+ <method name="exists" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Implemented using getFileInfo(src)]]>
+ </doc>
+ </method>
+ <method name="isDirectory" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="Use getFileStatus() instead">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@deprecated Use getFileStatus() instead]]>
+ </doc>
+ </method>
+ <method name="listPaths" return="org.apache.hadoop.fs.FileStatus[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getFileInfo" return="org.apache.hadoop.fs.FileStatus"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getFileChecksum" return="org.apache.hadoop.fs.MD5MD5CRC32FileChecksum"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="namenode" type="org.apache.hadoop.hdfs.protocol.ClientProtocol"/>
+ <param name="socketFactory" type="javax.net.SocketFactory"/>
+ <param name="socketTimeout" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get the checksum of a file.
+ @param src The file path
+ @return The checksum]]>
+ </doc>
+ </method>
+ <method name="setPermission"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="permission" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set permissions to a file or directory.
+ @param src path name.
+ @param permission
+ @throws <code>FileNotFoundException</code> is file does not exist.]]>
+ </doc>
+ </method>
+ <method name="setOwner"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="username" type="java.lang.String"/>
+ <param name="groupname" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set file or directory owner.
+ @param src path name.
+ @param username user id.
+ @param groupname user group.
+ @throws <code>FileNotFoundException</code> is file does not exist.]]>
+ </doc>
+ </method>
+ <method name="getDiskStatus" return="org.apache.hadoop.hdfs.DistributedFileSystem.DiskStatus"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="totalRawCapacity" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="totalRawUsed" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getMissingBlocksCount" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns count of blocks with no good replicas left. Normally should be
+ zero.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getUnderReplicatedBlocksCount" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns count of blocks with one of more replica missing.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getCorruptBlocksCount" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns count of blocks with at least one replica marked corrupt.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="datanodeReport" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="type" type="org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="setSafeMode" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="action" type="org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Enter, leave or get safe mode.
+ See {@link ClientProtocol#setSafeMode(FSConstants.SafeModeAction)}
+ for more details.
+
+ @see ClientProtocol#setSafeMode(FSConstants.SafeModeAction)]]>
+ </doc>
+ </method>
+ <method name="refreshNodes"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Refresh the hosts and exclude files. (Rereads them.)
+ See {@link ClientProtocol#refreshNodes()}
+ for more details.
+
+ @see ClientProtocol#refreshNodes()]]>
+ </doc>
+ </method>
+ <method name="metaSave"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="pathname" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Dumps DFS data structures into specified file.
+ See {@link ClientProtocol#metaSave(String)}
+ for more details.
+
+ @see ClientProtocol#metaSave(String)]]>
+ </doc>
+ </method>
+ <method name="finalizeUpgrade"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@see ClientProtocol#finalizeUpgrade()]]>
+ </doc>
+ </method>
+ <method name="distributedUpgradeProgress" return="org.apache.hadoop.hdfs.server.common.UpgradeStatusReport"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="action" type="org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@see ClientProtocol#distributedUpgradeProgress(FSConstants.UpgradeAction)]]>
+ </doc>
+ </method>
+ <method name="mkdirs" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="mkdirs" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="permission" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create a directory (or hierarchy of directories) with the given
+ name and permission.
+
+ @param src The path of the directory being created
+ @param permission The permission of the directory being created.
+ If permission == null, use {@link FsPermission#getDefault()}.
+ @return True if the operation success.
+ @see ClientProtocol#mkdirs(String, FsPermission)]]>
+ </doc>
+ </method>
+ <method name="setTimes"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="mtime" type="long"/>
+ <param name="atime" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[set the modification and access time of a file
+ @throws FileNotFoundException if the path is not a file]]>
+ </doc>
+ </method>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <field name="LOG" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="MAX_BLOCK_ACQUIRE_FAILURES" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="namenode" type="org.apache.hadoop.hdfs.protocol.ClientProtocol"
+ transient="false" volatile="false"
+ static="false" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[DFSClient can connect to a Hadoop Filesystem and
+ perform basic file tasks. It uses the ClientProtocol
+ to communicate with a NameNode daemon, and connects
+ directly to DataNodes to read/write block data.
+
+ Hadoop DFS users should obtain an instance of
+ DistributedFileSystem, which uses DFSClient to handle
+ filesystem tasks.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.DFSClient -->
+ <!-- start class org.apache.hadoop.hdfs.DFSClient.BlockReader -->
+ <class name="DFSClient.BlockReader" extends="org.apache.hadoop.fs.FSInputChecker"
+ abstract="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <method name="read" return="int"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="buf" type="byte[]"/>
+ <param name="off" type="int"/>
+ <param name="len" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="skip" return="long"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="n" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="read" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="seekToNewSource" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="targetPos" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="seek"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="pos" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getChunkPosition" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="pos" type="long"/>
+ </method>
+ <method name="readChunk" return="int"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="pos" type="long"/>
+ <param name="buf" type="byte[]"/>
+ <param name="offset" type="int"/>
+ <param name="len" type="int"/>
+ <param name="checksumBuf" type="byte[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="newBlockReader" return="org.apache.hadoop.hdfs.DFSClient.BlockReader"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="sock" type="java.net.Socket"/>
+ <param name="file" type="java.lang.String"/>
+ <param name="blockId" type="long"/>
+ <param name="genStamp" type="long"/>
+ <param name="startOffset" type="long"/>
+ <param name="len" type="long"/>
+ <param name="bufferSize" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="newBlockReader" return="org.apache.hadoop.hdfs.DFSClient.BlockReader"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="sock" type="java.net.Socket"/>
+ <param name="file" type="java.lang.String"/>
+ <param name="blockId" type="long"/>
+ <param name="genStamp" type="long"/>
+ <param name="startOffset" type="long"/>
+ <param name="len" type="long"/>
+ <param name="bufferSize" type="int"/>
+ <param name="verifyChecksum" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Java Doc required]]>
+ </doc>
+ </method>
+ <method name="newBlockReader" return="org.apache.hadoop.hdfs.DFSClient.BlockReader"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="sock" type="java.net.Socket"/>
+ <param name="file" type="java.lang.String"/>
+ <param name="blockId" type="long"/>
+ <param name="genStamp" type="long"/>
+ <param name="startOffset" type="long"/>
+ <param name="len" type="long"/>
+ <param name="bufferSize" type="int"/>
+ <param name="verifyChecksum" type="boolean"/>
+ <param name="clientName" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="close"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="readAll" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="buf" type="byte[]"/>
+ <param name="offset" type="int"/>
+ <param name="len" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[kind of like readFully(). Only reads as much as possible.
+ And allows use of protected readFully().]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[This is a wrapper around connection to datadone
+ and understands checksum, offset etc]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.DFSClient.BlockReader -->
+ <!-- start class org.apache.hadoop.hdfs.DFSUtil -->
+ <class name="DFSUtil" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="DFSUtil"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="isValidName" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <doc>
+ <![CDATA[Whether the pathname is valid. Currently prohibits relative paths,
+ and names which contain a ":" or "/"]]>
+ </doc>
+ </method>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.DFSUtil -->
+ <!-- start class org.apache.hadoop.hdfs.DistributedFileSystem -->
+ <class name="DistributedFileSystem" extends="org.apache.hadoop.fs.FileSystem"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="DistributedFileSystem"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="DistributedFileSystem" type="java.net.InetSocketAddress, org.apache.hadoop.conf.Configuration"
+ static="false" final="false" visibility="public"
+ deprecated="deprecated, no comment">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@deprecated]]>
+ </doc>
+ </constructor>
+ <method name="getName" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="deprecated, no comment">
+ <doc>
+ <![CDATA[@deprecated]]>
+ </doc>
+ </method>
+ <method name="getUri" return="java.net.URI"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="initialize"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="uri" type="java.net.URI"/>
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="checkPath"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="path" type="org.apache.hadoop.fs.Path"/>
+ <doc>
+ <![CDATA[Permit paths which explicitly specify the default port.]]>
+ </doc>
+ </method>
+ <method name="makeQualified" return="org.apache.hadoop.fs.Path"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="path" type="org.apache.hadoop.fs.Path"/>
+ <doc>
+ <![CDATA[Normalize paths that explicitly specify the default port.]]>
+ </doc>
+ </method>
+ <method name="getWorkingDirectory" return="org.apache.hadoop.fs.Path"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getDefaultBlockSize" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getDefaultReplication" return="short"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="setWorkingDirectory"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="dir" type="org.apache.hadoop.fs.Path"/>
+ </method>
+ <method name="getHomeDirectory" return="org.apache.hadoop.fs.Path"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="getFileBlockLocations" return="org.apache.hadoop.fs.BlockLocation[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="file" type="org.apache.hadoop.fs.FileStatus"/>
+ <param name="start" type="long"/>
+ <param name="len" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="setVerifyChecksum"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="verifyChecksum" type="boolean"/>
+ </method>
+ <method name="open" return="org.apache.hadoop.fs.FSDataInputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="bufferSize" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="append" return="org.apache.hadoop.fs.FSDataOutputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="bufferSize" type="int"/>
+ <param name="progress" type="org.apache.hadoop.util.Progressable"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[This optional operation is not yet supported.]]>
+ </doc>
+ </method>
+ <method name="create" return="org.apache.hadoop.fs.FSDataOutputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="permission" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <param name="overwrite" type="boolean"/>
+ <param name="bufferSize" type="int"/>
+ <param name="replication" type="short"/>
+ <param name="blockSize" type="long"/>
+ <param name="progress" type="org.apache.hadoop.util.Progressable"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="setReplication" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="org.apache.hadoop.fs.Path"/>
+ <param name="replication" type="short"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="rename" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="org.apache.hadoop.fs.Path"/>
+ <param name="dst" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Rename files/dirs]]>
+ </doc>
+ </method>
+ <method name="delete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get rid of Path f, whether a true file or dir.]]>
+ </doc>
+ </method>
+ <method name="delete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="recursive" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[requires a boolean check to delete a non
+ empty directory recursively.]]>
+ </doc>
+ </method>
+ <method name="getContentSummary" return="org.apache.hadoop.fs.ContentSummary"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="setQuota"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="org.apache.hadoop.fs.Path"/>
+ <param name="namespaceQuota" type="long"/>
+ <param name="diskspaceQuota" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set a directory's quotas
+ @see org.apache.hadoop.hdfs.protocol.ClientProtocol#setQuota(String, long, long)]]>
+ </doc>
+ </method>
+ <method name="listStatus" return="org.apache.hadoop.fs.FileStatus[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="p" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="mkdirs" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="permission" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="close"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getClient" return="org.apache.hadoop.hdfs.DFSClient"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getDiskStatus" return="org.apache.hadoop.hdfs.DistributedFileSystem.DiskStatus"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Return the disk usage of the filesystem, including total capacity,
+ used space, and remaining space]]>
+ </doc>
+ </method>
+ <method name="getRawCapacity" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Return the total raw capacity of the filesystem, disregarding
+ replication .]]>
+ </doc>
+ </method>
+ <method name="getRawUsed" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Return the total raw used space in the filesystem, disregarding
+ replication .]]>
+ </doc>
+ </method>
+ <method name="getMissingBlocksCount" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns count of blocks with no good replicas left. Normally should be
+ zero.
+
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getUnderReplicatedBlocksCount" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns count of blocks with one of more replica missing.
+
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getCorruptBlocksCount" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns count of blocks with at least one replica marked corrupt.
+
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getDataNodeStats" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Return statistics for each datanode.]]>
+ </doc>
+ </method>
+ <method name="setSafeMode" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="action" type="org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Enter, leave or get safe mode.
+
+ @see org.apache.hadoop.hdfs.protocol.ClientProtocol#setSafeMode(
+ FSConstants.SafeModeAction)]]>
+ </doc>
+ </method>
+ <method name="saveNamespace"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="AccessControlException" type="org.apache.hadoop.security.AccessControlException"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Save namespace image.
+
+ @see org.apache.hadoop.hdfs.protocol.ClientProtocol#saveNamespace()]]>
+ </doc>
+ </method>
+ <method name="refreshNodes"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Refreshes the list of hosts and excluded hosts from the configured
+ files.]]>
+ </doc>
+ </method>
+ <method name="finalizeUpgrade"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Finalize previously upgraded files system state.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="distributedUpgradeProgress" return="org.apache.hadoop.hdfs.server.common.UpgradeStatusReport"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="action" type="org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="metaSave"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="pathname" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="reportChecksumFailure" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="in" type="org.apache.hadoop.fs.FSDataInputStream"/>
+ <param name="inPos" type="long"/>
+ <param name="sums" type="org.apache.hadoop.fs.FSDataInputStream"/>
+ <param name="sumsPos" type="long"/>
+ <doc>
+ <![CDATA[We need to find the blocks that didn't match. Likely only one
+ is corrupt but we will report both to the namenode. In the future,
+ we can consider figuring out exactly which block is corrupt.]]>
+ </doc>
+ </method>
+ <method name="getFileStatus" return="org.apache.hadoop.fs.FileStatus"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns the stat information about the file.
+ @throws FileNotFoundException if the file does not exist.]]>
+ </doc>
+ </method>
+ <method name="getFileChecksum" return="org.apache.hadoop.fs.MD5MD5CRC32FileChecksum"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="setPermission"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="p" type="org.apache.hadoop.fs.Path"/>
+ <param name="permission" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc }]]>
+ </doc>
+ </method>
+ <method name="setOwner"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="p" type="org.apache.hadoop.fs.Path"/>
+ <param name="username" type="java.lang.String"/>
+ <param name="groupname" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc }]]>
+ </doc>
+ </method>
+ <method name="setTimes"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="p" type="org.apache.hadoop.fs.Path"/>
+ <param name="mtime" type="long"/>
+ <param name="atime" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc }]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[Implementation of the abstract FileSystem for the DFS system.
+ This object is the way end-user code interacts with a Hadoop
+ DistributedFileSystem.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.DistributedFileSystem -->
+ <!-- start class org.apache.hadoop.hdfs.DistributedFileSystem.DiskStatus -->
+ <class name="DistributedFileSystem.DiskStatus" extends="java.lang.Object"
+ abstract="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="DistributedFileSystem.DiskStatus" type="long, long, long"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getCapacity" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getDfsUsed" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getRemaining" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.DistributedFileSystem.DiskStatus -->
+ <!-- start class org.apache.hadoop.hdfs.HDFSPolicyProvider -->
+ <class name="HDFSPolicyProvider" extends="org.apache.hadoop.security.authorize.PolicyProvider"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="HDFSPolicyProvider"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getServices" return="org.apache.hadoop.security.authorize.Service[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <doc>
+ <![CDATA[{@link PolicyProvider} for HDFS protocols.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.HDFSPolicyProvider -->
+ <!-- start class org.apache.hadoop.hdfs.HftpFileSystem -->
+ <class name="HftpFileSystem" extends="org.apache.hadoop.fs.FileSystem"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="HftpFileSystem"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="initialize"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.net.URI"/>
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="pickOneAddress" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="hostname" type="java.lang.String"/>
+ <exception name="UnknownHostException" type="java.net.UnknownHostException"/>
+ <doc>
+ <![CDATA[randomly pick one from all available IP addresses of a given hostname]]>
+ </doc>
+ </method>
+ <method name="getUri" return="java.net.URI"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="openConnection" return="java.net.HttpURLConnection"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="path" type="java.lang.String"/>
+ <param name="query" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Open an HTTP connection to the namenode to read file data and metadata.
+ @param path The path component of the URL
+ @param query The query component of the URL]]>
+ </doc>
+ </method>
+ <method name="open" return="org.apache.hadoop.fs.FSDataInputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="buffersize" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="listStatus" return="org.apache.hadoop.fs.FileStatus[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getFileStatus" return="org.apache.hadoop.fs.FileStatus"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getFileChecksum" return="org.apache.hadoop.fs.FileChecksum"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="getWorkingDirectory" return="org.apache.hadoop.fs.Path"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="setWorkingDirectory"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ </method>
+ <method name="append" return="org.apache.hadoop.fs.FSDataOutputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="bufferSize" type="int"/>
+ <param name="progress" type="org.apache.hadoop.util.Progressable"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[This optional operation is not yet supported.]]>
+ </doc>
+ </method>
+ <method name="create" return="org.apache.hadoop.fs.FSDataOutputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="permission" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <param name="overwrite" type="boolean"/>
+ <param name="bufferSize" type="int"/>
+ <param name="replication" type="short"/>
+ <param name="blockSize" type="long"/>
+ <param name="progress" type="org.apache.hadoop.util.Progressable"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="rename" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="org.apache.hadoop.fs.Path"/>
+ <param name="dst" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="delete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="delete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="recursive" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="mkdirs" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="org.apache.hadoop.fs.Path"/>
+ <param name="permission" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <field name="nnAddr" type="java.net.InetSocketAddress"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="ugi" type="org.apache.hadoop.security.UserGroupInformation"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="ran" type="java.util.Random"
+ transient="false" volatile="false"
+ static="false" final="true" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="df" type="java.text.SimpleDateFormat"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[An implementation of a protocol for accessing filesystems over HTTP.
+ The following implementation provides a limited, read-only interface
+ to a filesystem over HTTP.
+ @see org.apache.hadoop.hdfs.server.namenode.ListPathsServlet
+ @see org.apache.hadoop.hdfs.server.namenode.FileDataServlet]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.HftpFileSystem -->
+ <!-- start class org.apache.hadoop.hdfs.HsftpFileSystem -->
+ <class name="HsftpFileSystem" extends="org.apache.hadoop.hdfs.HftpFileSystem"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="HsftpFileSystem"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="initialize"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.net.URI"/>
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="openConnection" return="java.net.HttpURLConnection"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="path" type="java.lang.String"/>
+ <param name="query" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getUri" return="java.net.URI"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <doc>
+ <![CDATA[An implementation of a protocol for accessing filesystems over HTTPS.
+ The following implementation provides a limited, read-only interface
+ to a filesystem over HTTPS.
+ @see org.apache.hadoop.hdfs.server.namenode.ListPathsServlet
+ @see org.apache.hadoop.hdfs.server.namenode.FileDataServlet]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.HsftpFileSystem -->
+ <!-- start class org.apache.hadoop.hdfs.HsftpFileSystem.DummyHostnameVerifier -->
+ <class name="HsftpFileSystem.DummyHostnameVerifier" extends="java.lang.Object"
+ abstract="false"
+ static="true" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <implements name="javax.net.ssl.HostnameVerifier"/>
+ <constructor name="HsftpFileSystem.DummyHostnameVerifier"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="verify" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="hostname" type="java.lang.String"/>
+ <param name="session" type="javax.net.ssl.SSLSession"/>
+ </method>
+ <doc>
+ <![CDATA[Dummy hostname verifier that is used to bypass hostname checking]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.HsftpFileSystem.DummyHostnameVerifier -->
+ <doc>
+ <![CDATA[<p>A distributed implementation of {@link
+org.apache.hadoop.fs.FileSystem}. This is loosely modelled after
+Google's <a href="http://labs.google.com/papers/gfs.html">GFS</a>.</p>
+
+<p>The most important difference is that unlike GFS, Hadoop DFS files
+have strictly one writer at any one time. Bytes are always appended
+to the end of the writer's stream. There is no notion of "record appends"
+or "mutations" that are then checked or reordered. Writers simply emit
+a byte stream. That byte stream is guaranteed to be stored in the
+order written.</p>]]>
+ </doc>
+</package>
+<package name="org.apache.hadoop.hdfs.protocol">
+ <!-- start class org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException -->
+ <class name="AlreadyBeingCreatedException" extends="java.io.IOException"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="AlreadyBeingCreatedException" type="java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <doc>
+ <![CDATA[The exception that happens when you ask to create a file that already
+ is being created, but is not closed yet.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.Block -->
+ <class name="Block" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.Writable"/>
+ <implements name="java.lang.Comparable"/>
+ <constructor name="Block"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="Block" type="long, long, long"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="Block" type="long"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="Block" type="org.apache.hadoop.hdfs.protocol.Block"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="Block" type="java.io.File, long, long"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Find the blockid from the given filename]]>
+ </doc>
+ </constructor>
+ <method name="isBlockFilename" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="f" type="java.io.File"/>
+ </method>
+ <method name="set"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blkid" type="long"/>
+ <param name="len" type="long"/>
+ <param name="genStamp" type="long"/>
+ </method>
+ <method name="getBlockId" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="setBlockId"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="bid" type="long"/>
+ </method>
+ <method name="getBlockName" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getNumBytes" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="setNumBytes"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="len" type="long"/>
+ </method>
+ <method name="getGenerationStamp" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="setGenerationStamp"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="stamp" type="long"/>
+ </method>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="compareTo" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="equals" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="o" type="java.lang.Object"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="hashCode" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <field name="GRANDFATHER_GENERATION_STAMP" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[A Block is a Hadoop FS primitive, identified by a
+ long.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.Block -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.BlockListAsLongs -->
+ <class name="BlockListAsLongs" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="BlockListAsLongs" type="long[]"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Constructor
+ @param iBlockList - BlockListALongs create from this long[] parameter]]>
+ </doc>
+ </constructor>
+ <method name="convertToArrayLongs" return="long[]"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blockArray" type="org.apache.hadoop.hdfs.protocol.Block[]"/>
+ <doc>
+ <![CDATA[Converting a block[] to a long[]
+ @param blockArray - the input array block[]
+ @return the output array of long[]]]>
+ </doc>
+ </method>
+ <method name="getNumberOfBlocks" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[The number of blocks
+ @return - the number of blocks]]>
+ </doc>
+ </method>
+ <method name="getBlockId" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="index" type="int"/>
+ <doc>
+ <![CDATA[The block-id of the indexTh block
+ @param index - the block whose block-id is desired
+ @return the block-id]]>
+ </doc>
+ </method>
+ <method name="getBlockLen" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="index" type="int"/>
+ <doc>
+ <![CDATA[The block-len of the indexTh block
+ @param index - the block whose block-len is desired
+ @return - the block-len]]>
+ </doc>
+ </method>
+ <method name="getBlockGenStamp" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="index" type="int"/>
+ <doc>
+ <![CDATA[The generation stamp of the indexTh block
+ @param index - the block whose block-len is desired
+ @return - the generation stamp]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[This class provides an interface for accessing list of blocks that
+ has been implemented as long[].
+ This class is usefull for block report. Rather than send block reports
+ as a Block[] we can send it as a long[].]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.BlockListAsLongs -->
+ <!-- start interface org.apache.hadoop.hdfs.protocol.ClientDatanodeProtocol -->
+ <interface name="ClientDatanodeProtocol" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.ipc.VersionedProtocol"/>
+ <method name="recoverBlock" return="org.apache.hadoop.hdfs.protocol.LocatedBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="block" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="keepLength" type="boolean"/>
+ <param name="targets" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Start generation-stamp recovery for specified block
+ @param block the specified block
+ @param keepLength keep the block length
+ @param targets the list of possible locations of specified block
+ @return the new blockid if recovery successful and the generation stamp
+ got updated as part of the recovery, else returns null if the block id
+ not have any data and the block was deleted.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <field name="LOG" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="versionID" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[3: add keepLength parameter.]]>
+ </doc>
+ </field>
+ <doc>
+ <![CDATA[An client-datanode protocol for block recovery]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.protocol.ClientDatanodeProtocol -->
+ <!-- start interface org.apache.hadoop.hdfs.protocol.ClientProtocol -->
+ <interface name="ClientProtocol" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.ipc.VersionedProtocol"/>
+ <method name="getBlockLocations" return="org.apache.hadoop.hdfs.protocol.LocatedBlocks"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="offset" type="long"/>
+ <param name="length" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get locations of the blocks of the specified file within the specified range.
+ DataNode locations for each block are sorted by
+ the proximity to the client.
+ <p>
+ Return {@link LocatedBlocks} which contains
+ file length, blocks and their locations.
+ DataNode locations for each block are sorted by
+ the distance to the client's address.
+ <p>
+ The client will then have to contact
+ one of the indicated DataNodes to obtain the actual data.
+
+ @param src file name
+ @param offset range start offset
+ @param length range length
+ @return file length and array of blocks with their locations
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="create"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="masked" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <param name="clientName" type="java.lang.String"/>
+ <param name="overwrite" type="boolean"/>
+ <param name="replication" type="short"/>
+ <param name="blockSize" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create a new file entry in the namespace.
+ <p>
+ This will create an empty file specified by the source path.
+ The path should reflect a full path originated at the root.
+ The name-node does not have a notion of "current" directory for a client.
+ <p>
+ Once created, the file is visible and available for read to other clients.
+ Although, other clients cannot {@link #delete(String)}, re-create or
+ {@link #rename(String, String)} it until the file is completed
+ or explicitly as a result of lease expiration.
+ <p>
+ Blocks have a maximum size. Clients that intend to
+ create multi-block files must also use {@link #addBlock(String, String)}.
+
+ @param src path of the file being created.
+ @param masked masked permission.
+ @param clientName name of the current client.
+ @param overwrite indicates whether the file should be
+ overwritten if it already exists.
+ @param replication block replication factor.
+ @param blockSize maximum block size.
+
+ @throws AccessControlException if permission to create file is
+ denied by the system. As usually on the client side the exception will
+ be wrapped into {@link org.apache.hadoop.ipc.RemoteException}.
+ @throws QuotaExceededException if the file creation violates
+ any quota restriction
+ @throws IOException if other errors occur.]]>
+ </doc>
+ </method>
+ <method name="append" return="org.apache.hadoop.hdfs.protocol.LocatedBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="clientName" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Append to the end of the file.
+ @param src path of the file being created.
+ @param clientName name of the current client.
+ @return information about the last partial block if any.
+ @throws AccessControlException if permission to append file is
+ denied by the system. As usually on the client side the exception will
+ be wrapped into {@link org.apache.hadoop.ipc.RemoteException}.
+ Allows appending to an existing file if the server is
+ configured with the parameter dfs.support.append set to true, otherwise
+ throws an IOException.
+ @throws IOException if other errors occur.]]>
+ </doc>
+ </method>
+ <method name="setReplication" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="replication" type="short"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set replication for an existing file.
+ <p>
+ The NameNode sets replication to the new value and returns.
+ The actual block replication is not expected to be performed during
+ this method call. The blocks will be populated or removed in the
+ background as the result of the routine block maintenance procedures.
+
+ @param src file name
+ @param replication new replication
+ @throws IOException
+ @return true if successful;
+ false if file does not exist or is a directory]]>
+ </doc>
+ </method>
+ <method name="setPermission"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="permission" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set permissions for an existing file/directory.]]>
+ </doc>
+ </method>
+ <method name="setOwner"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="username" type="java.lang.String"/>
+ <param name="groupname" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set owner of a path (i.e. a file or a directory).
+ The parameters username and groupname cannot both be null.
+ @param src
+ @param username If it is null, the original username remains unchanged.
+ @param groupname If it is null, the original groupname remains unchanged.]]>
+ </doc>
+ </method>
+ <method name="abandonBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="src" type="java.lang.String"/>
+ <param name="holder" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[The client can give up on a blcok by calling abandonBlock().
+ The client can then
+ either obtain a new block, or complete or abandon the file.
+ Any partial writes to the block will be discarded.]]>
+ </doc>
+ </method>
+ <method name="addBlock" return="org.apache.hadoop.hdfs.protocol.LocatedBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="clientName" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[A client that wants to write an additional block to the
+ indicated filename (which must currently be open for writing)
+ should call addBlock().
+
+ addBlock() allocates a new block and datanodes the block data
+ should be replicated to.
+
+ @return LocatedBlock allocated block information.]]>
+ </doc>
+ </method>
+ <method name="complete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="clientName" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[The client is done writing data to the given filename, and would
+ like to complete it.
+
+ The function returns whether the file has been closed successfully.
+ If the function returns false, the caller should try again.
+
+ A call to complete() will not return true until all the file's
+ blocks have been replicated the minimum number of times. Thus,
+ DataNode failures may cause a client to call complete() several
+ times before succeeding.]]>
+ </doc>
+ </method>
+ <method name="reportBadBlocks"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blocks" type="org.apache.hadoop.hdfs.protocol.LocatedBlock[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[The client wants to report corrupted blocks (blocks with specified
+ locations on datanodes).
+ @param blocks Array of located blocks to report]]>
+ </doc>
+ </method>
+ <method name="rename" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="dst" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Rename an item in the file system namespace.
+
+ @param src existing file or directory name.
+ @param dst new name.
+ @return true if successful, or false if the old name does not exist
+ or if the new name already belongs to the namespace.
+ @throws IOException if the new name is invalid.
+ @throws QuotaExceededException if the rename would violate
+ any quota restriction]]>
+ </doc>
+ </method>
+ <method name="delete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Delete the given file or directory from the file system.
+ <p>
+ Any blocks belonging to the deleted files will be garbage-collected.
+
+ @param src existing name.
+ @return true only if the existing file or directory was actually removed
+ from the file system.]]>
+ </doc>
+ </method>
+ <method name="delete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="recursive" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Delete the given file or directory from the file system.
+ <p>
+ same as delete but provides a way to avoid accidentally
+ deleting non empty directories programmatically.
+ @param src existing name
+ @param recursive if true deletes a non empty directory recursively,
+ else throws an exception.
+ @return true only if the existing file or directory was actually removed
+ from the file system.]]>
+ </doc>
+ </method>
+ <method name="mkdirs" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="masked" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create a directory (or hierarchy of directories) with the given
+ name and permission.
+
+ @param src The path of the directory being created
+ @param masked The masked permission of the directory being created
+ @return True if the operation success.
+ @throws {@link AccessControlException} if permission to create file is
+ denied by the system. As usually on the client side the exception will
+ be wraped into {@link org.apache.hadoop.ipc.RemoteException}.
+ @throws QuotaExceededException if the operation would violate
+ any quota restriction.]]>
+ </doc>
+ </method>
+ <method name="getListing" return="org.apache.hadoop.fs.FileStatus[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get a listing of the indicated directory]]>
+ </doc>
+ </method>
+ <method name="renewLease"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="clientName" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Client programs can cause stateful changes in the NameNode
+ that affect other clients. A client may obtain a file and
+ neither abandon nor complete it. A client might hold a series
+ of locks that prevent other clients from proceeding.
+ Clearly, it would be bad if a client held a bunch of locks
+ that it never gave up. This can happen easily if the client
+ dies unexpectedly.
+ <p>
+ So, the NameNode will revoke the locks and live file-creates
+ for clients that it thinks have died. A client tells the
+ NameNode that it is still alive by periodically calling
+ renewLease(). If a certain amount of time passes since
+ the last call to renewLease(), the NameNode assumes the
+ client has died.]]>
+ </doc>
+ </method>
+ <method name="getStats" return="long[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get a set of statistics about the filesystem.
+ Right now, only three values are returned.
+ <ul>
+ <li> [0] contains the total storage capacity of the system, in bytes.</li>
+ <li> [1] contains the total used space of the system, in bytes.</li>
+ <li> [2] contains the available storage of the system, in bytes.</li>
+ <li> [3] contains number of under replicated blocks in the system.</li>
+ <li> [4] contains number of blocks with a corrupt replica. </li>
+ <li> [5] contains number of blocks without any good replicas left. </li>
+ </ul>
+ Use public constants like {@link #GET_STATS_CAPACITY_IDX} in place of
+ actual numbers to index into the array.]]>
+ </doc>
+ </method>
+ <method name="getDatanodeReport" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="type" type="org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get a report on the system's current datanodes.
+ One DatanodeInfo object is returned for each DataNode.
+ Return live datanodes if type is LIVE; dead datanodes if type is DEAD;
+ otherwise all datanodes if type is ALL.]]>
+ </doc>
+ </method>
+ <method name="getPreferredBlockSize" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="filename" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get the block size for the given file.
+ @param filename The name of the file
+ @return The number of bytes in each block
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="setSafeMode" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="action" type="org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Enter, leave or get safe mode.
+ <p>
+ Safe mode is a name node state when it
+ <ol><li>does not accept changes to name space (read-only), and</li>
+ <li>does not replicate or delete blocks.</li></ol>
+
+ <p>
+ Safe mode is entered automatically at name node startup.
+ Safe mode can also be entered manually using
+ {@link #setSafeMode(FSConstants.SafeModeAction) setSafeMode(SafeModeAction.SAFEMODE_GET)}.
+ <p>
+ At startup the name node accepts data node reports collecting
+ information about block locations.
+ In order to leave safe mode it needs to collect a configurable
+ percentage called threshold of blocks, which satisfy the minimal
+ replication condition.
+ The minimal replication condition is that each block must have at least
+ <tt>dfs.replication.min</tt> replicas.
+ When the threshold is reached the name node extends safe mode
+ for a configurable amount of time
+ to let the remaining data nodes to check in before it
+ will start replicating missing blocks.
+ Then the name node leaves safe mode.
+ <p>
+ If safe mode is turned on manually using
+ {@link #setSafeMode(FSConstants.SafeModeAction) setSafeMode(SafeModeAction.SAFEMODE_ENTER)}
+ then the name node stays in safe mode until it is manually turned off
+ using {@link #setSafeMode(FSConstants.SafeModeAction) setSafeMode(SafeModeAction.SAFEMODE_LEAVE)}.
+ Current state of the name node can be verified using
+ {@link #setSafeMode(FSConstants.SafeModeAction) setSafeMode(SafeModeAction.SAFEMODE_GET)}
+ <h4>Configuration parameters:</h4>
+ <tt>dfs.safemode.threshold.pct</tt> is the threshold parameter.<br>
+ <tt>dfs.safemode.extension</tt> is the safe mode extension parameter.<br>
+ <tt>dfs.replication.min</tt> is the minimal replication parameter.
+
+ <h4>Special cases:</h4>
+ The name node does not enter safe mode at startup if the threshold is
+ set to 0 or if the name space is empty.<br>
+ If the threshold is set to 1 then all blocks need to have at least
+ minimal replication.<br>
+ If the threshold value is greater than 1 then the name node will not be
+ able to turn off safe mode automatically.<br>
+ Safe mode can always be turned off manually.
+
+ @param action <ul> <li>0 leave safe mode;</li>
+ <li>1 enter safe mode;</li>
+ <li>2 get safe mode state.</li></ul>
+ @return <ul><li>0 if the safe mode is OFF or</li>
+ <li>1 if the safe mode is ON.</li></ul>
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="saveNamespace"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Save namespace image.
+ <p>
+ Saves current namespace into storage directories and reset edits log.
+ Requires superuser privilege and safe mode.
+
+ @throws AccessControlException if the superuser privilege is violated.
+ @throws IOException if image creation failed.]]>
+ </doc>
+ </method>
+ <method name="refreshNodes"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Tells the namenode to reread the hosts and exclude files.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="finalizeUpgrade"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Finalize previous upgrade.
+ Remove file system state saved during the upgrade.
+ The upgrade will become irreversible.
+
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="distributedUpgradeProgress" return="org.apache.hadoop.hdfs.server.common.UpgradeStatusReport"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="action" type="org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Report distributed upgrade progress or force current upgrade to proceed.
+
+ @param action {@link FSConstants.UpgradeAction} to perform
+ @return upgrade status information or null if no upgrades are in progress
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="metaSave"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="filename" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Dumps namenode data structures into specified file. If file
+ already exists, then append.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getFileInfo" return="org.apache.hadoop.fs.FileStatus"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get the file info for a specific file or directory.
+ @param src The string representation of the path to the file
+ @throws IOException if permission to access file is denied by the system
+ @return object containing information regarding the file
+ or null if file not found]]>
+ </doc>
+ </method>
+ <method name="getContentSummary" return="org.apache.hadoop.fs.ContentSummary"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="path" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get {@link ContentSummary} rooted at the specified directory.
+ @param path The string representation of the path]]>
+ </doc>
+ </method>
+ <method name="setQuota"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="path" type="java.lang.String"/>
+ <param name="namespaceQuota" type="long"/>
+ <param name="diskspaceQuota" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set the quota for a directory.
+ @param path The string representation of the path to the directory
+ @param namespaceQuota Limit on the number of names in the tree rooted
+ at the directory
+ @param diskspaceQuota Limit on disk space occupied all the files under
+ this directory.
+ <br><br>
+
+ The quota can have three types of values : (1) 0 or more will set
+ the quota to that value, (2) {@link FSConstants#QUOTA_DONT_SET} implies
+ the quota will not be changed, and (3) {@link FSConstants#QUOTA_RESET}
+ implies the quota will be reset. Any other value is a runtime error.
+
+ @throws FileNotFoundException if the path is a file or
+ does not exist
+ @throws QuotaExceededException if the directory size
+ is greater than the given quota]]>
+ </doc>
+ </method>
+ <method name="fsync"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="client" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Write all metadata for this file into persistent storage.
+ The file must be currently open for writing.
+ @param src The string representation of the path
+ @param client The string representation of the client]]>
+ </doc>
+ </method>
+ <method name="setTimes"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="mtime" type="long"/>
+ <param name="atime" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Sets the modification and access time of the file to the specified time.
+ @param src The string representation of the path
+ @param mtime The number of milliseconds since Jan 1, 1970.
+ Setting mtime to -1 means that modification time should not be set
+ by this call.
+ @param atime The number of milliseconds since Jan 1, 1970.
+ Setting atime to -1 means that access time should not be set
+ by this call.]]>
+ </doc>
+ </method>
+ <field name="versionID" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Compared to the previous version the following changes have been introduced:
+ (Only the latest change is reflected.
+ The log of historical changes can be retrieved from the svn).
+ 41: saveNamespace introduced.]]>
+ </doc>
+ </field>
+ <field name="GET_STATS_CAPACITY_IDX" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="GET_STATS_USED_IDX" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="GET_STATS_REMAINING_IDX" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="GET_STATS_UNDER_REPLICATED_IDX" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="GET_STATS_CORRUPT_BLOCKS_IDX" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="GET_STATS_MISSING_BLOCKS_IDX" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[ClientProtocol is used by user code via
+ {@link org.apache.hadoop.hdfs.DistributedFileSystem} class to communicate
+ with the NameNode. User code can manipulate the directory namespace,
+ as well as open/close file streams, etc.]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.protocol.ClientProtocol -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.DatanodeID -->
+ <class name="DatanodeID" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.WritableComparable"/>
+ <constructor name="DatanodeID"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Equivalent to DatanodeID("").]]>
+ </doc>
+ </constructor>
+ <constructor name="DatanodeID" type="java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Equivalent to DatanodeID(nodeName, "", -1, -1).]]>
+ </doc>
+ </constructor>
+ <constructor name="DatanodeID" type="org.apache.hadoop.hdfs.protocol.DatanodeID"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[DatanodeID copy constructor
+
+ @param from]]>
+ </doc>
+ </constructor>
+ <constructor name="DatanodeID" type="java.lang.String, java.lang.String, int, int"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Create DatanodeID
+ @param nodeName (hostname:portNumber)
+ @param storageID data storage ID
+ @param infoPort info server port
+ @param ipcPort ipc server port]]>
+ </doc>
+ </constructor>
+ <method name="getName" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[@return hostname:portNumber.]]>
+ </doc>
+ </method>
+ <method name="getStorageID" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[@return data storage ID.]]>
+ </doc>
+ </method>
+ <method name="getInfoPort" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[@return infoPort (the port at which the HTTP server bound to)]]>
+ </doc>
+ </method>
+ <method name="getIpcPort" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[@return ipcPort (the port at which the IPC server bound to)]]>
+ </doc>
+ </method>
+ <method name="setStorageID"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="storageID" type="java.lang.String"/>
+ <doc>
+ <![CDATA[sets the data storage ID.]]>
+ </doc>
+ </method>
+ <method name="getHost" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[@return hostname and no :portNumber.]]>
+ </doc>
+ </method>
+ <method name="getPort" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="equals" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="to" type="java.lang.Object"/>
+ </method>
+ <method name="hashCode" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="updateRegInfo"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeReg" type="org.apache.hadoop.hdfs.protocol.DatanodeID"/>
+ <doc>
+ <![CDATA[Update fields when a new registration request comes in.
+ Note that this does not update storageID.]]>
+ </doc>
+ </method>
+ <method name="compareTo" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="that" type="org.apache.hadoop.hdfs.protocol.DatanodeID"/>
+ <doc>
+ <![CDATA[Comparable.
+ Basis of compare is the String name (host:portNumber) only.
+ @param that
+ @return as specified by Comparable.]]>
+ </doc>
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <field name="EMPTY_ARRAY" type="org.apache.hadoop.hdfs.protocol.DatanodeID[]"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="name" type="java.lang.String"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="storageID" type="java.lang.String"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="infoPort" type="int"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="ipcPort" type="int"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[DatanodeID is composed of the data node
+ name (hostname:portNumber) and the data storage ID,
+ which it currently represents.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.DatanodeID -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.DatanodeInfo -->
+ <class name="DatanodeInfo" extends="org.apache.hadoop.hdfs.protocol.DatanodeID"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.net.Node"/>
+ <constructor name="DatanodeInfo"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="DatanodeInfo" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="DatanodeInfo" type="org.apache.hadoop.hdfs.protocol.DatanodeID"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="DatanodeInfo" type="org.apache.hadoop.hdfs.protocol.DatanodeID, java.lang.String, java.lang.String"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getCapacity" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[The raw capacity.]]>
+ </doc>
+ </method>
+ <method name="getDfsUsed" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[The used space by the data node.]]>
+ </doc>
+ </method>
+ <method name="getNonDfsUsed" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[The used space by the data node.]]>
+ </doc>
+ </method>
+ <method name="getDfsUsedPercent" return="float"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[The used space by the data node as percentage of present capacity]]>
+ </doc>
+ </method>
+ <method name="getRemaining" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[The raw free space.]]>
+ </doc>
+ </method>
+ <method name="getRemainingPercent" return="float"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[The remaining space as percentage of configured capacity.]]>
+ </doc>
+ </method>
+ <method name="getLastUpdate" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[The time when this information was accurate.]]>
+ </doc>
+ </method>
+ <method name="getXceiverCount" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[number of active connections]]>
+ </doc>
+ </method>
+ <method name="setCapacity"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="capacity" type="long"/>
+ <doc>
+ <![CDATA[Sets raw capacity.]]>
+ </doc>
+ </method>
+ <method name="setRemaining"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="remaining" type="long"/>
+ <doc>
+ <![CDATA[Sets raw free space.]]>
+ </doc>
+ </method>
+ <method name="setLastUpdate"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="lastUpdate" type="long"/>
+ <doc>
+ <![CDATA[Sets time when this information was accurate.]]>
+ </doc>
+ </method>
+ <method name="setXceiverCount"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="xceiverCount" type="int"/>
+ <doc>
+ <![CDATA[Sets number of active connections]]>
+ </doc>
+ </method>
+ <method name="getNetworkLocation" return="java.lang.String"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[rack name]]>
+ </doc>
+ </method>
+ <method name="setNetworkLocation"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="location" type="java.lang.String"/>
+ <doc>
+ <![CDATA[Sets the rack name]]>
+ </doc>
+ </method>
+ <method name="getHostName" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="setHostName"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="host" type="java.lang.String"/>
+ </method>
+ <method name="getDatanodeReport" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[A formatted string for reporting the status of the DataNode.]]>
+ </doc>
+ </method>
+ <method name="dumpDatanode" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[A formatted string for printing the status of the DataNode.]]>
+ </doc>
+ </method>
+ <method name="startDecommission"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Start decommissioning a node.
+ old state.]]>
+ </doc>
+ </method>
+ <method name="stopDecommission"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Stop decommissioning a node.
+ old state.]]>
+ </doc>
+ </method>
+ <method name="isDecommissionInProgress" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Returns true if the node is in the process of being decommissioned]]>
+ </doc>
+ </method>
+ <method name="isDecommissioned" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Returns true if the node has been decommissioned.]]>
+ </doc>
+ </method>
+ <method name="setDecommissioned"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Sets the admin state to indicate that decommision is complete.]]>
+ </doc>
+ </method>
+ <method name="setAdminState"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="newState" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo.AdminStates"/>
+ <doc>
+ <![CDATA[Sets the admin state of this node.]]>
+ </doc>
+ </method>
+ <method name="getParent" return="org.apache.hadoop.net.Node"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return this node's parent]]>
+ </doc>
+ </method>
+ <method name="setParent"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="parent" type="org.apache.hadoop.net.Node"/>
+ </method>
+ <method name="getLevel" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return this node's level in the tree.
+ E.g. the root of a tree returns 0 and its children return 1]]>
+ </doc>
+ </method>
+ <method name="setLevel"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="level" type="int"/>
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <field name="capacity" type="long"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="dfsUsed" type="long"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="remaining" type="long"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="lastUpdate" type="long"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="xceiverCount" type="int"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="location" type="java.lang.String"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="hostName" type="java.lang.String"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[HostName as suplied by the datanode during registration as its
+ name. Namenode uses datanode IP address as the name.]]>
+ </doc>
+ </field>
+ <field name="adminState" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo.AdminStates"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[DatanodeInfo represents the status of a DataNode.
+ This object is used for communication in the
+ Datanode Protocol and the Client Protocol.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.DatanodeInfo -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.DatanodeInfo.AdminStates -->
+ <class name="DatanodeInfo.AdminStates" extends="java.lang.Enum"
+ abstract="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <method name="values" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo.AdminStates[]"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="valueOf" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo.AdminStates"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.lang.String"/>
+ </method>
+ <field name="NORMAL" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo.AdminStates"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DECOMMISSION_INPROGRESS" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo.AdminStates"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DECOMMISSIONED" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo.AdminStates"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.DatanodeInfo.AdminStates -->
+ <!-- start interface org.apache.hadoop.hdfs.protocol.DataTransferProtocol -->
+ <interface name="DataTransferProtocol" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <field name="DATA_TRANSFER_VERSION" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Version for data transfers between clients and datanodes
+ This should change when serialization of DatanodeInfo, not just
+ when protocol changes. It is not very obvious.]]>
+ </doc>
+ </field>
+ <field name="OP_WRITE_BLOCK" type="byte"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="OP_READ_BLOCK" type="byte"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="OP_READ_METADATA" type="byte"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="OP_REPLACE_BLOCK" type="byte"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="OP_COPY_BLOCK" type="byte"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="OP_BLOCK_CHECKSUM" type="byte"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="OP_STATUS_SUCCESS" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="OP_STATUS_ERROR" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="OP_STATUS_ERROR_CHECKSUM" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="OP_STATUS_ERROR_INVALID" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="OP_STATUS_ERROR_EXISTS" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="OP_STATUS_CHECKSUM_OK" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[The Client transfers data to/from datanode using a streaming protocol.]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.protocol.DataTransferProtocol -->
+ <!-- start interface org.apache.hadoop.hdfs.protocol.FSConstants -->
+ <interface name="FSConstants" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <field name="MIN_BLOCKS_FOR_WRITE" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="BLOCK_INVALIDATE_CHUNK" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="QUOTA_DONT_SET" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="QUOTA_RESET" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="HEARTBEAT_INTERVAL" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="BLOCKREPORT_INTERVAL" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="BLOCKREPORT_INITIAL_DELAY" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="LEASE_SOFTLIMIT_PERIOD" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="LEASE_HARDLIMIT_PERIOD" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="LEASE_RECOVER_PERIOD" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="MAX_PATH_LENGTH" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="MAX_PATH_DEPTH" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="BUFFER_SIZE" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="SMALL_BUFFER_SIZE" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DEFAULT_BLOCK_SIZE" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DEFAULT_DATA_SOCKET_SIZE" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="SIZE_OF_INTEGER" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="LAYOUT_VERSION" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Some handy constants]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.protocol.FSConstants -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType -->
+ <class name="FSConstants.DatanodeReportType" extends="java.lang.Enum"
+ abstract="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <method name="values" return="org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType[]"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="valueOf" return="org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.lang.String"/>
+ </method>
+ <field name="ALL" type="org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="LIVE" type="org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DEAD" type="org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction -->
+ <class name="FSConstants.SafeModeAction" extends="java.lang.Enum"
+ abstract="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <method name="values" return="org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction[]"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="valueOf" return="org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.lang.String"/>
+ </method>
+ <field name="SAFEMODE_LEAVE" type="org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="SAFEMODE_ENTER" type="org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="SAFEMODE_GET" type="org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction -->
+ <class name="FSConstants.UpgradeAction" extends="java.lang.Enum"
+ abstract="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <method name="values" return="org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction[]"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="valueOf" return="org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.lang.String"/>
+ </method>
+ <field name="GET_STATUS" type="org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DETAILED_STATUS" type="org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="FORCE_PROCEED" type="org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Distributed upgrade actions:
+
+ 1. Get upgrade status.
+ 2. Get detailed upgrade status.
+ 3. Proceed with the upgrade if it is stuck, no matter what the status is.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.LocatedBlock -->
+ <class name="LocatedBlock" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.Writable"/>
+ <constructor name="LocatedBlock"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="LocatedBlock" type="org.apache.hadoop.hdfs.protocol.Block, org.apache.hadoop.hdfs.protocol.DatanodeInfo[]"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="LocatedBlock" type="org.apache.hadoop.hdfs.protocol.Block, org.apache.hadoop.hdfs.protocol.DatanodeInfo[], long"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="LocatedBlock" type="org.apache.hadoop.hdfs.protocol.Block, org.apache.hadoop.hdfs.protocol.DatanodeInfo[], long, boolean"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getBlock" return="org.apache.hadoop.hdfs.protocol.Block"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getLocations" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getStartOffset" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getBlockSize" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="isCorrupt" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <doc>
+ <![CDATA[A LocatedBlock is a pair of Block, DatanodeInfo[]
+ objects. It tells where to find a Block.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.LocatedBlock -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.LocatedBlocks -->
+ <class name="LocatedBlocks" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.Writable"/>
+ <constructor name="LocatedBlocks" type="long, java.util.List, boolean"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getLocatedBlocks" return="java.util.List"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Get located blocks.]]>
+ </doc>
+ </method>
+ <method name="get" return="org.apache.hadoop.hdfs.protocol.LocatedBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="index" type="int"/>
+ <doc>
+ <![CDATA[Get located block.]]>
+ </doc>
+ </method>
+ <method name="locatedBlockCount" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Get number of located blocks.]]>
+ </doc>
+ </method>
+ <method name="getFileLength" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="isUnderConstruction" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return ture if file was under construction when
+ this LocatedBlocks was constructed, false otherwise.]]>
+ </doc>
+ </method>
+ <method name="findBlock" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="offset" type="long"/>
+ <doc>
+ <![CDATA[Find block containing specified offset.
+
+ @return block if found, or null otherwise.]]>
+ </doc>
+ </method>
+ <method name="insertRange"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blockIdx" type="int"/>
+ <param name="newBlocks" type="java.util.List"/>
+ </method>
+ <method name="getInsertIndex" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="binSearchResult" type="int"/>
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <doc>
+ <![CDATA[Collection of blocks with their locations and the file length.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.LocatedBlocks -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.QuotaExceededException -->
+ <class name="QuotaExceededException" extends="java.io.IOException"
+ abstract="false"
+ static="false" final="true" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="QuotaExceededException" type="java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="QuotaExceededException" type="long, long, long, long"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="setPathName"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="path" type="java.lang.String"/>
+ </method>
+ <method name="getMessage" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <doc>
+ <![CDATA[This exception is thrown when modification to HDFS results in violation
+ of a directory quota. A directory quota might be namespace quota (limit
+ on number of files and directories) or a diskspace quota (limit on space
+ taken by all the file under the directory tree). <br> <br>
+
+ The message for the exception specifies the directory where the quota
+ was violated and actual quotas.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.QuotaExceededException -->
+ <!-- start class org.apache.hadoop.hdfs.protocol.UnregisteredDatanodeException -->
+ <class name="UnregisteredDatanodeException" extends="java.io.IOException"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="UnregisteredDatanodeException" type="org.apache.hadoop.hdfs.protocol.DatanodeID"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="UnregisteredDatanodeException" type="org.apache.hadoop.hdfs.protocol.DatanodeID, org.apache.hadoop.hdfs.protocol.DatanodeInfo"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <doc>
+ <![CDATA[This exception is thrown when a datanode that has not previously
+ registered is trying to access the name node.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.protocol.UnregisteredDatanodeException -->
+</package>
+<package name="org.apache.hadoop.hdfs.server.balancer">
+ <!-- start class org.apache.hadoop.hdfs.server.balancer.Balancer -->
+ <class name="Balancer" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.util.Tool"/>
+ <method name="main"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="args" type="java.lang.String[]"/>
+ <doc>
+ <![CDATA[Run a balancer
+ @param args]]>
+ </doc>
+ </method>
+ <method name="run" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="args" type="java.lang.String[]"/>
+ <exception name="Exception" type="java.lang.Exception"/>
+ <doc>
+ <![CDATA[main method of Balancer
+ @param args arguments to a Balancer
+ @exception any exception occurs during datanode balancing]]>
+ </doc>
+ </method>
+ <method name="getConf" return="org.apache.hadoop.conf.Configuration"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[return this balancer's configuration]]>
+ </doc>
+ </method>
+ <method name="setConf"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <doc>
+ <![CDATA[set this balancer's configuration]]>
+ </doc>
+ </method>
+ <field name="MAX_NUM_CONCURRENT_MOVES" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[The maximum number of concurrent blocks moves for
+ balancing purpose at a datanode]]>
+ </doc>
+ </field>
+ <field name="SUCCESS" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="ALREADY_RUNNING" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="NO_MOVE_BLOCK" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="NO_MOVE_PROGRESS" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="IO_EXCEPTION" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="ILLEGAL_ARGS" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[<p>The balancer is a tool that balances disk space usage on an HDFS cluster
+ when some datanodes become full or when new empty nodes join the cluster.
+ The tool is deployed as an application program that can be run by the
+ cluster administrator on a live HDFS cluster while applications
+ adding and deleting files.
+
+ <p>SYNOPSIS
+ <pre>
+ To start:
+ bin/start-balancer.sh [-threshold <threshold>]
+ Example: bin/ start-balancer.sh
+ start the balancer with a default threshold of 10%
+ bin/ start-balancer.sh -threshold 5
+ start the balancer with a threshold of 5%
+ To stop:
+ bin/ stop-balancer.sh
+ </pre>
+
+ <p>DESCRIPTION
+ <p>The threshold parameter is a fraction in the range of (0%, 100%) with a
+ default value of 10%. The threshold sets a target for whether the cluster
+ is balanced. A cluster is balanced if for each datanode, the utilization
+ of the node (ratio of used space at the node to total capacity of the node)
+ differs from the utilization of the (ratio of used space in the cluster
+ to total capacity of the cluster) by no more than the threshold value.
+ The smaller the threshold, the more balanced a cluster will become.
+ It takes more time to run the balancer for small threshold values.
+ Also for a very small threshold the cluster may not be able to reach the
+ balanced state when applications write and delete files concurrently.
+
+ <p>The tool moves blocks from highly utilized datanodes to poorly
+ utilized datanodes iteratively. In each iteration a datanode moves or
+ receives no more than the lesser of 10G bytes or the threshold fraction
+ of its capacity. Each iteration runs no more than 20 minutes.
+ At the end of each iteration, the balancer obtains updated datanodes
+ information from the namenode.
+
+ <p>A system property that limits the balancer's use of bandwidth is
+ defined in the default configuration file:
+ <pre>
+ <property>
+ <name>dfs.balance.bandwidthPerSec</name>
+ <value>1048576</value>
+ <description> Specifies the maximum bandwidth that each datanode
+ can utilize for the balancing purpose in term of the number of bytes
+ per second. </description>
+ </property>
+ </pre>
+
+ <p>This property determines the maximum speed at which a block will be
+ moved from one datanode to another. The default value is 1MB/s. The higher
+ the bandwidth, the faster a cluster can reach the balanced state,
+ but with greater competition with application processes. If an
+ administrator changes the value of this property in the configuration
+ file, the change is observed when HDFS is next restarted.
+
+ <p>MONITERING BALANCER PROGRESS
+ <p>After the balancer is started, an output file name where the balancer
+ progress will be recorded is printed on the screen. The administrator
+ can monitor the running of the balancer by reading the output file.
+ The output shows the balancer's status iteration by iteration. In each
+ iteration it prints the starting time, the iteration number, the total
+ number of bytes that have been moved in the previous iterations,
+ the total number of bytes that are left to move in order for the cluster
+ to be balanced, and the number of bytes that are being moved in this
+ iteration. Normally "Bytes Already Moved" is increasing while "Bytes Left
+ To Move" is decreasing.
+
+ <p>Running multiple instances of the balancer in an HDFS cluster is
+ prohibited by the tool.
+
+ <p>The balancer automatically exits when any of the following five
+ conditions is satisfied:
+ <ol>
+ <li>The cluster is balanced;
+ <li>No block can be moved;
+ <li>No block has been moved for five consecutive iterations;
+ <li>An IOException occurs while communicating with the namenode;
+ <li>Another balancer is running.
+ </ol>
+
+ <p>Upon exit, a balancer returns an exit code and prints one of the
+ following messages to the output file in corresponding to the above exit
+ reasons:
+ <ol>
+ <li>The cluster is balanced. Exiting
+ <li>No block can be moved. Exiting...
+ <li>No block has been moved for 3 iterations. Exiting...
+ <li>Received an IO exception: failure reason. Exiting...
+ <li>Another balancer is running. Exiting...
+ </ol>
+
+ <p>The administrator can interrupt the execution of the balancer at any
+ time by running the command "stop-balancer.sh" on the machine where the
+ balancer is running.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.balancer.Balancer -->
+</package>
+<package name="org.apache.hadoop.hdfs.server.common">
+ <!-- start class org.apache.hadoop.hdfs.server.common.GenerationStamp -->
+ <class name="GenerationStamp" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.WritableComparable"/>
+ <constructor name="GenerationStamp"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Create a new instance, initialized to FIRST_VALID_STAMP.]]>
+ </doc>
+ </constructor>
+ <method name="getStamp" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Returns the current generation stamp]]>
+ </doc>
+ </method>
+ <method name="setStamp"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="stamp" type="long"/>
+ <doc>
+ <![CDATA[Sets the current generation stamp]]>
+ </doc>
+ </method>
+ <method name="nextStamp" return="long"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[First increments the counter and then returns the stamp]]>
+ </doc>
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="compare" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="x" type="long"/>
+ <param name="y" type="long"/>
+ </method>
+ <method name="compareTo" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="that" type="org.apache.hadoop.hdfs.server.common.GenerationStamp"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="equals" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="o" type="java.lang.Object"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="equalsWithWildcard" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="x" type="long"/>
+ <param name="y" type="long"/>
+ </method>
+ <method name="hashCode" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <field name="WILDCARD_STAMP" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="FIRST_VALID_STAMP" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[A GenerationStamp is a Hadoop FS primitive, identified by a long.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.GenerationStamp -->
+ <!-- start interface org.apache.hadoop.hdfs.server.common.HdfsConstants -->
+ <interface name="HdfsConstants" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <field name="READ_TIMEOUT" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="WRITE_TIMEOUT" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="WRITE_TIMEOUT_EXTENSION" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Some handy internal HDFS constants]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.server.common.HdfsConstants -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType -->
+ <class name="HdfsConstants.NodeType" extends="java.lang.Enum"
+ abstract="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <method name="values" return="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType[]"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="valueOf" return="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.lang.String"/>
+ </method>
+ <field name="NAME_NODE" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DATA_NODE" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Type of the node]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption -->
+ <class name="HdfsConstants.StartupOption" extends="java.lang.Enum"
+ abstract="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <method name="values" return="org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption[]"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="valueOf" return="org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.lang.String"/>
+ </method>
+ <method name="getName" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <field name="FORMAT" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="REGULAR" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="UPGRADE" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="ROLLBACK" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="FINALIZE" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="IMPORT" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.InconsistentFSStateException -->
+ <class name="InconsistentFSStateException" extends="java.io.IOException"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="InconsistentFSStateException" type="java.io.File, java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="InconsistentFSStateException" type="java.io.File, java.lang.String, java.lang.Throwable"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <doc>
+ <![CDATA[The exception is thrown when file system state is inconsistent
+ and is not recoverable.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.InconsistentFSStateException -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.IncorrectVersionException -->
+ <class name="IncorrectVersionException" extends="java.io.IOException"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="IncorrectVersionException" type="int, java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="IncorrectVersionException" type="int, java.lang.String, int"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <doc>
+ <![CDATA[The exception is thrown when external version does not match
+ current version of the appication.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.IncorrectVersionException -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.Storage -->
+ <class name="Storage" extends="org.apache.hadoop.hdfs.server.common.StorageInfo"
+ abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="Storage" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Create empty storage info of the specified type]]>
+ </doc>
+ </constructor>
+ <constructor name="Storage" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType, int, long"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="Storage" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType, org.apache.hadoop.hdfs.server.common.StorageInfo"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="dirIterator" return="java.util.Iterator"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return default iterator
+ This iterator returns all entires of storageDirs]]>
+ </doc>
+ </method>
+ <method name="dirIterator" return="java.util.Iterator"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="dirType" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirType"/>
+ <doc>
+ <![CDATA[Return iterator based on Storage Directory Type
+ This iterator selects entires of storageDirs of type dirType and returns
+ them via the Iterator]]>
+ </doc>
+ </method>
+ <method name="getNumStorageDirs" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getStorageDir" return="org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="idx" type="int"/>
+ </method>
+ <method name="addStorageDir"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="sd" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory"/>
+ </method>
+ <method name="isConversionNeeded" return="boolean"
+ abstract="true" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="sd" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="checkVersionUpgradable"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="oldVersion" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Checks if the upgrade from the given old version is supported. If
+ no upgrade is supported, it throws IncorrectVersionException.
+
+ @param oldVersion]]>
+ </doc>
+ </method>
+ <method name="getFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="props" type="java.util.Properties"/>
+ <param name="sd" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get common storage fields.
+ Should be overloaded if additional fields need to be get.
+
+ @param props
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="setFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="props" type="java.util.Properties"/>
+ <param name="sd" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set common storage fields.
+ Should be overloaded if additional fields need to be set.
+
+ @param props
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="rename"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="from" type="java.io.File"/>
+ <param name="to" type="java.io.File"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="deleteDir"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="dir" type="java.io.File"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="writeAll"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Write all data storage files.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="unlockAll"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Unlock all storage directories.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="isLockSupported" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="idx" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Check whether underlying file system supports file locking.
+
+ @return <code>true</code> if exclusive locks are supported or
+ <code>false</code> otherwise.
+ @throws IOException
+ @see StorageDirectory#lock()]]>
+ </doc>
+ </method>
+ <method name="getBuildVersion" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getRegistrationID" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="storage" type="org.apache.hadoop.hdfs.server.common.StorageInfo"/>
+ </method>
+ <method name="corruptPreUpgradeStorage"
+ abstract="true" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="rootDir" type="java.io.File"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="writeCorruptedData"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="file" type="java.io.RandomAccessFile"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <field name="LOG" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="LAST_PRE_UPGRADE_LAYOUT_VERSION" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="LAST_UPGRADABLE_LAYOUT_VERSION" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="LAST_UPGRADABLE_HADOOP_VERSION" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="PRE_GENERATIONSTAMP_LAYOUT_VERSION" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="STORAGE_FILE_VERSION" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="STORAGE_DIR_CURRENT" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="storageDirs" type="java.util.List"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Storage information file.
+ <p>
+ Local storage information is stored in a separate file VERSION.
+ It contains type of the node,
+ the storage layout version, the namespace id, and
+ the fs state creation time.
+ <p>
+ Local storage can reside in multiple directories.
+ Each directory should contain the same VERSION file as the others.
+ During startup Hadoop servers (name-node and data-nodes) read their local
+ storage information from them.
+ <p>
+ The servers hold a lock for each storage directory while they run so that
+ other nodes were not able to startup sharing the same storage.
+ The locks are released when the servers stop (normally or abnormally).]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.Storage -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory -->
+ <class name="Storage.StorageDirectory" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="Storage.StorageDirectory" type="java.io.File"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="Storage.StorageDirectory" type="java.io.File, org.apache.hadoop.hdfs.server.common.Storage.StorageDirType"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getRoot" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Get root directory of this storage]]>
+ </doc>
+ </method>
+ <method name="getStorageDirType" return="org.apache.hadoop.hdfs.server.common.Storage.StorageDirType"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Get storage directory type]]>
+ </doc>
+ </method>
+ <method name="read"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Read version file.
+
+ @throws IOException if file cannot be read or contains inconsistent data]]>
+ </doc>
+ </method>
+ <method name="read"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="from" type="java.io.File"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Write version file.
+
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="to" type="java.io.File"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="clearDirectory"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Clear and re-create storage directory.
+ <p>
+ Removes contents of the current directory and creates an empty directory.
+
+ This does not fully format storage directory.
+ It cannot write the version file since it should be written last after
+ all other storage type dependent files are written.
+ Derived storage is responsible for setting specific storage values and
+ writing the version file to disk.
+
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getCurrentDir" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getVersionFile" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getPreviousVersionFile" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getPreviousDir" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getPreviousTmp" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getRemovedTmp" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getFinalizedTmp" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getLastCheckpointTmp" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getPreviousCheckpoint" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="analyzeStorage" return="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="startOpt" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Check consistency of the storage directory
+
+ @param startOpt a startup option.
+
+ @return state {@link StorageState} of the storage directory
+ @throws {@link InconsistentFSStateException} if directory state is not
+ consistent and cannot be recovered]]>
+ </doc>
+ </method>
+ <method name="doRecover"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="curState" type="org.apache.hadoop.hdfs.server.common.Storage.StorageState"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Complete or recover storage state from previously failed transition.
+
+ @param curState specifies what/how the state should be recovered
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="lock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Lock storage to provide exclusive access.
+
+ <p> Locking is not supported by all file systems.
+ E.g., NFS does not consistently support exclusive locks.
+
+ <p> If locking is supported we guarantee exculsive access to the
+ storage directory. Otherwise, no guarantee is given.
+
+ @throws IOException if locking fails]]>
+ </doc>
+ </method>
+ <method name="unlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Unlock storage.
+
+ @throws IOException]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[One of the storage directories.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory -->
+ <!-- start interface org.apache.hadoop.hdfs.server.common.Storage.StorageDirType -->
+ <interface name="Storage.StorageDirType" abstract="true"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <method name="getStorageDirType" return="org.apache.hadoop.hdfs.server.common.Storage.StorageDirType"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="isOfType" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="type" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirType"/>
+ </method>
+ <doc>
+ <![CDATA[An interface to denote storage directory type
+ Implementations can define a type for storage directory by implementing
+ this interface.]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.server.common.Storage.StorageDirType -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.Storage.StorageState -->
+ <class name="Storage.StorageState" extends="java.lang.Enum"
+ abstract="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <method name="values" return="org.apache.hadoop.hdfs.server.common.Storage.StorageState[]"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="valueOf" return="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.lang.String"/>
+ </method>
+ <field name="NON_EXISTENT" type="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="NOT_FORMATTED" type="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="COMPLETE_UPGRADE" type="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="RECOVER_UPGRADE" type="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="COMPLETE_FINALIZE" type="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="COMPLETE_ROLLBACK" type="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="RECOVER_ROLLBACK" type="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="COMPLETE_CHECKPOINT" type="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="RECOVER_CHECKPOINT" type="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="NORMAL" type="org.apache.hadoop.hdfs.server.common.Storage.StorageState"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.Storage.StorageState -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.StorageInfo -->
+ <class name="StorageInfo" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="StorageInfo"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="StorageInfo" type="int, int, long"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="StorageInfo" type="org.apache.hadoop.hdfs.server.common.StorageInfo"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getLayoutVersion" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getNamespaceID" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getCTime" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="setStorageInfo"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="from" type="org.apache.hadoop.hdfs.server.common.StorageInfo"/>
+ </method>
+ <field name="layoutVersion" type="int"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="namespaceID" type="int"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="cTime" type="long"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Common class for storage information.
+
+ TODO namespaceID should be long and computed as hash(address + port)]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.StorageInfo -->
+ <!-- start interface org.apache.hadoop.hdfs.server.common.Upgradeable -->
+ <interface name="Upgradeable" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="java.lang.Comparable"/>
+ <method name="getVersion" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Get the layout version of the upgrade object.
+ @return layout version]]>
+ </doc>
+ </method>
+ <method name="getType" return="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Get the type of the software component, which this object is upgrading.
+ @return type]]>
+ </doc>
+ </method>
+ <method name="getDescription" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Description of the upgrade object for displaying.
+ @return description]]>
+ </doc>
+ </method>
+ <method name="getUpgradeStatus" return="short"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Upgrade status determines a percentage of the work done out of the total
+ amount required by the upgrade.
+
+ 100% means that the upgrade is completed.
+ Any value < 100 means it is not complete.
+
+ The return value should provide at least 2 values, e.g. 0 and 100.
+ @return integer value in the range [0, 100].]]>
+ </doc>
+ </method>
+ <method name="startUpgrade" return="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Prepare for the upgrade.
+ E.g. initialize upgrade data structures and set status to 0.
+
+ Returns an upgrade command that is used for broadcasting to other cluster
+ components.
+ E.g. name-node informs data-nodes that they must perform a distributed upgrade.
+
+ @return an UpgradeCommand for broadcasting.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="completeUpgrade" return="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Complete upgrade.
+ E.g. cleanup upgrade data structures or write metadata to disk.
+
+ Returns an upgrade command that is used for broadcasting to other cluster
+ components.
+ E.g. data-nodes inform the name-node that they completed the upgrade
+ while other data-nodes are still upgrading.
+
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getUpgradeStatusReport" return="org.apache.hadoop.hdfs.server.common.UpgradeStatusReport"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="details" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get status report for the upgrade.
+
+ @param details true if upgradeStatus details need to be included,
+ false otherwise
+ @return {@link UpgradeStatusReport}
+ @throws IOException]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[Common interface for distributed upgrade objects.
+
+ Each upgrade object corresponds to a layout version,
+ which is the latest version that should be upgraded using this object.
+ That is all components whose layout version is greater or equal to the
+ one returned by {@link #getVersion()} must be upgraded with this object.]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.server.common.Upgradeable -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.UpgradeManager -->
+ <class name="UpgradeManager" extends="java.lang.Object"
+ abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="UpgradeManager"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getBroadcastCommand" return="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getUpgradeState" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getUpgradeVersion" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="setUpgradeState"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="uState" type="boolean"/>
+ <param name="uVersion" type="int"/>
+ </method>
+ <method name="getDistributedUpgrades" return="java.util.SortedSet"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getUpgradeStatus" return="short"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="initializeUpgrade" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="isUpgradeCompleted" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getType" return="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType"
+ abstract="true" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="startUpgrade" return="boolean"
+ abstract="true" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="completeUpgrade"
+ abstract="true" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <field name="currentUpgrades" type="java.util.SortedSet"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="upgradeState" type="boolean"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="upgradeVersion" type="int"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="broadcastCommand" type="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Generic upgrade manager.
+
+ {@link #broadcastCommand} is the command that should be]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.UpgradeManager -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.UpgradeObject -->
+ <class name="UpgradeObject" extends="java.lang.Object"
+ abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.hdfs.server.common.Upgradeable"/>
+ <constructor name="UpgradeObject"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getUpgradeStatus" return="short"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getDescription" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getUpgradeStatusReport" return="org.apache.hadoop.hdfs.server.common.UpgradeStatusReport"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="details" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="compareTo" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="o" type="org.apache.hadoop.hdfs.server.common.Upgradeable"/>
+ </method>
+ <method name="equals" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="o" type="java.lang.Object"/>
+ </method>
+ <method name="hashCode" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <field name="status" type="short"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Abstract upgrade object.
+
+ Contains default implementation of common methods of {@link Upgradeable}
+ interface.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.UpgradeObject -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.UpgradeObjectCollection -->
+ <class name="UpgradeObjectCollection" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="UpgradeObjectCollection"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getDistributedUpgrades" return="java.util.SortedSet"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="versionFrom" type="int"/>
+ <param name="type" type="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <doc>
+ <![CDATA[Collection of upgrade objects.
+
+ Upgrade objects should be registered here before they can be used.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.UpgradeObjectCollection -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.UpgradeStatusReport -->
+ <class name="UpgradeStatusReport" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.Writable"/>
+ <constructor name="UpgradeStatusReport"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="UpgradeStatusReport" type="int, short, boolean"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getVersion" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Get the layout version of the currently running upgrade.
+ @return layout version]]>
+ </doc>
+ </method>
+ <method name="getUpgradeStatus" return="short"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Get upgrade upgradeStatus as a percentage of the total upgrade done.
+
+ @see Upgradeable#getUpgradeStatus()]]>
+ </doc>
+ </method>
+ <method name="isFinalized" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Is current upgrade finalized.
+ @return true if finalized or false otherwise.]]>
+ </doc>
+ </method>
+ <method name="getStatusText" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="details" type="boolean"/>
+ <doc>
+ <![CDATA[Get upgradeStatus data as a text for reporting.
+ Should be overloaded for a particular upgrade specific upgradeStatus data.
+
+ @param details true if upgradeStatus details need to be included,
+ false otherwise
+ @return text]]>
+ </doc>
+ </method>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Print basic upgradeStatus details.]]>
+ </doc>
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <field name="version" type="int"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="upgradeStatus" type="short"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="finalized" type="boolean"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Base upgrade upgradeStatus class.
+ Overload this class if specific status fields need to be reported.
+
+ Describes status of current upgrade.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.UpgradeStatusReport -->
+ <!-- start class org.apache.hadoop.hdfs.server.common.Util -->
+ <class name="Util" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="true" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="Util"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="now" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Current system time.
+ @return current time in msec.]]>
+ </doc>
+ </method>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.common.Util -->
+</package>
+<package name="org.apache.hadoop.hdfs.server.datanode">
+ <!-- start class org.apache.hadoop.hdfs.server.datanode.DataNode -->
+ <class name="DataNode" extends="org.apache.hadoop.conf.Configured"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.hdfs.server.protocol.InterDatanodeProtocol"/>
+ <implements name="org.apache.hadoop.hdfs.protocol.ClientDatanodeProtocol"/>
+ <implements name="org.apache.hadoop.hdfs.protocol.FSConstants"/>
+ <implements name="java.lang.Runnable"/>
+ <method name="createSocketAddr" return="java.net.InetSocketAddress"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="target" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Use {@link NetUtils#createSocketAddr(String)} instead.]]>
+ </doc>
+ </method>
+ <method name="newSocket" return="java.net.Socket"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Creates either NIO or regular depending on socketWriteTimeout.]]>
+ </doc>
+ </method>
+ <method name="getDataNode" return="org.apache.hadoop.hdfs.server.datanode.DataNode"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return the DataNode object]]>
+ </doc>
+ </method>
+ <method name="createInterDataNodeProtocolProxy" return="org.apache.hadoop.hdfs.server.protocol.InterDatanodeProtocol"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="datanodeid" type="org.apache.hadoop.hdfs.protocol.DatanodeID"/>
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getNameNodeAddr" return="java.net.InetSocketAddress"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getSelfAddr" return="java.net.InetSocketAddress"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getNamenode" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return the namenode's identifier]]>
+ </doc>
+ </method>
+ <method name="setNewStorageID"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="dnReg" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ </method>
+ <method name="shutdown"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Shut down this instance of the datanode.
+ Returns only after shutdown is complete.
+ This method can only be called by the offerService thread.
+ Otherwise, deadlock might occur.]]>
+ </doc>
+ </method>
+ <method name="checkDiskError"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="e" type="java.io.IOException"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="checkDiskError"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="offerService"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="Exception" type="java.lang.Exception"/>
+ <doc>
+ <![CDATA[Main loop for the DataNode. Runs until shutdown,
+ forever calling remote NameNode functions.]]>
+ </doc>
+ </method>
+ <method name="notifyNamenodeReceivedBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="block" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="delHint" type="java.lang.String"/>
+ </method>
+ <method name="run"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[No matter what kind of exception we get, keep retrying to offerService().
+ That's the loop that connects to the NameNode and provides basic DataNode
+ functionality.
+
+ Only stop when "shouldRun" is turned off (which can only happen at shutdown).]]>
+ </doc>
+ </method>
+ <method name="runDatanodeDaemon"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="dn" type="org.apache.hadoop.hdfs.server.datanode.DataNode"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Start a single datanode daemon and wait for it to finish.
+ If this thread is specifically interrupted, it will stop waiting.]]>
+ </doc>
+ </method>
+ <method name="instantiateDataNode" return="org.apache.hadoop.hdfs.server.datanode.DataNode"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="args" type="java.lang.String[]"/>
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Instantiate a single datanode object. This must be run by invoking
+ {@link DataNode#runDatanodeDaemon(DataNode)} subsequently.]]>
+ </doc>
+ </method>
+ <method name="createDataNode" return="org.apache.hadoop.hdfs.server.datanode.DataNode"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="args" type="java.lang.String[]"/>
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Instantiate & Start a single datanode daemon and wait for it to finish.
+ If this thread is specifically interrupted, it will stop waiting.]]>
+ </doc>
+ </method>
+ <method name="makeInstance" return="org.apache.hadoop.hdfs.server.datanode.DataNode"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="dataDirs" type="java.lang.String[]"/>
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Make an instance of DataNode after ensuring that at least one of the
+ given data directories (and their parent directories, if necessary)
+ can be created.
+ @param dataDirs List of directories, where the new DataNode instance should
+ keep its files.
+ @param conf Configuration instance to use.
+ @return DataNode instance for given list of data dirs and conf, or null if
+ no directory from this directory list can be created.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="scheduleBlockReport"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="delay" type="long"/>
+ <doc>
+ <![CDATA[This methods arranges for the data node to send the block report at the next heartbeat.]]>
+ </doc>
+ </method>
+ <method name="getFSDataset" return="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[This method is used for testing.
+ Examples are adding and deleting blocks directly.
+ The most common usage will be when the data node's storage is similated.
+
+ @return the fsdataset that stores the blocks]]>
+ </doc>
+ </method>
+ <method name="main"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="args" type="java.lang.String[]"/>
+ </method>
+ <method name="getBlockMetaDataInfo" return="org.apache.hadoop.hdfs.server.protocol.BlockMetaDataInfo"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="block" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="recoverBlocks" return="org.apache.hadoop.util.Daemon"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blocks" type="org.apache.hadoop.hdfs.protocol.Block[]"/>
+ <param name="targets" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo[][]"/>
+ </method>
+ <method name="updateBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="oldblock" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="newblock" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="finalize" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="getProtocolVersion" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="protocol" type="java.lang.String"/>
+ <param name="clientVersion" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="recoverBlock" return="org.apache.hadoop.hdfs.protocol.LocatedBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="block" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="keepLength" type="boolean"/>
+ <param name="targets" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <field name="LOG" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DN_CLIENTTRACE_FORMAT" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="namenode" type="org.apache.hadoop.hdfs.server.protocol.DatanodeProtocol"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="data" type="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="dnRegistration" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="EMPTY_DEL_HINT" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blockScanner" type="org.apache.hadoop.hdfs.server.datanode.DataBlockScanner"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blockScannerThread" type="org.apache.hadoop.util.Daemon"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="ipcServer" type="org.apache.hadoop.ipc.Server"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="PKT_HEADER_LEN" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Header size for a packet]]>
+ </doc>
+ </field>
+ <doc>
+ <![CDATA[DataNode is a class (and program) that stores a set of
+ blocks for a DFS deployment. A single deployment can
+ have one or many DataNodes. Each DataNode communicates
+ regularly with a single NameNode. It also communicates
+ with client code and other DataNodes from time to time.
+
+ DataNodes store a series of named blocks. The DataNode
+ allows client code to read these blocks, or to write new
+ block data. The DataNode may also, in response to instructions
+ from its NameNode, delete blocks or copy blocks to/from other
+ DataNodes.
+
+ The DataNode maintains just one critical table:
+ block-> stream of bytes (of BLOCK_SIZE or less)
+
+ This info is stored on a local disk. The DataNode
+ reports the table's contents to the NameNode upon startup
+ and every so often afterwards.
+
+ DataNodes spend their lives in an endless loop of asking
+ the NameNode for something to do. A NameNode cannot connect
+ to a DataNode directly; a NameNode simply returns values from
+ functions invoked by a DataNode.
+
+ DataNodes maintain an open server socket so that client code
+ or other DataNodes can read/write data. The host/port for
+ this server is reported to the NameNode, which then sends that
+ information to clients or other DataNodes that might be interested.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.datanode.DataNode -->
+ <!-- start class org.apache.hadoop.hdfs.server.datanode.DataStorage -->
+ <class name="DataStorage" extends="org.apache.hadoop.hdfs.server.common.Storage"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="DataStorage" type="org.apache.hadoop.hdfs.server.common.StorageInfo, java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getStorageID" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="setFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="props" type="java.util.Properties"/>
+ <param name="sd" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="props" type="java.util.Properties"/>
+ <param name="sd" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="isConversionNeeded" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="sd" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="corruptPreUpgradeStorage"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="rootDir" type="java.io.File"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <doc>
+ <![CDATA[Data storage information file.
+ <p>
+ @see Storage]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.datanode.DataStorage -->
+ <!-- start class org.apache.hadoop.hdfs.server.datanode.FSDataset -->
+ <class name="FSDataset" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.hdfs.protocol.FSConstants"/>
+ <implements name="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface"/>
+ <constructor name="FSDataset" type="org.apache.hadoop.hdfs.server.datanode.DataStorage, org.apache.hadoop.conf.Configuration"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[An FSDataset has a directory where it loads its data files.]]>
+ </doc>
+ </constructor>
+ <method name="getMetaFile" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="findBlockFile" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blockId" type="long"/>
+ <doc>
+ <![CDATA[Return the block file for the given ID]]>
+ </doc>
+ </method>
+ <method name="getStoredBlock" return="org.apache.hadoop.hdfs.protocol.Block"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blkid" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="metaFileExists" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getMetaDataLength" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getMetaDataInputStream" return="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.MetaDataInputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getDfsUsed" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Return the total space used by dfs datanode]]>
+ </doc>
+ </method>
+ <method name="getCapacity" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Return total capacity, used and unused]]>
+ </doc>
+ </method>
+ <method name="getRemaining" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Return how many bytes can still be stored in the FSDataset]]>
+ </doc>
+ </method>
+ <method name="getLength" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Find the block's on-disk length]]>
+ </doc>
+ </method>
+ <method name="getBlockFile" return="java.io.File"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get File name for a given block.]]>
+ </doc>
+ </method>
+ <method name="getBlockInputStream" return="java.io.InputStream"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getBlockInputStream" return="java.io.InputStream"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="seekOffset" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getTmpInputStreams" return="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockInputStreams"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="blkOffset" type="long"/>
+ <param name="ckoff" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns handles to the block file and its metadata file]]>
+ </doc>
+ </method>
+ <method name="detachBlock" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="block" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="numLinks" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Make a copy of the block if this block is linked to an existing
+ snapshot. This ensures that modifying this block does not modify
+ data in any existing snapshots.
+ @param block Block
+ @param numLinks Detach if the number of links exceed this value
+ @throws IOException
+ @return - true if the specified block was detached]]>
+ </doc>
+ </method>
+ <method name="updateBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="oldblock" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="newblock" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="writeToBlock" return="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockWriteStreams"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="isRecovery" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Start writing to a block file
+ If isRecovery is true and the block pre-exists, then we kill all
+ volumeMap.put(b, v);
+ volumeMap.put(b, v);
+ other threads that might be writing to this block, and then reopen the file.]]>
+ </doc>
+ </method>
+ <method name="getChannelPosition" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="streams" type="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockWriteStreams"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Retrieves the offset in the block to which the
+ the next write will write data to.]]>
+ </doc>
+ </method>
+ <method name="setChannelPosition"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="streams" type="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockWriteStreams"/>
+ <param name="dataOffset" type="long"/>
+ <param name="ckOffset" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Sets the offset in the block to which the
+ the next write will write data to.]]>
+ </doc>
+ </method>
+ <method name="finalizeBlock"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Complete the block write!]]>
+ </doc>
+ </method>
+ <method name="unfinalizeBlock"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Remove the temporary block file (if any)]]>
+ </doc>
+ </method>
+ <method name="getBlockReport" return="org.apache.hadoop.hdfs.protocol.Block[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return a table of block data]]>
+ </doc>
+ </method>
+ <method name="isValidBlock" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <doc>
+ <![CDATA[Check whether the given block is a valid one.]]>
+ </doc>
+ </method>
+ <method name="validateBlockMetadata"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="invalidate"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="invalidBlks" type="org.apache.hadoop.hdfs.protocol.Block[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[We're informed that a block is no longer valid. We
+ could lazily garbage-collect the block, but why bother?
+ just get rid of it.]]>
+ </doc>
+ </method>
+ <method name="getFile" return="java.io.File"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <doc>
+ <![CDATA[Turn the block identifier into a filename.]]>
+ </doc>
+ </method>
+ <method name="checkDataDir"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="DiskChecker.DiskErrorException" type="org.apache.hadoop.util.DiskChecker.DiskErrorException"/>
+ <doc>
+ <![CDATA[check if a data directory is healthy
+ @throws DiskErrorException]]>
+ </doc>
+ </method>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="shutdown"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getStorageInfo" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <field name="METADATA_EXTENSION" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="METADATA_VERSION" type="short"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[FSDataset manages a set of data blocks. Each block
+ has a unique name and an extent on disk.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.datanode.FSDataset -->
+ <!-- start interface org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface -->
+ <interface name="FSDatasetInterface" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.hdfs.server.datanode.metrics.FSDatasetMBean"/>
+ <method name="getMetaDataLength" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns the length of the metadata file of the specified block
+ @param b - the block for which the metadata length is desired
+ @return the length of the metadata file for the specified block.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getMetaDataInputStream" return="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.MetaDataInputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns metaData of block b as an input stream (and its length)
+ @param b - the block
+ @return the metadata input stream;
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="metaFileExists" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Does the meta file exist for this block?
+ @param b - the block
+ @return true of the metafile for specified block exits
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getLength" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns the specified block's on-disk length (excluding metadata)
+ @param b
+ @return the specified block's on-disk length (excluding metadta)
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getStoredBlock" return="org.apache.hadoop.hdfs.protocol.Block"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blkid" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@return the generation stamp stored with the block.]]>
+ </doc>
+ </method>
+ <method name="getBlockInputStream" return="java.io.InputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns an input stream to read the contents of the specified block
+ @param b
+ @return an input stream to read the contents of the specified block
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getBlockInputStream" return="java.io.InputStream"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="seekOffset" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns an input stream at specified offset of the specified block
+ @param b
+ @param seekOffset
+ @return an input stream to read the contents of the specified block,
+ starting at the offset
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getTmpInputStreams" return="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockInputStreams"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="blkoff" type="long"/>
+ <param name="ckoff" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns an input stream at specified offset of the specified block
+ The block is still in the tmp directory and is not finalized
+ @param b
+ @param blkoff
+ @param ckoff
+ @return an input stream to read the contents of the specified block,
+ starting at the offset
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="writeToBlock" return="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockWriteStreams"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="isRecovery" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Creates the block and returns output streams to write data and CRC
+ @param b
+ @param isRecovery True if this is part of erro recovery, otherwise false
+ @return a BlockWriteStreams object to allow writing the block data
+ and CRC
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="updateBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="oldblock" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="newblock" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Update the block to the new generation stamp and length.]]>
+ </doc>
+ </method>
+ <method name="finalizeBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Finalizes the block previously opened for writing using writeToBlock.
+ The block size is what is in the parameter b and it must match the amount
+ of data written
+ @param b
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="unfinalizeBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Unfinalizes the block previously opened for writing using writeToBlock.
+ The temporary file associated with this block is deleted.
+ @param b
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getBlockReport" return="org.apache.hadoop.hdfs.protocol.Block[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Returns the block report - the full list of blocks stored
+ @return - the block report - the full list of blocks stored]]>
+ </doc>
+ </method>
+ <method name="isValidBlock" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <doc>
+ <![CDATA[Is the block valid?
+ @param b
+ @return - true if the specified block is valid]]>
+ </doc>
+ </method>
+ <method name="invalidate"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="invalidBlks" type="org.apache.hadoop.hdfs.protocol.Block[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Invalidates the specified blocks
+ @param invalidBlks - the blocks to be invalidated
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="checkDataDir"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="DiskChecker.DiskErrorException" type="org.apache.hadoop.util.DiskChecker.DiskErrorException"/>
+ <doc>
+ <![CDATA[Check if all the data directories are healthy
+ @throws DiskErrorException]]>
+ </doc>
+ </method>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Stringifies the name of the storage]]>
+ </doc>
+ </method>
+ <method name="shutdown"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Shutdown the FSDataset]]>
+ </doc>
+ </method>
+ <method name="getChannelPosition" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="stream" type="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockWriteStreams"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns the current offset in the data stream.
+ @param b
+ @param stream The stream to the data file and checksum file
+ @return the position of the file pointer in the data stream
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="setChannelPosition"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="stream" type="org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockWriteStreams"/>
+ <param name="dataOffset" type="long"/>
+ <param name="ckOffset" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Sets the file pointer of the data stream and checksum stream to
+ the specified values.
+ @param b
+ @param stream The stream for the data file and checksum file
+ @param dataOffset The position to which the file pointre for the data stream
+ should be set
+ @param ckOffset The position to which the file pointre for the checksum stream
+ should be set
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="validateBlockMetadata"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Validate that the contents in the Block matches
+ the file on disk. Returns true if everything is fine.
+ @param b The block to be verified.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[This is an interface for the underlying storage that stores blocks for
+ a data node.
+ Examples are the FSDataset (which stores blocks on dirs) and
+ SimulatedFSDataset (which simulates data).]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface -->
+ <!-- start class org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockInputStreams -->
+ <class name="FSDatasetInterface.BlockInputStreams" extends="java.lang.Object"
+ abstract="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="java.io.Closeable"/>
+ <method name="close"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[This class contains the input streams for the data and checksum
+ of a block]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockInputStreams -->
+ <!-- start class org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockWriteStreams -->
+ <class name="FSDatasetInterface.BlockWriteStreams" extends="java.lang.Object"
+ abstract="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[This class contains the output streams for the data and checksum
+ of a block]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.BlockWriteStreams -->
+ <!-- start class org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.MetaDataInputStream -->
+ <class name="FSDatasetInterface.MetaDataInputStream" extends="java.io.FilterInputStream"
+ abstract="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <method name="getLength" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <doc>
+ <![CDATA[This class provides the input stream and length of the metadata
+ of a block]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.MetaDataInputStream -->
+ <!-- start class org.apache.hadoop.hdfs.server.datanode.UpgradeObjectDatanode -->
+ <class name="UpgradeObjectDatanode" extends="org.apache.hadoop.hdfs.server.common.UpgradeObject"
+ abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="java.lang.Runnable"/>
+ <constructor name="UpgradeObjectDatanode"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getType" return="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getDatanode" return="org.apache.hadoop.hdfs.server.datanode.DataNode"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </method>
+ <method name="doUpgrade"
+ abstract="true" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Specifies how the upgrade is performed.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="run"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="completeUpgrade" return="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Complete upgrade and return a status complete command for broadcasting.
+
+ Data-nodes finish upgrade at different times.
+ The data-node needs to re-confirm with the name-node that the upgrade
+ is complete while other nodes are still upgrading.]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[Base class for data-node upgrade objects.
+ Data-node upgrades are run in separate threads.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.datanode.UpgradeObjectDatanode -->
+</package>
+<package name="org.apache.hadoop.hdfs.server.datanode.metrics">
+ <!-- start class org.apache.hadoop.hdfs.server.datanode.metrics.DataNodeActivityMBean -->
+ <class name="DataNodeActivityMBean" extends="org.apache.hadoop.metrics.util.MetricsDynamicMBeanBase"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="DataNodeActivityMBean" type="org.apache.hadoop.metrics.util.MetricsRegistry, java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="shutdown"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <doc>
+ <![CDATA[This is the JMX MBean for reporting the DataNode Activity.
+ The MBean is register using the name
+ "hadoop:service=DataNode,name=DataNodeActivity-<storageid>"
+
+ Many of the activity metrics are sampled and averaged on an interval
+ which can be specified in the metrics config file.
+ <p>
+ For the metrics that are sampled and averaged, one must specify
+ a metrics context that does periodic update calls. Most metrics contexts do.
+ The default Null metrics context however does NOT. So if you aren't
+ using any other metrics context then you can turn on the viewing and averaging
+ of sampled metrics by specifying the following two lines
+ in the hadoop-meterics.properties file:
+ <pre>
+ dfs.class=org.apache.hadoop.metrics.spi.NullContextWithUpdateThread
+ dfs.period=10
+ </pre>
+<p>
+ Note that the metrics are collected regardless of the context used.
+ The context with the update thread is used to average the data periodically
+
+
+
+ Impl details: We use a dynamic mbean that gets the list of the metrics
+ from the metrics registry passed as an argument to the constructor]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.datanode.metrics.DataNodeActivityMBean -->
+ <!-- start class org.apache.hadoop.hdfs.server.datanode.metrics.DataNodeMetrics -->
+ <class name="DataNodeMetrics" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.metrics.Updater"/>
+ <constructor name="DataNodeMetrics" type="org.apache.hadoop.conf.Configuration, java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="shutdown"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="doUpdates"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="unused" type="org.apache.hadoop.metrics.MetricsContext"/>
+ <doc>
+ <![CDATA[Since this object is a registered updater, this method will be called
+ periodically, e.g. every 5 seconds.]]>
+ </doc>
+ </method>
+ <method name="resetAllMinMax"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <field name="registry" type="org.apache.hadoop.metrics.util.MetricsRegistry"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="bytesWritten" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingLong"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="bytesRead" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingLong"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blocksWritten" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blocksRead" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blocksReplicated" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blocksRemoved" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blocksVerified" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blockVerificationFailures" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="readsFromLocalClient" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="readsFromRemoteClient" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="writesFromLocalClient" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="writesFromRemoteClient" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="readBlockOp" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingRate"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="writeBlockOp" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingRate"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="readMetadataOp" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingRate"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blockChecksumOp" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingRate"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="copyBlockOp" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingRate"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="replaceBlockOp" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingRate"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="heartbeats" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingRate"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blockReports" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingRate"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[This class is for maintaining the various DataNode statistics
+ and publishing them through the metrics interfaces.
+ This also registers the JMX MBean for RPC.
+ <p>
+ This class has a number of metrics variables that are publicly accessible;
+ these variables (objects) have methods to update their values;
+ for example:
+ <p> {@link #blocksRead}.inc()]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.datanode.metrics.DataNodeMetrics -->
+ <!-- start interface org.apache.hadoop.hdfs.server.datanode.metrics.FSDatasetMBean -->
+ <interface name="FSDatasetMBean" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <method name="getDfsUsed" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns the total space (in bytes) used by dfs datanode
+ @return the total space used by dfs datanode
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getCapacity" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns total capacity (in bytes) of storage (used and unused)
+ @return total capacity of storage (used and unused)
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getRemaining" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns the amount of free storage space (in bytes)
+ @return The amount of free storage space
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getStorageInfo" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Returns the storage id of the underlying storage]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[This Interface defines the methods to get the status of a the FSDataset of
+ a data node.
+ It is also used for publishing via JMX (hence we follow the JMX naming
+ convention.)
+ * Note we have not used the MetricsDynamicMBeanBase to implement this
+ because the interface for the FSDatasetMBean is stable and should
+ be published as an interface.
+
+ <p>
+ Data Node runtime statistic info is report in another MBean
+ @see org.apache.hadoop.hdfs.server.datanode.metrics.DataNodeStatisticsMBean]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.server.datanode.metrics.FSDatasetMBean -->
+</package>
+<package name="org.apache.hadoop.hdfs.server.namenode">
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.CheckpointSignature -->
+ <class name="CheckpointSignature" extends="org.apache.hadoop.hdfs.server.common.StorageInfo"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.WritableComparable"/>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="compareTo" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="o" type="org.apache.hadoop.hdfs.server.namenode.CheckpointSignature"/>
+ </method>
+ <method name="equals" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="o" type="java.lang.Object"/>
+ </method>
+ <method name="hashCode" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <doc>
+ <![CDATA[A unique signature intended to identify checkpoint transactions.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.CheckpointSignature -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.CorruptReplicasMap -->
+ <class name="CorruptReplicasMap" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="CorruptReplicasMap"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="addToCorruptReplicasMap"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blk" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="dn" type="org.apache.hadoop.hdfs.server.namenode.DatanodeDescriptor"/>
+ <doc>
+ <![CDATA[Mark the block belonging to datanode as corrupt.
+
+ @param blk Block to be added to CorruptReplicasMap
+ @param dn DatanodeDescriptor which holds the corrupt replica]]>
+ </doc>
+ </method>
+ <method name="numCorruptReplicas" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blk" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ </method>
+ <method name="size" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <doc>
+ <![CDATA[Stores information about all corrupt blocks in the File System.
+ A Block is considered corrupt only if all of its replicas are
+ corrupt. While reporting replicas of a Block, we hide any corrupt
+ copies. These copies are removed once Block is found to have
+ expected number of good replicas.
+ Mapping: Block -> TreeSet<DatanodeDescriptor>]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.CorruptReplicasMap -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.DatanodeDescriptor -->
+ <class name="DatanodeDescriptor" extends="org.apache.hadoop.hdfs.protocol.DatanodeInfo"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="DatanodeDescriptor"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Default constructor]]>
+ </doc>
+ </constructor>
+ <constructor name="DatanodeDescriptor" type="org.apache.hadoop.hdfs.protocol.DatanodeID"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[DatanodeDescriptor constructor
+ @param nodeID id of the data node]]>
+ </doc>
+ </constructor>
+ <constructor name="DatanodeDescriptor" type="org.apache.hadoop.hdfs.protocol.DatanodeID, java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[DatanodeDescriptor constructor
+
+ @param nodeID id of the data node
+ @param networkLocation location of the data node in network]]>
+ </doc>
+ </constructor>
+ <constructor name="DatanodeDescriptor" type="org.apache.hadoop.hdfs.protocol.DatanodeID, java.lang.String, java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[DatanodeDescriptor constructor
+
+ @param nodeID id of the data node
+ @param networkLocation location of the data node in network
+ @param hostName it could be different from host specified for DatanodeID]]>
+ </doc>
+ </constructor>
+ <constructor name="DatanodeDescriptor" type="org.apache.hadoop.hdfs.protocol.DatanodeID, long, long, long, int"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[DatanodeDescriptor constructor
+
+ @param nodeID id of the data node
+ @param capacity capacity of the data node
+ @param dfsUsed space used by the data node
+ @param remaining remaing capacity of the data node
+ @param xceiverCount # of data transfers at the data node]]>
+ </doc>
+ </constructor>
+ <constructor name="DatanodeDescriptor" type="org.apache.hadoop.hdfs.protocol.DatanodeID, java.lang.String, java.lang.String, long, long, long, int"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[DatanodeDescriptor constructor
+
+ @param nodeID id of the data node
+ @param networkLocation location of the data node in network
+ @param capacity capacity of the data node, including space used by non-dfs
+ @param dfsUsed the used space by dfs datanode
+ @param remaining remaing capacity of the data node
+ @param xceiverCount # of data transfers at the data node]]>
+ </doc>
+ </constructor>
+ <method name="numBlocks" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getBlocksScheduled" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[@return Approximate number of blocks currently scheduled to be written
+ to this datanode.]]>
+ </doc>
+ </method>
+ <field name="isAlive" type="boolean"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[DatanodeDescriptor tracks stats on a given DataNode,
+ such as available storage capacity, last update time, etc.,
+ and maintains a set of blocks stored on the datanode.
+
+ This data structure is a data structure that is internal
+ to the namenode. It is *not* sent over-the-wire to the Client
+ or the Datnodes. Neither is it stored persistently in the
+ fsImage.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.DatanodeDescriptor -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.DatanodeDescriptor.BlockTargetPair -->
+ <class name="DatanodeDescriptor.BlockTargetPair" extends="java.lang.Object"
+ abstract="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <field name="block" type="org.apache.hadoop.hdfs.protocol.Block"
+ transient="false" volatile="false"
+ static="false" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="targets" type="org.apache.hadoop.hdfs.server.namenode.DatanodeDescriptor[]"
+ transient="false" volatile="false"
+ static="false" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Block and targets pair]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.DatanodeDescriptor.BlockTargetPair -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.FileChecksumServlets -->
+ <class name="FileChecksumServlets" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="FileChecksumServlets"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <doc>
+ <![CDATA[Servlets for file checksum]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.FileChecksumServlets -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.FileChecksumServlets.GetServlet -->
+ <class name="FileChecksumServlets.GetServlet" extends="org.apache.hadoop.hdfs.server.namenode.DfsServlet"
+ abstract="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="FileChecksumServlets.GetServlet"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="doGet"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <param name="response" type="javax.servlet.http.HttpServletResponse"/>
+ <exception name="ServletException" type="javax.servlet.ServletException"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[Get FileChecksum]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.FileChecksumServlets.GetServlet -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.FileChecksumServlets.RedirectServlet -->
+ <class name="FileChecksumServlets.RedirectServlet" extends="org.apache.hadoop.hdfs.server.namenode.DfsServlet"
+ abstract="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="FileChecksumServlets.RedirectServlet"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="doGet"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <param name="response" type="javax.servlet.http.HttpServletResponse"/>
+ <exception name="ServletException" type="javax.servlet.ServletException"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[Redirect file checksum queries to an appropriate datanode.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.FileChecksumServlets.RedirectServlet -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.FileDataServlet -->
+ <class name="FileDataServlet" extends="org.apache.hadoop.hdfs.server.namenode.DfsServlet"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="FileDataServlet"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="createUri" return="java.net.URI"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="i" type="org.apache.hadoop.fs.FileStatus"/>
+ <param name="ugi" type="org.apache.hadoop.security.UnixUserGroupInformation"/>
+ <param name="nnproxy" type="org.apache.hadoop.hdfs.protocol.ClientProtocol"/>
+ <param name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <exception name="URISyntaxException" type="java.net.URISyntaxException"/>
+ <doc>
+ <![CDATA[Create a redirection URI]]>
+ </doc>
+ </method>
+ <method name="doGet"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <param name="response" type="javax.servlet.http.HttpServletResponse"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Service a GET request as described below.
+ Request:
+ {@code
+ GET http://<nn>:<port>/data[/<path>] HTTP/1.1
+ }]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[Redirect queries about the hosted filesystem to an appropriate datanode.
+ @see org.apache.hadoop.hdfs.HftpFileSystem]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.FileDataServlet -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.FsckServlet -->
+ <class name="FsckServlet" extends="javax.servlet.http.HttpServlet"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="FsckServlet"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="doGet"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <param name="response" type="javax.servlet.http.HttpServletResponse"/>
+ <exception name="ServletException" type="javax.servlet.ServletException"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <doc>
+ <![CDATA[This class is used in Namesystem's jetty to do fsck on namenode.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.FsckServlet -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.FSEditLog -->
+ <class name="FSEditLog" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <method name="open"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create empty edit log files.
+ Initialize the output stream for logging.
+
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="createEditLogFile"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.io.File"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="close"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Shutdown the file store.]]>
+ </doc>
+ </method>
+ <method name="logSync"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="logOpenFile"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="path" type="java.lang.String"/>
+ <param name="newNode" type="org.apache.hadoop.hdfs.server.namenode.INodeFileUnderConstruction"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Add open lease record to edit log.
+ Records the block locations of the last block.]]>
+ </doc>
+ </method>
+ <method name="logCloseFile"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="path" type="java.lang.String"/>
+ <param name="newNode" type="org.apache.hadoop.hdfs.server.namenode.INodeFile"/>
+ <doc>
+ <![CDATA[Add close lease record to edit log.]]>
+ </doc>
+ </method>
+ <method name="logMkDir"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="path" type="java.lang.String"/>
+ <param name="newNode" type="org.apache.hadoop.hdfs.server.namenode.INode"/>
+ <doc>
+ <![CDATA[Add create directory record to edit log]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[FSEditLog maintains a log of the namespace modifications.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.FSEditLog -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.FSImage -->
+ <class name="FSImage" extends="org.apache.hadoop.hdfs.server.common.Storage"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="FSImage" type="org.apache.hadoop.hdfs.server.common.StorageInfo"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="FSImage" type="java.io.File"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Represents an Image (image and edit file).]]>
+ </doc>
+ </constructor>
+ <method name="getFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="props" type="java.util.Properties"/>
+ <param name="sd" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="setFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="props" type="java.util.Properties"/>
+ <param name="sd" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Write last checkpoint time and version file into the storage directory.
+
+ The version file should always be written last.
+ Missing or corrupted version file indicates that
+ the checkpoint is not valid.
+
+ @param sd storage directory
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getEditLog" return="org.apache.hadoop.hdfs.server.namenode.FSEditLog"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="isConversionNeeded" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="sd" type="org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="saveFSImage"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Save the contents of the FS image
+ and create empty edits.]]>
+ </doc>
+ </method>
+ <method name="format"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getFsEditName" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="corruptPreUpgradeStorage"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="rootDir" type="java.io.File"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <field name="checkpointTime" type="long"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </field>
+ <field name="removedStorageDirs" type="java.util.List"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[list of failed (and thus removed) storages]]>
+ </doc>
+ </field>
+ <doc>
+ <![CDATA[FSImage handles checkpointing and logging of the namespace edits.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.FSImage -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.FSNamesystem -->
+ <class name="FSNamesystem" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.hdfs.protocol.FSConstants"/>
+ <implements name="org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMBean"/>
+ <method name="getNamespaceDirs" return="java.util.Collection"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ </method>
+ <method name="getNamespaceEditsDirs" return="java.util.Collection"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ </method>
+ <method name="getUpgradePermission" return="org.apache.hadoop.fs.permission.PermissionStatus"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return the default path permission when upgrading from releases with no
+ permissions (<=0.15) to releases with permissions (>=0.16)]]>
+ </doc>
+ </method>
+ <method name="getFSNamesystem" return="org.apache.hadoop.hdfs.server.namenode.FSNamesystem"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return the FSNamesystem object]]>
+ </doc>
+ </method>
+ <method name="close"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Close down this file system manager.
+ Causes heartbeat and lease daemons to stop; waits briefly for
+ them to finish, but a short timeout returns control back to caller.]]>
+ </doc>
+ </method>
+ <method name="setPermission"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="permission" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set permissions for an existing file.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="setOwner"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="username" type="java.lang.String"/>
+ <param name="group" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set owner for an existing file.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getBlockLocations" return="org.apache.hadoop.hdfs.protocol.LocatedBlocks"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="offset" type="long"/>
+ <param name="length" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get block locations within the specified range.
+ @see ClientProtocol#getBlockLocations(String, long, long)]]>
+ </doc>
+ </method>
+ <method name="getBlockLocations" return="org.apache.hadoop.hdfs.protocol.LocatedBlocks"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="offset" type="long"/>
+ <param name="length" type="long"/>
+ <param name="doAccessTime" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get block locations within the specified range.
+ @see ClientProtocol#getBlockLocations(String, long, long)]]>
+ </doc>
+ </method>
+ <method name="setTimes"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="mtime" type="long"/>
+ <param name="atime" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[stores the modification and access time for this inode.
+ The access time is precise upto an hour. The transaction, if needed, is
+ written to the edits log but is not flushed.]]>
+ </doc>
+ </method>
+ <method name="setReplication" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="replication" type="short"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Set replication for an existing file.
+
+ The NameNode sets new replication and schedules either replication of
+ under-replicated data blocks or removal of the eccessive block copies
+ if the blocks are over-replicated.
+
+ @see ClientProtocol#setReplication(String, short)
+ @param src file name
+ @param replication new replication
+ @return true if successful;
+ false if file does not exist or is a directory]]>
+ </doc>
+ </method>
+ <method name="getAdditionalBlock" return="org.apache.hadoop.hdfs.protocol.LocatedBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="clientName" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[The client would like to obtain an additional block for the indicated
+ filename (which is being written-to). Return an array that consists
+ of the block, plus a set of machines. The first on this list should
+ be where the client writes data. Subsequent items in the list must
+ be provided in the connection to the first datanode.
+
+ Make sure the previous blocks have been reported by datanodes and
+ are replicated. Will return an empty 2-elt array if we want the
+ client to "try again later".]]>
+ </doc>
+ </method>
+ <method name="abandonBlock" return="boolean"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="src" type="java.lang.String"/>
+ <param name="holder" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[The client would like to let go of the given block]]>
+ </doc>
+ </method>
+ <method name="completeFile" return="org.apache.hadoop.hdfs.server.namenode.FSNamesystem.CompleteFileStatus"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="holder" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="markBlockAsCorrupt"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blk" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="dn" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Mark the block belonging to datanode as corrupt
+ @param blk Block to be marked as corrupt
+ @param dn Datanode which holds the corrupt replica]]>
+ </doc>
+ </method>
+ <method name="invalidateBlock"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blk" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="dn" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Invalidates the given block on the given datanode.]]>
+ </doc>
+ </method>
+ <method name="renameTo" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="dst" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Change the indicated filename.]]>
+ </doc>
+ </method>
+ <method name="delete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="recursive" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Remove the indicated filename from namespace. If the filename
+ is a directory (non empty) and recursive is set to false then throw exception.]]>
+ </doc>
+ </method>
+ <method name="mkdirs" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="permissions" type="org.apache.hadoop.fs.permission.PermissionStatus"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create all the necessary directories]]>
+ </doc>
+ </method>
+ <method name="getListing" return="org.apache.hadoop.fs.FileStatus[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get a listing of all files at 'src'. The Object[] array
+ exists so we can return file attributes (soon to be implemented)]]>
+ </doc>
+ </method>
+ <method name="registerDatanode"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeReg" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Register Datanode.
+ <p>
+ The purpose of registration is to identify whether the new datanode
+ serves a new data storage, and will report new data block copies,
+ which the namenode was not aware of; or the datanode is a replacement
+ node for the data storage that was previously served by a different
+ or the same (in terms of host:port) datanode.
+ The data storages are distinguished by their storageIDs. When a new
+ data storage is reported the namenode issues a new unique storageID.
+ <p>
+ Finally, the namenode returns its namespaceID as the registrationID
+ for the datanodes.
+ namespaceID is a persistent attribute of the name space.
+ The registrationID is checked every time the datanode is communicating
+ with the namenode.
+ Datanodes with inappropriate registrationID are rejected.
+ If the namenode stops, and then restarts it can restore its
+ namespaceID and will continue serving the datanodes that has previously
+ registered with the namenode without restarting the whole cluster.
+
+ @see org.apache.hadoop.hdfs.server.datanode.DataNode#register()]]>
+ </doc>
+ </method>
+ <method name="getRegistrationID" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Get registrationID for datanodes based on the namespaceID.
+
+ @see #registerDatanode(DatanodeRegistration)
+ @see FSImage#newNamespaceID()
+ @return registration ID]]>
+ </doc>
+ </method>
+ <method name="computeDatanodeWork" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Compute block replication and block invalidation work
+ that can be scheduled on data-nodes.
+ The datanode will be informed of this work at the next heartbeat.
+
+ @return number of blocks scheduled for replication or removal.]]>
+ </doc>
+ </method>
+ <method name="setNodeReplicationLimit"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="limit" type="int"/>
+ </method>
+ <method name="removeDatanode"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeID" type="org.apache.hadoop.hdfs.protocol.DatanodeID"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[remove a datanode descriptor
+ @param nodeID datanode ID]]>
+ </doc>
+ </method>
+ <method name="processReport"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeID" type="org.apache.hadoop.hdfs.protocol.DatanodeID"/>
+ <param name="newReport" type="org.apache.hadoop.hdfs.protocol.BlockListAsLongs"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[The given node is reporting all its blocks. Use this info to
+ update the (machine-->blocklist) and (block-->machinelist) tables.]]>
+ </doc>
+ </method>
+ <method name="blockReceived"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeID" type="org.apache.hadoop.hdfs.protocol.DatanodeID"/>
+ <param name="block" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="delHint" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[The given node is reporting that it received a certain block.]]>
+ </doc>
+ </method>
+ <method name="getMissingBlocksCount" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getCapacityTotal" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Total raw bytes including non-dfs used space.]]>
+ </doc>
+ </method>
+ <method name="getCapacityUsed" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Total used space by data nodes]]>
+ </doc>
+ </method>
+ <method name="getCapacityUsedPercent" return="float"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Total used space by data nodes as percentage of total capacity]]>
+ </doc>
+ </method>
+ <method name="getCapacityUsedNonDFS" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Total used space by data nodes for non DFS purposes such
+ as storing temporary files on the local file system]]>
+ </doc>
+ </method>
+ <method name="getCapacityRemaining" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Total non-used raw bytes.]]>
+ </doc>
+ </method>
+ <method name="getCapacityRemainingPercent" return="float"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Total remaining space by data nodes as percentage of total capacity]]>
+ </doc>
+ </method>
+ <method name="getTotalLoad" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Total number of connections.]]>
+ </doc>
+ </method>
+ <method name="datanodeReport" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo[]"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="type" type="org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType"/>
+ <exception name="AccessControlException" type="org.apache.hadoop.security.AccessControlException"/>
+ </method>
+ <method name="DFSNodesStatus"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="live" type="java.util.ArrayList"/>
+ <param name="dead" type="java.util.ArrayList"/>
+ </method>
+ <method name="stopDecommission"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="node" type="org.apache.hadoop.hdfs.server.namenode.DatanodeDescriptor"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Stop decommissioning the specified datanodes.]]>
+ </doc>
+ </method>
+ <method name="getDataNodeInfo" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.lang.String"/>
+ </method>
+ <method name="getDFSNameNodeAddress" return="java.net.InetSocketAddress"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="use {@link NameNode#getNameNodeAddress()} instead.">
+ <doc>
+ <![CDATA[@deprecated use {@link NameNode#getNameNodeAddress()} instead.]]>
+ </doc>
+ </method>
+ <method name="getStartTime" return="java.util.Date"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="refreshNodes"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Rereads the config to get hosts and exclude list file names.
+ Rereads the files to update the hosts and exclude lists. It
+ checks if any of the hosts have changed states:
+ 1. Added to hosts --> no further work needed here.
+ 2. Removed from hosts --> mark AdminState as decommissioned.
+ 3. Added to exclude --> start decommission.
+ 4. Removed from exclude --> stop decommission.]]>
+ </doc>
+ </method>
+ <method name="getDatanode" return="org.apache.hadoop.hdfs.server.namenode.DatanodeDescriptor"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeID" type="org.apache.hadoop.hdfs.protocol.DatanodeID"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get data node by storage ID.
+
+ @param nodeID
+ @return DatanodeDescriptor or null if the node is not found.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="randomDataNode" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getRandomDatanode" return="org.apache.hadoop.hdfs.server.namenode.DatanodeDescriptor"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getBlocksTotal" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Get the total number of blocks in the system.]]>
+ </doc>
+ </method>
+ <method name="getFilesTotal" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getPendingReplicationBlocks" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getUnderReplicatedBlocks" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getCorruptReplicaBlocksCount" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Returns number of blocks with corrupt replicas]]>
+ </doc>
+ </method>
+ <method name="getScheduledReplicationBlocks" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getFSState" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getFSNamesystemMetrics" return="org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMetrics"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[get FSNamesystemMetrics]]>
+ </doc>
+ </method>
+ <method name="shutdown"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[shutdown FSNamesystem]]>
+ </doc>
+ </method>
+ <method name="numLiveDataNodes" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Number of live data nodes
+ @return Number of live data nodes]]>
+ </doc>
+ </method>
+ <method name="numDeadDataNodes" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Number of dead data nodes
+ @return Number of dead data nodes]]>
+ </doc>
+ </method>
+ <method name="setGenerationStamp"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="stamp" type="long"/>
+ <doc>
+ <![CDATA[Sets the generation stamp for this filesystem]]>
+ </doc>
+ </method>
+ <method name="getGenerationStamp" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Gets the generation stamp for this filesystem]]>
+ </doc>
+ </method>
+ <field name="LOG" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="AUDIT_FORMAT" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="auditLog" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="dir" type="org.apache.hadoop.hdfs.server.namenode.FSDirectory"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="corruptReplicas" type="org.apache.hadoop.hdfs.server.namenode.CorruptReplicasMap"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="leaseManager" type="org.apache.hadoop.hdfs.server.namenode.LeaseManager"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="lmthread" type="org.apache.hadoop.util.Daemon"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="replthread" type="org.apache.hadoop.util.Daemon"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="fsNamesystemObject" type="org.apache.hadoop.hdfs.server.namenode.FSNamesystem"
+ transient="false" volatile="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[FSNamesystem does the actual bookkeeping work for the
+ DataNode.
+
+ It tracks several important tables.
+
+ 1) valid fsname --> blocklist (kept on disk, logged)
+ 2) Set of all valid blocks (inverted #1)
+ 3) block --> machinelist (kept in memory, rebuilt dynamically from reports)
+ 4) machine --> blocklist (inverted #2)
+ 5) LRU cache of updated-heartbeat machines]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.FSNamesystem -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.GetImageServlet -->
+ <class name="GetImageServlet" extends="javax.servlet.http.HttpServlet"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="GetImageServlet"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="doGet"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <param name="response" type="javax.servlet.http.HttpServletResponse"/>
+ <exception name="ServletException" type="javax.servlet.ServletException"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <doc>
+ <![CDATA[This class is used in Namesystem's jetty to retrieve a file.
+ Typically used by the Secondary NameNode to retrieve image and
+ edit file for periodic checkpointing.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.GetImageServlet -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.JspHelper -->
+ <class name="JspHelper" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="JspHelper"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="randomNode" return="org.apache.hadoop.hdfs.protocol.DatanodeID"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="bestNode" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blk" type="org.apache.hadoop.hdfs.protocol.LocatedBlock"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="streamBlockInAscii"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="addr" type="java.net.InetSocketAddress"/>
+ <param name="blockId" type="long"/>
+ <param name="genStamp" type="long"/>
+ <param name="blockSize" type="long"/>
+ <param name="offsetIntoBlock" type="long"/>
+ <param name="chunkSizeToView" type="long"/>
+ <param name="out" type="javax.servlet.jsp.JspWriter"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="DFSNodesStatus"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="live" type="java.util.ArrayList"/>
+ <param name="dead" type="java.util.ArrayList"/>
+ </method>
+ <method name="addTableHeader"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="javax.servlet.jsp.JspWriter"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="addTableRow"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="javax.servlet.jsp.JspWriter"/>
+ <param name="columns" type="java.lang.String[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="addTableRow"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="javax.servlet.jsp.JspWriter"/>
+ <param name="columns" type="java.lang.String[]"/>
+ <param name="row" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="addTableFooter"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="javax.servlet.jsp.JspWriter"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getSafeModeText" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getWarningText" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="fsn" type="org.apache.hadoop.hdfs.server.namenode.FSNamesystem"/>
+ </method>
+ <method name="getInodeLimitText" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getUpgradeStatusText" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="sortNodeList"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodes" type="java.util.ArrayList"/>
+ <param name="field" type="java.lang.String"/>
+ <param name="order" type="java.lang.String"/>
+ </method>
+ <method name="printPathWithLinks"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="dir" type="java.lang.String"/>
+ <param name="out" type="javax.servlet.jsp.JspWriter"/>
+ <param name="namenodeInfoPort" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="printGotoForm"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="javax.servlet.jsp.JspWriter"/>
+ <param name="namenodeInfoPort" type="int"/>
+ <param name="file" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="createTitle"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="javax.servlet.jsp.JspWriter"/>
+ <param name="req" type="javax.servlet.http.HttpServletRequest"/>
+ <param name="file" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <field name="WEB_UGI_PROPERTY_NAME" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="nameNodeAddr" type="java.net.InetSocketAddress"
+ transient="false" volatile="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="conf" type="org.apache.hadoop.conf.Configuration"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="webUGI" type="org.apache.hadoop.security.UnixUserGroupInformation"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="defaultChunkSizeToView" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.JspHelper -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException -->
+ <class name="LeaseExpiredException" extends="java.io.IOException"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="LeaseExpiredException" type="java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <doc>
+ <![CDATA[The lease that was being used to create this file has expired.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.LeaseManager -->
+ <class name="LeaseManager" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <method name="getLeaseByPath" return="org.apache.hadoop.hdfs.server.namenode.LeaseManager.Lease"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <doc>
+ <![CDATA[@return the lease containing src]]>
+ </doc>
+ </method>
+ <method name="countLease" return="int"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[@return the number of leases currently in the system]]>
+ </doc>
+ </method>
+ <method name="setLeasePeriod"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="softLimit" type="long"/>
+ <param name="hardLimit" type="long"/>
+ </method>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <field name="LOG" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[LeaseManager does the lease housekeeping for writing on files.
+ This class also provides useful static methods for lease recovery.
+
+ Lease Recovery Algorithm
+ 1) Namenode retrieves lease information
+ 2) For each file f in the lease, consider the last block b of f
+ 2.1) Get the datanodes which contains b
+ 2.2) Assign one of the datanodes as the primary datanode p
+
+ 2.3) p obtains a new generation stamp form the namenode
+ 2.4) p get the block info from each datanode
+ 2.5) p computes the minimum block length
+ 2.6) p updates the datanodes, which have a valid generation stamp,
+ with the new generation stamp and the minimum block length
+ 2.7) p acknowledges the namenode the update results
+
+ 2.8) Namenode updates the BlockInfo
+ 2.9) Namenode removes f from the lease
+ and removes the lease once all files have been removed
+ 2.10) Namenode commit changes to edit log]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.LeaseManager -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.ListPathsServlet -->
+ <class name="ListPathsServlet" extends="org.apache.hadoop.hdfs.server.namenode.DfsServlet"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="ListPathsServlet"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="buildRoot" return="java.util.Map"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <param name="doc" type="org.znerd.xmlenc.XMLOutputter"/>
+ <doc>
+ <![CDATA[Build a map from the query string, setting values and defaults.]]>
+ </doc>
+ </method>
+ <method name="doGet"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <param name="response" type="javax.servlet.http.HttpServletResponse"/>
+ <exception name="ServletException" type="javax.servlet.ServletException"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Service a GET request as described below.
+ Request:
+ {@code
+ GET http://<nn>:<port>/listPaths[/<path>][<?option>[&option]*] HTTP/1.1
+ }
+
+ Where <i>option</i> (default) in:
+ recursive (&quot;no&quot;)
+ filter (&quot;.*&quot;)
+ exclude (&quot;\..*\.crc&quot;)
+
+ Response: A flat list of files/directories in the following format:
+ {@code
+ <listing path="..." recursive="(yes|no)" filter="..."
+ time="yyyy-MM-dd hh:mm:ss UTC" version="...">
+ <directory path="..." modified="yyyy-MM-dd hh:mm:ss"/>
+ <file path="..." modified="yyyy-MM-dd'T'hh:mm:ssZ" accesstime="yyyy-MM-dd'T'hh:mm:ssZ"
+ blocksize="..."
+ replication="..." size="..."/>
+ </listing>
+ }]]>
+ </doc>
+ </method>
+ <field name="df" type="java.text.SimpleDateFormat"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Obtain meta-information about a filesystem.
+ @see org.apache.hadoop.hdfs.HftpFileSystem]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.ListPathsServlet -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.NameNode -->
+ <class name="NameNode" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.hdfs.protocol.ClientProtocol"/>
+ <implements name="org.apache.hadoop.hdfs.server.protocol.DatanodeProtocol"/>
+ <implements name="org.apache.hadoop.hdfs.server.protocol.NamenodeProtocol"/>
+ <implements name="org.apache.hadoop.hdfs.protocol.FSConstants"/>
+ <implements name="org.apache.hadoop.security.authorize.RefreshAuthorizationPolicyProtocol"/>
+ <constructor name="NameNode" type="org.apache.hadoop.conf.Configuration"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Start NameNode.
+ <p>
+ The name-node can be started with one of the following startup options:
+ <ul>
+ <li>{@link StartupOption#REGULAR REGULAR} - normal name node startup</li>
+ <li>{@link StartupOption#FORMAT FORMAT} - format name node</li>
+ <li>{@link StartupOption#UPGRADE UPGRADE} - start the cluster
+ upgrade and create a snapshot of the current file system state</li>
+ <li>{@link StartupOption#ROLLBACK ROLLBACK} - roll the
+ cluster back to the previous state</li>
+ </ul>
+ The option is passed via configuration field:
+ <tt>dfs.namenode.startup</tt>
+
+ The conf will be modified to reflect the actual ports on which
+ the NameNode is up and running if the user passes the port as
+ <code>zero</code> in the conf.
+
+ @param conf confirguration
+ @throws IOException]]>
+ </doc>
+ </constructor>
+ <method name="getProtocolVersion" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="protocol" type="java.lang.String"/>
+ <param name="clientVersion" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="format"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Format a new filesystem. Destroys any filesystem that may already
+ exist at this location.]]>
+ </doc>
+ </method>
+ <method name="getNamesystem" return="org.apache.hadoop.hdfs.server.namenode.FSNamesystem"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getNameNodeMetrics" return="org.apache.hadoop.hdfs.server.namenode.metrics.NameNodeMetrics"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getAddress" return="java.net.InetSocketAddress"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="address" type="java.lang.String"/>
+ </method>
+ <method name="getAddress" return="java.net.InetSocketAddress"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ </method>
+ <method name="getUri" return="java.net.URI"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="namenode" type="java.net.InetSocketAddress"/>
+ </method>
+ <method name="join"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Wait for service to finish.
+ (Normally, it runs forever.)]]>
+ </doc>
+ </method>
+ <method name="stop"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Stop all NameNode threads and wait for all to finish.]]>
+ </doc>
+ </method>
+ <method name="getBlocks" return="org.apache.hadoop.hdfs.server.protocol.BlocksWithLocations"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="datanode" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo"/>
+ <param name="size" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[return a list of blocks & their locations on <code>datanode</code> whose
+ total size is <code>size</code>
+
+ @param datanode on which blocks are located
+ @param size total size of blocks]]>
+ </doc>
+ </method>
+ <method name="getBlockLocations" return="org.apache.hadoop.hdfs.protocol.LocatedBlocks"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="offset" type="long"/>
+ <param name="length" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="create"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="masked" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <param name="clientName" type="java.lang.String"/>
+ <param name="overwrite" type="boolean"/>
+ <param name="replication" type="short"/>
+ <param name="blockSize" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="append" return="org.apache.hadoop.hdfs.protocol.LocatedBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="clientName" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="setReplication" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="replication" type="short"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="setPermission"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="permissions" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="setOwner"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="username" type="java.lang.String"/>
+ <param name="groupname" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="addBlock" return="org.apache.hadoop.hdfs.protocol.LocatedBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="clientName" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="abandonBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="b" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="src" type="java.lang.String"/>
+ <param name="holder" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[The client needs to give up on the block.]]>
+ </doc>
+ </method>
+ <method name="complete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="clientName" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="reportBadBlocks"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blocks" type="org.apache.hadoop.hdfs.protocol.LocatedBlock[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[The client has detected an error on the specified located blocks
+ and is reporting them to the server. For now, the namenode will
+ mark the block as corrupt. In the future we might
+ check the blocks are actually corrupt.]]>
+ </doc>
+ </method>
+ <method name="nextGenerationStamp" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="block" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="commitBlockSynchronization"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="block" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="newgenerationstamp" type="long"/>
+ <param name="newlength" type="long"/>
+ <param name="closeFile" type="boolean"/>
+ <param name="deleteblock" type="boolean"/>
+ <param name="newtargets" type="org.apache.hadoop.hdfs.protocol.DatanodeID[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="getPreferredBlockSize" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="filename" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="rename" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="dst" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="delete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="delete" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="recursive" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="mkdirs" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="masked" type="org.apache.hadoop.fs.permission.FsPermission"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="renewLease"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="clientName" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getListing" return="org.apache.hadoop.fs.FileStatus[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getFileInfo" return="org.apache.hadoop.fs.FileStatus"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get the file info for a specific file.
+ @param src The string representation of the path to the file
+ @throws IOException if permission to access file is denied by the system
+ @return object containing information regarding the file
+ or null if file not found]]>
+ </doc>
+ </method>
+ <method name="getStats" return="long[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@inheritDoc]]>
+ </doc>
+ </method>
+ <method name="getDatanodeReport" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="type" type="org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="setSafeMode" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="action" type="org.apache.hadoop.hdfs.protocol.FSConstants.SafeModeAction"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@inheritDoc]]>
+ </doc>
+ </method>
+ <method name="isInSafeMode" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Is the cluster currently in safe mode?]]>
+ </doc>
+ </method>
+ <method name="saveNamespace"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@inheritDoc]]>
+ </doc>
+ </method>
+ <method name="refreshNodes"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Refresh the list of datanodes that the namenode should allow to
+ connect. Re-reads conf by creating new Configuration object and
+ uses the files list in the configuration to update the list.]]>
+ </doc>
+ </method>
+ <method name="getEditLogSize" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns the size of the current edit log.]]>
+ </doc>
+ </method>
+ <method name="rollEditLog" return="org.apache.hadoop.hdfs.server.namenode.CheckpointSignature"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Roll the edit log.]]>
+ </doc>
+ </method>
+ <method name="rollFsImage"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Roll the image]]>
+ </doc>
+ </method>
+ <method name="finalizeUpgrade"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="distributedUpgradeProgress" return="org.apache.hadoop.hdfs.server.common.UpgradeStatusReport"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="action" type="org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="metaSave"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="filename" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Dumps namenode state into specified file]]>
+ </doc>
+ </method>
+ <method name="getContentSummary" return="org.apache.hadoop.fs.ContentSummary"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="path" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="setQuota"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="path" type="java.lang.String"/>
+ <param name="namespaceQuota" type="long"/>
+ <param name="diskspaceQuota" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="fsync"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="clientName" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="setTimes"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="src" type="java.lang.String"/>
+ <param name="mtime" type="long"/>
+ <param name="atime" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@inheritDoc]]>
+ </doc>
+ </method>
+ <method name="register" return="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeReg" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="sendHeartbeat" return="org.apache.hadoop.hdfs.server.protocol.DatanodeCommand[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeReg" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <param name="capacity" type="long"/>
+ <param name="dfsUsed" type="long"/>
+ <param name="remaining" type="long"/>
+ <param name="xmitsInProgress" type="int"/>
+ <param name="xceiverCount" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Data node notify the name node that it is alive
+ Return an array of block-oriented commands for the datanode to execute.
+ This will be either a transfer or a delete operation.]]>
+ </doc>
+ </method>
+ <method name="blockReport" return="org.apache.hadoop.hdfs.server.protocol.DatanodeCommand"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeReg" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <param name="blocks" type="long[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="blockReceived"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeReg" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <param name="blocks" type="org.apache.hadoop.hdfs.protocol.Block[]"/>
+ <param name="delHints" type="java.lang.String[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="errorReport"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeReg" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <param name="errorCode" type="int"/>
+ <param name="msg" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="versionRequest" return="org.apache.hadoop.hdfs.server.protocol.NamespaceInfo"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="processUpgradeCommand" return="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="comm" type="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="verifyRequest"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="nodeReg" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Verify request.
+
+ Verifies correctness of the datanode version, registration ID, and
+ if the datanode does not need to be shutdown.
+
+ @param nodeReg data node registration
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="verifyVersion"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="version" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Verify version.
+
+ @param version
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="getFsImageName" return="java.io.File"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns the name of the fsImage file]]>
+ </doc>
+ </method>
+ <method name="getFSImage" return="org.apache.hadoop.hdfs.server.namenode.FSImage"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getFsImageNameCheckpoint" return="java.io.File[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Returns the name of the fsImage file uploaded by periodic
+ checkpointing]]>
+ </doc>
+ </method>
+ <method name="getNameNodeAddress" return="java.net.InetSocketAddress"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Returns the address on which the NameNodes is listening to.
+ @return the address on which the NameNodes is listening to.]]>
+ </doc>
+ </method>
+ <method name="getHttpAddress" return="java.net.InetSocketAddress"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Returns the address of the NameNodes http server,
+ which is used to access the name-node web UI.
+
+ @return the http address.]]>
+ </doc>
+ </method>
+ <method name="refreshServiceAcl"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="createNameNode" return="org.apache.hadoop.hdfs.server.namenode.NameNode"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="argv" type="java.lang.String[]"/>
+ <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="main"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="argv" type="java.lang.String[]"/>
+ <exception name="Exception" type="java.lang.Exception"/>
+ </method>
+ <field name="DEFAULT_PORT" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="LOG" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="stateChangeLog" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="namesystem" type="org.apache.hadoop.hdfs.server.namenode.FSNamesystem"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[NameNode serves as both directory namespace manager and
+ "inode table" for the Hadoop DFS. There is a single NameNode
+ running in any DFS deployment. (Well, except when there
+ is a second backup/failover NameNode.)
+
+ The NameNode controls two critical tables:
+ 1) filename->blocksequence (namespace)
+ 2) block->machinelist ("inodes")
+
+ The first table is stored on disk and is very precious.
+ The second table is rebuilt every time the NameNode comes
+ up.
+
+ 'NameNode' refers to both this class as well as the 'NameNode server'.
+ The 'FSNamesystem' class actually performs most of the filesystem
+ management. The majority of the 'NameNode' class itself is concerned
+ with exposing the IPC interface and the http server to the outside world,
+ plus some configuration management.
+
+ NameNode implements the ClientProtocol interface, which allows
+ clients to ask for DFS services. ClientProtocol is not
+ designed for direct use by authors of DFS client code. End-users
+ should instead use the org.apache.nutch.hadoop.fs.FileSystem class.
+
+ NameNode also implements the DatanodeProtocol interface, used by
+ DataNode programs that actually store DFS data blocks. These
+ methods are invoked repeatedly and automatically by all the
+ DataNodes in a DFS deployment.
+
+ NameNode also implements the NamenodeProtocol interface, used by
+ secondary namenodes or rebalancing processes to get partial namenode's
+ state, for example partial blocksMap etc.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.NameNode -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.NamenodeFsck -->
+ <class name="NamenodeFsck" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="NamenodeFsck" type="org.apache.hadoop.conf.Configuration, org.apache.hadoop.hdfs.server.namenode.NameNode, java.util.Map, javax.servlet.http.HttpServletResponse"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Filesystem checker.
+ @param conf configuration (namenode config)
+ @param nn namenode that this fsck is going to use
+ @param pmap key=value[] map that is passed to the http servlet as url parameters
+ @param response the object into which this servelet writes the url contents
+ @throws IOException]]>
+ </doc>
+ </constructor>
+ <method name="fsck"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Check files on DFS, starting from the indicated path.
+ @throws Exception]]>
+ </doc>
+ </method>
+ <method name="run" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="args" type="java.lang.String[]"/>
+ <exception name="Exception" type="java.lang.Exception"/>
+ <doc>
+ <![CDATA[@param args]]>
+ </doc>
+ </method>
+ <field name="LOG" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="CORRUPT_STATUS" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="HEALTHY_STATUS" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="NONEXISTENT_STATUS" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="FAILURE_STATUS" type="java.lang.String"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="FIXING_NONE" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Don't attempt any fixing .]]>
+ </doc>
+ </field>
+ <field name="FIXING_MOVE" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Move corrupted files to /lost+found .]]>
+ </doc>
+ </field>
+ <field name="FIXING_DELETE" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Delete corrupted files.]]>
+ </doc>
+ </field>
+ <doc>
+ <![CDATA[This class provides rudimentary checking of DFS volumes for errors and
+ sub-optimal conditions.
+ <p>The tool scans all files and directories, starting from an indicated
+ root path. The following abnormal conditions are detected and handled:</p>
+ <ul>
+ <li>files with blocks that are completely missing from all datanodes.<br/>
+ In this case the tool can perform one of the following actions:
+ <ul>
+ <li>none ({@link #FIXING_NONE})</li>
+ <li>move corrupted files to /lost+found directory on DFS
+ ({@link #FIXING_MOVE}). Remaining data blocks are saved as a
+ block chains, representing longest consecutive series of valid blocks.</li>
+ <li>delete corrupted files ({@link #FIXING_DELETE})</li>
+ </ul>
+ </li>
+ <li>detect files with under-replicated or over-replicated blocks</li>
+ </ul>
+ Additionally, the tool collects a detailed overall DFS statistics, and
+ optionally can print detailed statistics on block locations and replication
+ factors of each file.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.NamenodeFsck -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.NamenodeFsck.FsckResult -->
+ <class name="NamenodeFsck.FsckResult" extends="java.lang.Object"
+ abstract="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="NamenodeFsck.FsckResult"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="isHealthy" return="boolean"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[DFS is considered healthy if there are no missing blocks.]]>
+ </doc>
+ </method>
+ <method name="addMissing"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="id" type="java.lang.String"/>
+ <param name="size" type="long"/>
+ <doc>
+ <![CDATA[Add a missing block name, plus its size.]]>
+ </doc>
+ </method>
+ <method name="getMissingIds" return="java.util.ArrayList"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return a list of missing block names (as list of Strings).]]>
+ </doc>
+ </method>
+ <method name="getMissingSize" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return total size of missing data, in bytes.]]>
+ </doc>
+ </method>
+ <method name="setMissingSize"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="missingSize" type="long"/>
+ </method>
+ <method name="getExcessiveReplicas" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return the number of over-replicated blocks.]]>
+ </doc>
+ </method>
+ <method name="setExcessiveReplicas"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="overReplicatedBlocks" type="long"/>
+ </method>
+ <method name="getReplicationFactor" return="float"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return the actual replication factor.]]>
+ </doc>
+ </method>
+ <method name="getMissingReplicas" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return the number of under-replicated blocks. Note: missing blocks are not counted here.]]>
+ </doc>
+ </method>
+ <method name="setMissingReplicas"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="underReplicatedBlocks" type="long"/>
+ </method>
+ <method name="getTotalDirs" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return total number of directories encountered during this scan.]]>
+ </doc>
+ </method>
+ <method name="setTotalDirs"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="totalDirs" type="long"/>
+ </method>
+ <method name="getTotalFiles" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return total number of files encountered during this scan.]]>
+ </doc>
+ </method>
+ <method name="setTotalFiles"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="totalFiles" type="long"/>
+ </method>
+ <method name="getTotalOpenFiles" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return total number of files opened for write encountered during this scan.]]>
+ </doc>
+ </method>
+ <method name="setTotalOpenFiles"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="totalOpenFiles" type="long"/>
+ <doc>
+ <![CDATA[Set total number of open files encountered during this scan.]]>
+ </doc>
+ </method>
+ <method name="getTotalSize" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return total size of scanned data, in bytes.]]>
+ </doc>
+ </method>
+ <method name="setTotalSize"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="totalSize" type="long"/>
+ </method>
+ <method name="getTotalOpenFilesSize" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return total size of open files data, in bytes.]]>
+ </doc>
+ </method>
+ <method name="setTotalOpenFilesSize"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="totalOpenFilesSize" type="long"/>
+ </method>
+ <method name="getReplication" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return the intended replication factor, against which the over/under-
+ replicated blocks are counted. Note: this values comes from the current
+ Configuration supplied for the tool, so it may be different from the
+ value in DFS Configuration.]]>
+ </doc>
+ </method>
+ <method name="setReplication"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="replication" type="int"/>
+ </method>
+ <method name="getTotalBlocks" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return the total number of blocks in the scanned area.]]>
+ </doc>
+ </method>
+ <method name="setTotalBlocks"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="totalBlocks" type="long"/>
+ </method>
+ <method name="getTotalOpenFilesBlocks" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return the total number of blocks held by open files.]]>
+ </doc>
+ </method>
+ <method name="setTotalOpenFilesBlocks"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="totalOpenFilesBlocks" type="long"/>
+ </method>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getCorruptFiles" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Return the number of currupted files.]]>
+ </doc>
+ </method>
+ <method name="setCorruptFiles"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="corruptFiles" type="long"/>
+ </method>
+ <doc>
+ <![CDATA[FsckResult of checking, plus overall DFS statistics.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.NamenodeFsck.FsckResult -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.NotReplicatedYetException -->
+ <class name="NotReplicatedYetException" extends="java.io.IOException"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="NotReplicatedYetException" type="java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <doc>
+ <![CDATA[The file has not finished being written to enough datanodes yet.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.NotReplicatedYetException -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.SafeModeException -->
+ <class name="SafeModeException" extends="java.io.IOException"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="SafeModeException" type="java.lang.String, org.apache.hadoop.hdfs.server.namenode.FSNamesystem.SafeModeInfo"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <doc>
+ <![CDATA[This exception is thrown when the name node is in safe mode.
+ Client cannot modified namespace until the safe mode is off.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.SafeModeException -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode -->
+ <class name="SecondaryNameNode" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="java.lang.Runnable"/>
+ <constructor name="SecondaryNameNode" type="org.apache.hadoop.conf.Configuration"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Create a connection to the primary namenode.]]>
+ </doc>
+ </constructor>
+ <method name="shutdown"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Shut down this instance of the datanode.
+ Returns only after shutdown is complete.]]>
+ </doc>
+ </method>
+ <method name="run"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="main"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="argv" type="java.lang.String[]"/>
+ <exception name="Exception" type="java.lang.Exception"/>
+ <doc>
+ <![CDATA[main() has some simple utility methods.
+ @param argv Command line parameters.
+ @exception Exception if the filesystem does not exist.]]>
+ </doc>
+ </method>
+ <field name="LOG" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[The Secondary NameNode is a helper to the primary NameNode.
+ The Secondary is responsible for supporting periodic checkpoints
+ of the HDFS metadata. The current design allows only one Secondary
+ NameNode per HDFs cluster.
+
+ The Secondary NameNode is a daemon that periodically wakes
+ up (determined by the schedule specified in the configuration),
+ triggers a periodic checkpoint and then goes back to sleep.
+ The Secondary NameNode uses the ClientProtocol to talk to the
+ primary NameNode.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.StreamFile -->
+ <class name="StreamFile" extends="org.apache.hadoop.hdfs.server.namenode.DfsServlet"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="StreamFile"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getDFSClient" return="org.apache.hadoop.hdfs.DFSClient"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ <param name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[getting a client for connecting to dfs]]>
+ </doc>
+ </method>
+ <method name="doGet"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <param name="response" type="javax.servlet.http.HttpServletResponse"/>
+ <exception name="ServletException" type="javax.servlet.ServletException"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.StreamFile -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.UpgradeObjectNamenode -->
+ <class name="UpgradeObjectNamenode" extends="org.apache.hadoop.hdfs.server.common.UpgradeObject"
+ abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="UpgradeObjectNamenode"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="processUpgradeCommand" return="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"
+ abstract="true" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="command" type="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Process an upgrade command.
+ RPC has only one very generic command for all upgrade related inter
+ component communications.
+ The actual command recognition and execution should be handled here.
+ The reply is sent back also as an UpgradeCommand.
+
+ @param command
+ @return the reply command which is analyzed on the client side.]]>
+ </doc>
+ </method>
+ <method name="getType" return="org.apache.hadoop.hdfs.server.common.HdfsConstants.NodeType"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="startUpgrade" return="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="getFSNamesystem" return="org.apache.hadoop.hdfs.server.namenode.FSNamesystem"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </method>
+ <method name="forceProceed"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <doc>
+ <![CDATA[Base class for name-node upgrade objects.
+ Data-node upgrades are run in separate threads.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.UpgradeObjectNamenode -->
+</package>
+<package name="org.apache.hadoop.hdfs.server.namenode.metrics">
+ <!-- start interface org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMBean -->
+ <interface name="FSNamesystemMBean" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <method name="getFSState" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[The state of the file system: Safemode or Operational
+ @return the state]]>
+ </doc>
+ </method>
+ <method name="getBlocksTotal" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Number of allocated blocks in the system
+ @return - number of allocated blocks]]>
+ </doc>
+ </method>
+ <method name="getCapacityTotal" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Total storage capacity
+ @return - total capacity in bytes]]>
+ </doc>
+ </method>
+ <method name="getCapacityRemaining" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Free (unused) storage capacity
+ @return - free capacity in bytes]]>
+ </doc>
+ </method>
+ <method name="getCapacityUsed" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Used storage capacity
+ @return - used capacity in bytes]]>
+ </doc>
+ </method>
+ <method name="getFilesTotal" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Total number of files and directories
+ @return - num of files and directories]]>
+ </doc>
+ </method>
+ <method name="getPendingReplicationBlocks" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Blocks pending to be replicated
+ @return - num of blocks to be replicated]]>
+ </doc>
+ </method>
+ <method name="getUnderReplicatedBlocks" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Blocks under replicated
+ @return - num of blocks under replicated]]>
+ </doc>
+ </method>
+ <method name="getScheduledReplicationBlocks" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Blocks scheduled for replication
+ @return - num of blocks scheduled for replication]]>
+ </doc>
+ </method>
+ <method name="getTotalLoad" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Total Load on the FSNamesystem
+ @return - total load of FSNamesystem]]>
+ </doc>
+ </method>
+ <method name="numLiveDataNodes" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Number of Live data nodes
+ @return number of live data nodes]]>
+ </doc>
+ </method>
+ <method name="numDeadDataNodes" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Number of dead data nodes
+ @return number of dead data nodes]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[This Interface defines the methods to get the status of a the FSNamesystem of
+ a name node.
+ It is also used for publishing via JMX (hence we follow the JMX naming
+ convention.)
+
+ Note we have not used the MetricsDynamicMBeanBase to implement this
+ because the interface for the NameNodeStateMBean is stable and should
+ be published as an interface.
+
+ <p>
+ Name Node runtime activity statistic info is report in another MBean
+ @see org.apache.hadoop.hdfs.server.namenode.metrics.NameNodeActivityMBean]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMBean -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMetrics -->
+ <class name="FSNamesystemMetrics" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.metrics.Updater"/>
+ <constructor name="FSNamesystemMetrics" type="org.apache.hadoop.conf.Configuration"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="doUpdates"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="unused" type="org.apache.hadoop.metrics.MetricsContext"/>
+ <doc>
+ <![CDATA[Since this object is a registered updater, this method will be called
+ periodically, e.g. every 5 seconds.
+ We set the metrics value within this function before pushing it out.
+ FSNamesystem updates its own local variables which are
+ light weight compared to Metrics counters.
+
+ Some of the metrics are explicity casted to int. Few metrics collectors
+ do not handle long values. It is safe to cast to int for now as all these
+ values fit in int value.
+ Metrics related to DFS capacity are stored in bytes which do not fit in
+ int, so they are rounded to GB]]>
+ </doc>
+ </method>
+ <field name="registry" type="org.apache.hadoop.metrics.util.MetricsRegistry"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="filesTotal" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blocksTotal" type="org.apache.hadoop.metrics.util.MetricsLongValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="capacityTotalGB" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="capacityUsedGB" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="capacityRemainingGB" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="totalLoad" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="pendingReplicationBlocks" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="underReplicatedBlocks" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="scheduledReplicationBlocks" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="missingBlocks" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[This class is for maintaining the various FSNamesystem status metrics
+ and publishing them through the metrics interfaces.
+ The SNamesystem creates and registers the JMX MBean.
+ <p>
+ This class has a number of metrics variables that are publicly accessible;
+ these variables (objects) have methods to update their values;
+ for example:
+ <p> {@link #filesTotal}.set()]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMetrics -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.metrics.NameNodeActivtyMBean -->
+ <class name="NameNodeActivtyMBean" extends="org.apache.hadoop.metrics.util.MetricsDynamicMBeanBase"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="NameNodeActivtyMBean" type="org.apache.hadoop.metrics.util.MetricsRegistry"
+ static="false" final="false" visibility="protected"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="shutdown"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <doc>
+ <![CDATA[This is the JMX MBean for reporting the NameNode Activity.
+ The MBean is register using the name
+ "hadoop:service=NameNode,name=NameNodeActivity"
+
+ Many of the activity metrics are sampled and averaged on an interval
+ which can be specified in the metrics config file.
+ <p>
+ For the metrics that are sampled and averaged, one must specify
+ a metrics context that does periodic update calls. Most metrics contexts do.
+ The default Null metrics context however does NOT. So if you aren't
+ using any other metrics context then you can turn on the viewing and averaging
+ of sampled metrics by specifying the following two lines
+ in the hadoop-meterics.properties file:
+ <pre>
+ dfs.class=org.apache.hadoop.metrics.spi.NullContextWithUpdateThread
+ dfs.period=10
+ </pre>
+<p>
+ Note that the metrics are collected regardless of the context used.
+ The context with the update thread is used to average the data periodically
+
+
+
+ Impl details: We use a dynamic mbean that gets the list of the metrics
+ from the metrics registry passed as an argument to the constructor]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.metrics.NameNodeActivtyMBean -->
+ <!-- start class org.apache.hadoop.hdfs.server.namenode.metrics.NameNodeMetrics -->
+ <class name="NameNodeMetrics" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.metrics.Updater"/>
+ <constructor name="NameNodeMetrics" type="org.apache.hadoop.conf.Configuration, org.apache.hadoop.hdfs.server.namenode.NameNode"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="shutdown"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="doUpdates"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="unused" type="org.apache.hadoop.metrics.MetricsContext"/>
+ <doc>
+ <![CDATA[Since this object is a registered updater, this method will be called
+ periodically, e.g. every 5 seconds.]]>
+ </doc>
+ </method>
+ <method name="resetAllMinMax"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <field name="registry" type="org.apache.hadoop.metrics.util.MetricsRegistry"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="numFilesCreated" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="numFilesAppended" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="numGetBlockLocations" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="numFilesRenamed" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="numGetListingOps" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="numCreateFileOps" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="numDeleteFileOps" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="numAddBlockOps" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="transactions" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingRate"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="syncs" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingRate"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="transactionsBatchedInSync" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingInt"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="blockReport" type="org.apache.hadoop.metrics.util.MetricsTimeVaryingRate"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="safeModeTime" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="fsImageLoadTime" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="numBlocksCorrupted" type="org.apache.hadoop.metrics.util.MetricsIntValue"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[This class is for maintaining the various NameNode activity statistics
+ and publishing them through the metrics interfaces.
+ This also registers the JMX MBean for RPC.
+ <p>
+ This class has a number of metrics variables that are publicly accessible;
+ these variables (objects) have methods to update their values;
+ for example:
+ <p> {@link #syncs}.inc()]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.namenode.metrics.NameNodeMetrics -->
+</package>
+<package name="org.apache.hadoop.hdfs.server.protocol">
+ <!-- start class org.apache.hadoop.hdfs.server.protocol.BlockCommand -->
+ <class name="BlockCommand" extends="org.apache.hadoop.hdfs.server.protocol.DatanodeCommand"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="BlockCommand"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="BlockCommand" type="int, java.util.List"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Create BlockCommand for transferring blocks to another datanode
+ @param blocktargetlist blocks to be transferred]]>
+ </doc>
+ </constructor>
+ <constructor name="BlockCommand" type="int, org.apache.hadoop.hdfs.protocol.Block[]"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Create BlockCommand for the given action
+ @param blocks blocks related to the action]]>
+ </doc>
+ </constructor>
+ <method name="getBlocks" return="org.apache.hadoop.hdfs.protocol.Block[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getTargets" return="org.apache.hadoop.hdfs.protocol.DatanodeInfo[][]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <doc>
+ <![CDATA[A BlockCommand is an instruction to a datanode
+ regarding some blocks under its control. It tells
+ the DataNode to either invalidate a set of indicated
+ blocks, or to copy a set of indicated blocks to
+ another DataNode.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.protocol.BlockCommand -->
+ <!-- start class org.apache.hadoop.hdfs.server.protocol.BlockMetaDataInfo -->
+ <class name="BlockMetaDataInfo" extends="org.apache.hadoop.hdfs.protocol.Block"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="BlockMetaDataInfo"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="BlockMetaDataInfo" type="org.apache.hadoop.hdfs.protocol.Block, long"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getLastScanTime" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[Meta data information for a block]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.protocol.BlockMetaDataInfo -->
+ <!-- start class org.apache.hadoop.hdfs.server.protocol.BlocksWithLocations -->
+ <class name="BlocksWithLocations" extends="java.lang.Object"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.Writable"/>
+ <constructor name="BlocksWithLocations" type="org.apache.hadoop.hdfs.server.protocol.BlocksWithLocations.BlockWithLocations[]"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Constructor with one parameter]]>
+ </doc>
+ </constructor>
+ <method name="getBlocks" return="org.apache.hadoop.hdfs.server.protocol.BlocksWithLocations.BlockWithLocations[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[getter]]>
+ </doc>
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[serialization method]]>
+ </doc>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[deserialization method]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[A class to implement an array of BlockLocations
+ It provide efficient customized serialization/deserialization methods
+ in stead of using the default array (de)serialization provided by RPC]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.protocol.BlocksWithLocations -->
+ <!-- start class org.apache.hadoop.hdfs.server.protocol.BlocksWithLocations.BlockWithLocations -->
+ <class name="BlocksWithLocations.BlockWithLocations" extends="java.lang.Object"
+ abstract="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.Writable"/>
+ <constructor name="BlocksWithLocations.BlockWithLocations"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[default constructor]]>
+ </doc>
+ </constructor>
+ <constructor name="BlocksWithLocations.BlockWithLocations" type="org.apache.hadoop.hdfs.protocol.Block, java.lang.String[]"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[constructor]]>
+ </doc>
+ </constructor>
+ <method name="getBlock" return="org.apache.hadoop.hdfs.protocol.Block"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[get the block]]>
+ </doc>
+ </method>
+ <method name="getDatanodes" return="java.lang.String[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[get the block's locations]]>
+ </doc>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[deserialization method]]>
+ </doc>
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[serialization method]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[A class to keep track of a block and its locations]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.protocol.BlocksWithLocations.BlockWithLocations -->
+ <!-- start class org.apache.hadoop.hdfs.server.protocol.DatanodeCommand -->
+ <class name="DatanodeCommand" extends="java.lang.Object"
+ abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.Writable"/>
+ <constructor name="DatanodeCommand"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getAction" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <field name="REGISTER" type="org.apache.hadoop.hdfs.server.protocol.DatanodeCommand"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="FINALIZE" type="org.apache.hadoop.hdfs.server.protocol.DatanodeCommand"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.protocol.DatanodeCommand -->
+ <!-- start interface org.apache.hadoop.hdfs.server.protocol.DatanodeProtocol -->
+ <interface name="DatanodeProtocol" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.ipc.VersionedProtocol"/>
+ <method name="register" return="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="registration" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Register Datanode.
+
+ @see org.apache.hadoop.hdfs.server.datanode.DataNode#dnRegistration
+ @see org.apache.hadoop.hdfs.server.namenode.FSNamesystem#registerDatanode(DatanodeRegistration)
+
+ @return updated {@link org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration}, which contains
+ new storageID if the datanode did not have one and
+ registration ID for further communication.]]>
+ </doc>
+ </method>
+ <method name="sendHeartbeat" return="org.apache.hadoop.hdfs.server.protocol.DatanodeCommand[]"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="registration" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <param name="capacity" type="long"/>
+ <param name="dfsUsed" type="long"/>
+ <param name="remaining" type="long"/>
+ <param name="xmitsInProgress" type="int"/>
+ <param name="xceiverCount" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[sendHeartbeat() tells the NameNode that the DataNode is still
+ alive and well. Includes some status info, too.
+ It also gives the NameNode a chance to return
+ an array of "DatanodeCommand" objects.
+ A DatanodeCommand tells the DataNode to invalidate local block(s),
+ or to copy them to other DataNodes, etc.]]>
+ </doc>
+ </method>
+ <method name="blockReport" return="org.apache.hadoop.hdfs.server.protocol.DatanodeCommand"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="registration" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <param name="blocks" type="long[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[blockReport() tells the NameNode about all the locally-stored blocks.
+ The NameNode returns an array of Blocks that have become obsolete
+ and should be deleted. This function is meant to upload *all*
+ the locally-stored blocks. It's invoked upon startup and then
+ infrequently afterwards.
+ @param registration
+ @param blocks - the block list as an array of longs.
+ Each block is represented as 2 longs.
+ This is done instead of Block[] to reduce memory used by block reports.
+
+ @return - the next command for DN to process.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="blockReceived"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="registration" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <param name="blocks" type="org.apache.hadoop.hdfs.protocol.Block[]"/>
+ <param name="delHints" type="java.lang.String[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[blockReceived() allows the DataNode to tell the NameNode about
+ recently-received block data, with a hint for pereferred replica
+ to be deleted when there is any excessive blocks.
+ For example, whenever client code
+ writes a new Block here, or another DataNode copies a Block to
+ this DataNode, it will call blockReceived().]]>
+ </doc>
+ </method>
+ <method name="errorReport"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="registration" type="org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration"/>
+ <param name="errorCode" type="int"/>
+ <param name="msg" type="java.lang.String"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[errorReport() tells the NameNode about something that has gone
+ awry. Useful for debugging.]]>
+ </doc>
+ </method>
+ <method name="versionRequest" return="org.apache.hadoop.hdfs.server.protocol.NamespaceInfo"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="processUpgradeCommand" return="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="comm" type="org.apache.hadoop.hdfs.server.protocol.UpgradeCommand"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[This is a very general way to send a command to the name-node during
+ distributed upgrade process.
+
+ The generosity is because the variety of upgrade commands is unpredictable.
+ The reply from the name-node is also received in the form of an upgrade
+ command.
+
+ @return a reply in the form of an upgrade command]]>
+ </doc>
+ </method>
+ <method name="reportBadBlocks"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="blocks" type="org.apache.hadoop.hdfs.protocol.LocatedBlock[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[same as {@link org.apache.hadoop.hdfs.protocol.ClientProtocol#reportBadBlocks(LocatedBlock[])}
+ }]]>
+ </doc>
+ </method>
+ <method name="nextGenerationStamp" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="block" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@return the next GenerationStamp to be associated with the specified
+ block.]]>
+ </doc>
+ </method>
+ <method name="commitBlockSynchronization"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="block" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="newgenerationstamp" type="long"/>
+ <param name="newlength" type="long"/>
+ <param name="closeFile" type="boolean"/>
+ <param name="deleteblock" type="boolean"/>
+ <param name="newtargets" type="org.apache.hadoop.hdfs.protocol.DatanodeID[]"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Commit block synchronization in lease recovery]]>
+ </doc>
+ </method>
+ <field name="versionID" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[19: SendHeartbeat returns an array of DatanodeCommand objects
+ in stead of a DatanodeCommand object.]]>
+ </doc>
+ </field>
+ <field name="NOTIFY" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DISK_ERROR" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="INVALID_BLOCK" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DNA_UNKNOWN" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Determines actions that data node should perform
+ when receiving a datanode command.]]>
+ </doc>
+ </field>
+ <field name="DNA_TRANSFER" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DNA_INVALIDATE" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DNA_SHUTDOWN" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DNA_REGISTER" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DNA_FINALIZE" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="DNA_RECOVERBLOCK" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[Protocol that a DFS datanode uses to communicate with the NameNode.
+ It's used to upload current load information and block reports.
+
+ The only way a NameNode can communicate with a DataNode is by
+ returning values from these functions.]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.server.protocol.DatanodeProtocol -->
+ <!-- start class org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration -->
+ <class name="DatanodeRegistration" extends="org.apache.hadoop.hdfs.protocol.DatanodeID"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.Writable"/>
+ <constructor name="DatanodeRegistration"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Default constructor.]]>
+ </doc>
+ </constructor>
+ <constructor name="DatanodeRegistration" type="java.lang.String"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Create DatanodeRegistration]]>
+ </doc>
+ </constructor>
+ <method name="setInfoPort"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="infoPort" type="int"/>
+ </method>
+ <method name="setIpcPort"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="ipcPort" type="int"/>
+ </method>
+ <method name="setStorageInfo"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="storage" type="org.apache.hadoop.hdfs.server.datanode.DataStorage"/>
+ </method>
+ <method name="setName"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="name" type="java.lang.String"/>
+ </method>
+ <method name="getVersion" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getRegistrationID" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="toString" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[{@inheritDoc}]]>
+ </doc>
+ </method>
+ <field name="storageInfo" type="org.apache.hadoop.hdfs.server.common.StorageInfo"
+ transient="false" volatile="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[DatanodeRegistration class conatins all information the Namenode needs
+ to identify and verify a Datanode when it contacts the Namenode.
+ This information is sent by Datanode with each communication request.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration -->
+ <!-- start class org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException -->
+ <class name="DisallowedDatanodeException" extends="java.io.IOException"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="DisallowedDatanodeException" type="org.apache.hadoop.hdfs.protocol.DatanodeID"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <doc>
+ <![CDATA[This exception is thrown when a datanode tries to register or communicate
+ with the namenode when it does not appear on the list of included nodes,
+ or has been specifically excluded.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException -->
+ <!-- start interface org.apache.hadoop.hdfs.server.protocol.InterDatanodeProtocol -->
+ <interface name="InterDatanodeProtocol" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.ipc.VersionedProtocol"/>
+ <method name="getBlockMetaDataInfo" return="org.apache.hadoop.hdfs.server.protocol.BlockMetaDataInfo"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="block" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[@return the BlockMetaDataInfo of a block;
+ null if the block is not found]]>
+ </doc>
+ </method>
+ <method name="updateBlock"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="oldblock" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="newblock" type="org.apache.hadoop.hdfs.protocol.Block"/>
+ <param name="finalize" type="boolean"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Update the block to the new generation stamp and length.]]>
+ </doc>
+ </method>
+ <field name="LOG" type="org.apache.commons.logging.Log"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="versionID" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[3: added a finalize parameter to updateBlock]]>
+ </doc>
+ </field>
+ <doc>
+ <![CDATA[An inter-datanode protocol for updating generation stamp]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.server.protocol.InterDatanodeProtocol -->
+ <!-- start interface org.apache.hadoop.hdfs.server.protocol.NamenodeProtocol -->
+ <interface name="NamenodeProtocol" abstract="true"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.ipc.VersionedProtocol"/>
+ <method name="getBlocks" return="org.apache.hadoop.hdfs.server.protocol.BlocksWithLocations"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="datanode" type="org.apache.hadoop.hdfs.protocol.DatanodeInfo"/>
+ <param name="size" type="long"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get a list of blocks belonged to <code>datanode</code>
+ whose total size is equal to <code>size</code>
+ @param datanode a data node
+ @param size requested size
+ @return a list of blocks & their locations
+ @throws RemoteException if size is less than or equal to 0 or
+ datanode does not exist]]>
+ </doc>
+ </method>
+ <method name="getEditLogSize" return="long"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Get the size of the current edit log (in bytes).
+ @return The number of bytes in the current edit log.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="rollEditLog" return="org.apache.hadoop.hdfs.server.namenode.CheckpointSignature"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Closes the current edit log and opens a new one. The
+ call fails if the file system is in SafeMode.
+ @throws IOException
+ @return a unique token to identify this transaction.]]>
+ </doc>
+ </method>
+ <method name="rollFsImage"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Rolls the fsImage log. It removes the old fsImage, copies the
+ new image to fsImage, removes the old edits and renames edits.new
+ to edits. The call fails if any of the four files are missing.
+ @throws IOException]]>
+ </doc>
+ </method>
+ <field name="versionID" type="long"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[2: Added getEditLogSize(), rollEditLog(), rollFSImage().]]>
+ </doc>
+ </field>
+ <doc>
+ <![CDATA[Protocol that a secondary NameNode uses to communicate with the NameNode.
+ It's used to get part of the name node state]]>
+ </doc>
+ </interface>
+ <!-- end interface org.apache.hadoop.hdfs.server.protocol.NamenodeProtocol -->
+ <!-- start class org.apache.hadoop.hdfs.server.protocol.NamespaceInfo -->
+ <class name="NamespaceInfo" extends="org.apache.hadoop.hdfs.server.common.StorageInfo"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.io.Writable"/>
+ <constructor name="NamespaceInfo"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="NamespaceInfo" type="int, long, int"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getBuildVersion" return="java.lang.String"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getDistributedUpgradeVersion" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <doc>
+ <![CDATA[NamespaceInfo is returned by the name-node in reply
+ to a data-node handshake.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.protocol.NamespaceInfo -->
+ <!-- start class org.apache.hadoop.hdfs.server.protocol.UpgradeCommand -->
+ <class name="UpgradeCommand" extends="org.apache.hadoop.hdfs.server.protocol.DatanodeCommand"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="UpgradeCommand"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <constructor name="UpgradeCommand" type="int, int, short"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </constructor>
+ <method name="getVersion" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="getCurrentStatus" return="short"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ </method>
+ <method name="write"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="out" type="java.io.DataOutput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <method name="readFields"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="in" type="java.io.DataInput"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ </method>
+ <field name="UC_ACTION_REPORT_STATUS" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <field name="UC_ACTION_START_UPGRADE" type="int"
+ transient="false" volatile="false"
+ static="true" final="true" visibility="public"
+ deprecated="not deprecated">
+ </field>
+ <doc>
+ <![CDATA[This as a generic distributed upgrade command.
+
+ During the upgrade cluster components send upgrade commands to each other
+ in order to obtain or share information with them.
+ It is supposed that each upgrade defines specific upgrade command by
+ deriving them from this class.
+ The upgrade command contains version of the upgrade, which is verified
+ on the receiving side and current status of the upgrade.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.server.protocol.UpgradeCommand -->
+</package>
+<package name="org.apache.hadoop.hdfs.tools">
+ <!-- start class org.apache.hadoop.hdfs.tools.DFSAdmin -->
+ <class name="DFSAdmin" extends="org.apache.hadoop.fs.FsShell"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <constructor name="DFSAdmin"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Construct a DFSAdmin object.]]>
+ </doc>
+ </constructor>
+ <constructor name="DFSAdmin" type="org.apache.hadoop.conf.Configuration"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <doc>
+ <![CDATA[Construct a DFSAdmin object.]]>
+ </doc>
+ </constructor>
+ <method name="report"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Gives a report on how the FileSystem is doing.
+ @exception IOException if the filesystem does not exist.]]>
+ </doc>
+ </method>
+ <method name="setSafeMode"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="argv" type="java.lang.String[]"/>
+ <param name="idx" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Safe mode maintenance command.
+ Usage: java DFSAdmin -safemode [enter | leave | get]
+ @param argv List of of command line parameters.
+ @param idx The index of the command that is being processed.
+ @exception IOException if the filesystem does not exist.]]>
+ </doc>
+ </method>
+ <method name="saveNamespace" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Command to ask the namenode to save the namespace.
+ Usage: java DFSAdmin -saveNamespace
+ @exception IOException
+ @see org.apache.hadoop.hdfs.protocol.ClientProtocol#saveNamespace()]]>
+ </doc>
+ </method>
+ <method name="refreshNodes" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Command to ask the namenode to reread the hosts and excluded hosts
+ file.
+ Usage: java DFSAdmin -refreshNodes
+ @exception IOException]]>
+ </doc>
+ </method>
+ <method name="finalizeUpgrade" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Command to ask the namenode to finalize previously performed upgrade.
+ Usage: java DFSAdmin -finalizeUpgrade
+ @exception IOException]]>
+ </doc>
+ </method>
+ <method name="upgradeProgress" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="argv" type="java.lang.String[]"/>
+ <param name="idx" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Command to request current distributed upgrade status,
+ a detailed status, or to force the upgrade to proceed.
+
+ Usage: java DFSAdmin -upgradeProgress [status | details | force]
+ @exception IOException]]>
+ </doc>
+ </method>
+ <method name="metaSave" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="argv" type="java.lang.String[]"/>
+ <param name="idx" type="int"/>
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Dumps DFS data structures into specified file.
+ Usage: java DFSAdmin -metasave filename
+ @param argv List of of command line parameters.
+ @param idx The index of the command that is being processed.
+ @exception IOException if an error accoured wile accessing
+ the file or path.]]>
+ </doc>
+ </method>
+ <method name="refreshServiceAcl" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="IOException" type="java.io.IOException"/>
+ <doc>
+ <![CDATA[Refresh the authorization policy on the {@link NameNode}.
+ @return exitcode 0 on success, non-zero on failure
+ @throws IOException]]>
+ </doc>
+ </method>
+ <method name="run" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="argv" type="java.lang.String[]"/>
+ <exception name="Exception" type="java.lang.Exception"/>
+ <doc>
+ <![CDATA[@param argv The parameters passed to this program.
+ @exception Exception if the filesystem does not exist.
+ @return 0 on success, non zero on error.]]>
+ </doc>
+ </method>
+ <method name="main"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="argv" type="java.lang.String[]"/>
+ <exception name="Exception" type="java.lang.Exception"/>
+ <doc>
+ <![CDATA[main() has some simple utility methods.
+ @param argv Command line parameters.
+ @exception Exception if the filesystem does not exist.]]>
+ </doc>
+ </method>
+ <doc>
+ <![CDATA[This class provides some DFS administrative access.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.tools.DFSAdmin -->
+ <!-- start class org.apache.hadoop.hdfs.tools.DFSck -->
+ <class name="DFSck" extends="org.apache.hadoop.conf.Configured"
+ abstract="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <implements name="org.apache.hadoop.util.Tool"/>
+ <constructor name="DFSck" type="org.apache.hadoop.conf.Configuration"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <exception name="Exception" type="java.lang.Exception"/>
+ <doc>
+ <![CDATA[Filesystem checker.
+ @param conf current Configuration
+ @throws Exception]]>
+ </doc>
+ </constructor>
+ <method name="run" return="int"
+ abstract="false" native="false" synchronized="false"
+ static="false" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="args" type="java.lang.String[]"/>
+ <exception name="Exception" type="java.lang.Exception"/>
+ <doc>
+ <![CDATA[@param args]]>
+ </doc>
+ </method>
+ <method name="main"
+ abstract="false" native="false" synchronized="false"
+ static="true" final="false" visibility="public"
+ deprecated="not deprecated">
+ <param name="args" type="java.lang.String[]"/>
+ <exception name="Exception" type="java.lang.Exception"/>
+ </method>
+ <doc>
+ <![CDATA[This class provides rudimentary checking of DFS volumes for errors and
+ sub-optimal conditions.
+ <p>The tool scans all files and directories, starting from an indicated
+ root path. The following abnormal conditions are detected and handled:</p>
+ <ul>
+ <li>files with blocks that are completely missing from all datanodes.<br/>
+ In this case the tool can perform one of the following actions:
+ <ul>
+ <li>none ({@link org.apache.hadoop.hdfs.server.namenode.NamenodeFsck#FIXING_NONE})</li>
+ <li>move corrupted files to /lost+found directory on DFS
+ ({@link org.apache.hadoop.hdfs.server.namenode.NamenodeFsck#FIXING_MOVE}). Remaining data blocks are saved as a
+ block chains, representing longest consecutive series of valid blocks.</li>
+ <li>delete corrupted files ({@link org.apache.hadoop.hdfs.server.namenode.NamenodeFsck#FIXING_DELETE})</li>
+ </ul>
+ </li>
+ <li>detect files with under-replicated or over-replicated blocks</li>
+ </ul>
+ Additionally, the tool collects a detailed overall DFS statistics, and
+ optionally can print detailed statistics on block locations and replication
+ factors of each file.
+ The tool also provides and option to filter open files during the scan.]]>
+ </doc>
+ </class>
+ <!-- end class org.apache.hadoop.hdfs.tools.DFSck -->
+</package>
+
+</api>