diff options
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.xml | 10389 |
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 ("no") + filter (".*") + exclude ("\..*\.crc") + + 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> |