You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ar...@apache.org on 2015/07/14 22:25:23 UTC
[07/50] hadoop git commit: HDFS-8620. Clean up the checkstyle
warinings about ClientProtocol. Contributed by Takanobu Asanuma.
HDFS-8620. Clean up the checkstyle warinings about ClientProtocol. Contributed by Takanobu Asanuma.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c0b8e4e5
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c0b8e4e5
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c0b8e4e5
Branch: refs/heads/HDFS-7240
Commit: c0b8e4e5b5083631ed22d8d36c8992df7d34303c
Parents: b68701b
Author: Haohui Mai <wh...@apache.org>
Authored: Tue Jul 7 14:01:19 2015 -0700
Committer: Haohui Mai <wh...@apache.org>
Committed: Tue Jul 7 14:01:19 2015 -0700
----------------------------------------------------------------------
.../hdfs/client/HdfsClientConfigKeys.java | 3 +-
.../hadoop/hdfs/protocol/ClientProtocol.java | 606 +++++++++----------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +
3 files changed, 288 insertions(+), 324 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/c0b8e4e5/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java
index e6d579b..600c7ca 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java
@@ -39,7 +39,8 @@ public interface HdfsClientConfigKeys {
String DFS_NAMENODE_HTTPS_ADDRESS_KEY = "dfs.namenode.https-address";
String DFS_HA_NAMENODES_KEY_PREFIX = "dfs.ha.namenodes";
int DFS_NAMENODE_RPC_PORT_DEFAULT = 8020;
- String DFS_NAMENODE_KERBEROS_PRINCIPAL_KEY = "dfs.namenode.kerberos.principal";
+ String DFS_NAMENODE_KERBEROS_PRINCIPAL_KEY =
+ "dfs.namenode.kerberos.principal";
/** dfs.client.retry configuration properties */
interface Retry {
http://git-wip-us.apache.org/repos/asf/hadoop/blob/c0b8e4e5/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java
index ab41911..381be30 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java
@@ -77,32 +77,33 @@ public interface ClientProtocol {
/**
* Until version 69, this class ClientProtocol served as both
- * the client interface to the NN AND the RPC protocol used to
+ * the client interface to the NN AND the RPC protocol used to
* communicate with the NN.
- *
- * This class is used by both the DFSClient and the
+ *
+ * This class is used by both the DFSClient and the
* NN server side to insulate from the protocol serialization.
- *
- * If you are adding/changing this interface then you need to
+ *
+ * If you are adding/changing this interface then you need to
* change both this class and ALSO related protocol buffer
* wire protocol definition in ClientNamenodeProtocol.proto.
- *
- * For more details on protocol buffer wire protocol, please see
+ *
+ * For more details on protocol buffer wire protocol, please see
* .../org/apache/hadoop/hdfs/protocolPB/overview.html
- *
+ *
* The log of historical changes can be retrieved from the svn).
* 69: Eliminate overloaded method names.
- *
+ *
* 69L is the last version id when this class was used for protocols
- * serialization. DO not update this version any further.
+ * serialization. DO not update this version any further.
*/
- public static final long versionID = 69L;
-
+ long versionID = 69L;
+
///////////////////////////////////////
// File contents
///////////////////////////////////////
/**
- * Get locations of the blocks of the specified file within the specified range.
+ * 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>
@@ -111,9 +112,9 @@ public interface ClientProtocol {
* DataNode locations for each block are sorted by
* the distance to the client's address.
* <p>
- * The client will then have to contact
+ * 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
@@ -126,11 +127,8 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public LocatedBlocks getBlockLocations(String src,
- long offset,
- long length)
- throws AccessControlException, FileNotFoundException,
- UnresolvedLinkException, IOException;
+ LocatedBlocks getBlockLocations(String src, long offset, long length)
+ throws IOException;
/**
* Get server default values for a number of configuration params.
@@ -138,7 +136,7 @@ public interface ClientProtocol {
* @throws IOException
*/
@Idempotent
- public FsServerDefaults getServerDefaults() throws IOException;
+ FsServerDefaults getServerDefaults() throws IOException;
/**
* Create a new file entry in the namespace.
@@ -148,36 +146,36 @@ public interface ClientProtocol {
* 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, boolean)}, re-create or
- * {@link #rename(String, String)} it until the file is completed
+ * Although, other clients cannot {@link #delete(String, boolean)}, 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
+ * multi-block files must also use
* {@link #addBlock}
*
* @param src path of the file being created.
* @param masked masked permission.
* @param clientName name of the current client.
- * @param flag indicates whether the file should be
+ * @param flag indicates whether the file should be
* overwritten if it already exists or create if it does not exist or append.
* @param createParent create missing parent directory if true
* @param replication block replication factor.
* @param blockSize maximum block size.
* @param supportedVersions CryptoProtocolVersions supported by the client
- *
+ *
* @return the status of the created file, it could be null if the server
* doesn't support returning the file status
* @throws AccessControlException If access is denied
* @throws AlreadyBeingCreatedException if the path does not exist.
- * @throws DSQuotaExceededException If file creation violates disk space
+ * @throws DSQuotaExceededException If file creation violates disk space
* quota restriction
* @throws FileAlreadyExistsException If file <code>src</code> already exists
* @throws FileNotFoundException If parent of <code>src</code> does not exist
* and <code>createParent</code> is false
* @throws ParentNotDirectoryException If parent of <code>src</code> is not a
* directory.
- * @throws NSQuotaExceededException If file creation violates name space
+ * @throws NSQuotaExceededException If file creation violates name space
* quota restriction
* @throws SafeModeException create not allowed in safemode
* @throws UnresolvedLinkException If <code>src</code> contains a symlink
@@ -190,33 +188,29 @@ public interface ClientProtocol {
* <em>Note that create with {@link CreateFlag#OVERWRITE} is idempotent.</em>
*/
@AtMostOnce
- public HdfsFileStatus create(String src, FsPermission masked,
+ HdfsFileStatus create(String src, FsPermission masked,
String clientName, EnumSetWritable<CreateFlag> flag,
- boolean createParent, short replication, long blockSize,
+ boolean createParent, short replication, long blockSize,
CryptoProtocolVersion[] supportedVersions)
- throws AccessControlException, AlreadyBeingCreatedException,
- DSQuotaExceededException, FileAlreadyExistsException,
- FileNotFoundException, NSQuotaExceededException,
- ParentNotDirectoryException, SafeModeException, UnresolvedLinkException,
- SnapshotAccessControlException, IOException;
+ throws IOException;
/**
- * Append to the end of the file.
+ * Append to the end of the file.
* @param src path of the file being created.
* @param clientName name of the current client.
* @param flag indicates whether the data is appended to a new block.
* @return wrapper with information about the last partial block and file
* status if any
- * @throws AccessControlException if permission to append file is
- * denied by the system. As usually on the client side the exception will
+ * @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 AccessControlException If permission to append to file is denied
* @throws FileNotFoundException If file <code>src</code> is not found
- * @throws DSQuotaExceededException If append violates disk space quota
+ * @throws DSQuotaExceededException If append violates disk space quota
* restriction
* @throws SafeModeException append not allowed in safemode
* @throws UnresolvedLinkException If <code>src</code> contains a symlink
@@ -227,27 +221,25 @@ public interface ClientProtocol {
* @throws UnsupportedOperationException if append is not supported
*/
@AtMostOnce
- public LastBlockWithStatus append(String src, String clientName,
- EnumSetWritable<CreateFlag> flag) throws AccessControlException,
- DSQuotaExceededException, FileNotFoundException, SafeModeException,
- UnresolvedLinkException, SnapshotAccessControlException, IOException;
+ LastBlockWithStatus append(String src, String clientName,
+ EnumSetWritable<CreateFlag> flag) throws IOException;
/**
* 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
+ * 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
- *
+ *
* @return true if successful;
* false if file does not exist or is a directory
*
* @throws AccessControlException If access is denied
- * @throws DSQuotaExceededException If replication violates disk space
+ * @throws DSQuotaExceededException If replication violates disk space
* quota restriction
* @throws FileNotFoundException If file <code>src</code> is not found
* @throws SafeModeException not allowed in safemode
@@ -256,21 +248,19 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public boolean setReplication(String src, short replication)
- throws AccessControlException, DSQuotaExceededException,
- FileNotFoundException, SafeModeException, UnresolvedLinkException,
- SnapshotAccessControlException, IOException;
+ boolean setReplication(String src, short replication)
+ throws IOException;
/**
* Get all the available block storage policies.
* @return All the in-use block storage policies currently.
*/
@Idempotent
- public BlockStoragePolicy[] getStoragePolicies() throws IOException;
+ BlockStoragePolicy[] getStoragePolicies() throws IOException;
/**
- * Set the storage policy for a file/directory
- * @param src Path of an existing file/directory.
+ * Set the storage policy for a file/directory.
+ * @param src Path of an existing file/directory.
* @param policyName The name of the storage policy
* @throws SnapshotAccessControlException If access is denied
* @throws UnresolvedLinkException if <code>src</code> contains a symlink
@@ -278,13 +268,12 @@ public interface ClientProtocol {
* @throws QuotaExceededException If changes violate the quota restriction
*/
@Idempotent
- public void setStoragePolicy(String src, String policyName)
- throws SnapshotAccessControlException, UnresolvedLinkException,
- FileNotFoundException, QuotaExceededException, IOException;
+ void setStoragePolicy(String src, String policyName)
+ throws IOException;
/**
* Set permissions for an existing file/directory.
- *
+ *
* @throws AccessControlException If access is denied
* @throws FileNotFoundException If file <code>src</code> is not found
* @throws SafeModeException not allowed in safemode
@@ -293,9 +282,8 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public void setPermission(String src, FsPermission permission)
- throws AccessControlException, FileNotFoundException, SafeModeException,
- UnresolvedLinkException, SnapshotAccessControlException, IOException;
+ void setPermission(String src, FsPermission permission)
+ throws IOException;
/**
* Set Owner of a path (i.e. a file or a directory).
@@ -312,16 +300,15 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public void setOwner(String src, String username, String groupname)
- throws AccessControlException, FileNotFoundException, SafeModeException,
- UnresolvedLinkException, SnapshotAccessControlException, IOException;
+ void setOwner(String src, String username, String groupname)
+ throws IOException;
/**
* The client can give up on a block by calling abandonBlock().
- * The client can then either obtain a new block, or complete or abandon the
+ * The client can then either obtain a new block, or complete or abandon the
* file.
* Any partial writes to the block will be discarded.
- *
+ *
* @param b Block to abandon
* @param fileId The id of the file where the block resides. Older clients
* will pass GRANDFATHER_INODE_ID here.
@@ -334,19 +321,18 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public void abandonBlock(ExtendedBlock b, long fileId,
+ void abandonBlock(ExtendedBlock b, long fileId,
String src, String holder)
- throws AccessControlException, FileNotFoundException,
- UnresolvedLinkException, IOException;
+ throws IOException;
/**
- * A client that wants to write an additional block to the
+ * A client that wants to write an additional block to the
* indicated filename (which must currently be open for writing)
- * should call addBlock().
+ * should call addBlock().
*
* addBlock() allocates a new block and datanodes the block data
* should be replicated to.
- *
+ *
* addBlock() also commits the previous block by reporting
* to the name-node the actual generation stamp and the length
* of the block that the client has transmitted to data-nodes.
@@ -372,16 +358,14 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public LocatedBlock addBlock(String src, String clientName,
- ExtendedBlock previous, DatanodeInfo[] excludeNodes, long fileId,
+ LocatedBlock addBlock(String src, String clientName,
+ ExtendedBlock previous, DatanodeInfo[] excludeNodes, long fileId,
String[] favoredNodes)
- throws AccessControlException, FileNotFoundException,
- NotReplicatedYetException, SafeModeException, UnresolvedLinkException,
- IOException;
+ throws IOException;
- /**
+ /**
* Get a datanode for an existing pipeline.
- *
+ *
* @param src the file being written
* @param fileId the ID of the file being written
* @param blk the block being written
@@ -389,9 +373,9 @@ public interface ClientProtocol {
* @param excludes the excluded nodes
* @param numAdditionalNodes number of additional datanodes
* @param clientName the name of the client
- *
+ *
* @return the located block.
- *
+ *
* @throws AccessControlException If access is denied
* @throws FileNotFoundException If file <code>src</code> is not found
* @throws SafeModeException create not allowed in safemode
@@ -399,22 +383,21 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public LocatedBlock getAdditionalDatanode(final String src,
+ LocatedBlock getAdditionalDatanode(final String src,
final long fileId, final ExtendedBlock blk,
final DatanodeInfo[] existings,
final String[] existingStorageIDs,
final DatanodeInfo[] excludes,
final int numAdditionalNodes, final String clientName
- ) throws AccessControlException, FileNotFoundException,
- SafeModeException, UnresolvedLinkException, IOException;
+ ) throws IOException;
/**
- * The client is done writing data to the given filename, and would
- * like to complete it.
+ * 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.
- *
+ *
* close() also commits the last block of file by reporting
* to the name-node the actual generation stamp and the length
* of the block that the client has transmitted to data-nodes.
@@ -434,14 +417,13 @@ public interface ClientProtocol {
* @throws AccessControlException If access is denied
* @throws FileNotFoundException If file <code>src</code> is not found
* @throws SafeModeException create not allowed in safemode
- * @throws UnresolvedLinkException If <code>src</code> contains a symlink
+ * @throws UnresolvedLinkException If <code>src</code> contains a symlink
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public boolean complete(String src, String clientName,
+ boolean complete(String src, String clientName,
ExtendedBlock last, long fileId)
- throws AccessControlException, FileNotFoundException, SafeModeException,
- UnresolvedLinkException, IOException;
+ throws IOException;
/**
* The client wants to report corrupted blocks (blocks with specified
@@ -449,7 +431,7 @@ public interface ClientProtocol {
* @param blocks Array of located blocks to report
*/
@Idempotent
- public void reportBadBlocks(LocatedBlock[] blocks) throws IOException;
+ void reportBadBlocks(LocatedBlock[] blocks) throws IOException;
///////////////////////////////////////
// Namespace management
@@ -460,17 +442,17 @@ public interface ClientProtocol {
* @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 SnapshotAccessControlException if path is in RO snapshot
- * @throws IOException an I/O error occurred
+ * @throws IOException an I/O error occurred
*/
@AtMostOnce
- public boolean rename(String src, String dst)
- throws UnresolvedLinkException, SnapshotAccessControlException, IOException;
+ boolean rename(String src, String dst)
+ throws IOException;
/**
- * Moves blocks from srcs to trg and delete srcs
- *
+ * Moves blocks from srcs to trg and delete srcs.
+ *
* @param trg existing file
* @param srcs - list of existing files (same block size, same replication)
* @throws IOException if some arguments are invalid
@@ -479,8 +461,8 @@ public interface ClientProtocol {
* @throws SnapshotAccessControlException if path is in RO snapshot
*/
@AtMostOnce
- public void concat(String trg, String[] srcs)
- throws IOException, UnresolvedLinkException, SnapshotAccessControlException;
+ void concat(String trg, String[] srcs)
+ throws IOException;
/**
* Rename src to dst.
@@ -491,7 +473,7 @@ public interface ClientProtocol {
* </ul>
* <p>
* Without OVERWRITE option, rename fails if the dst already exists.
- * With OVERWRITE option, rename overwrites the dst, if it is a file
+ * With OVERWRITE option, rename overwrites the dst, if it is a file
* or an empty directory. Rename fails if dst is a non-empty directory.
* <p>
* This implementation of rename is atomic.
@@ -499,17 +481,17 @@ public interface ClientProtocol {
* @param src existing file or directory name.
* @param dst new name.
* @param options Rename options
- *
+ *
* @throws AccessControlException If access is denied
- * @throws DSQuotaExceededException If rename violates disk space
+ * @throws DSQuotaExceededException If rename violates disk space
* quota restriction
* @throws FileAlreadyExistsException If <code>dst</code> already exists and
- * <code>options</options> has {@link Rename#OVERWRITE} option
+ * <code>options</code> has {@link Rename#OVERWRITE} option
* false.
* @throws FileNotFoundException If <code>src</code> does not exist
- * @throws NSQuotaExceededException If rename violates namespace
+ * @throws NSQuotaExceededException If rename violates namespace
* quota restriction
- * @throws ParentNotDirectoryException If parent of <code>dst</code>
+ * @throws ParentNotDirectoryException If parent of <code>dst</code>
* is not a directory
* @throws SafeModeException rename not allowed in safemode
* @throws UnresolvedLinkException If <code>src</code> or
@@ -518,11 +500,8 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@AtMostOnce
- public void rename2(String src, String dst, Options.Rename... options)
- throws AccessControlException, DSQuotaExceededException,
- FileAlreadyExistsException, FileNotFoundException,
- NSQuotaExceededException, ParentNotDirectoryException, SafeModeException,
- UnresolvedLinkException, SnapshotAccessControlException, IOException;
+ void rename2(String src, String dst, Options.Rename... options)
+ throws IOException;
/**
* Truncate file src to new size.
@@ -550,21 +529,20 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public boolean truncate(String src, long newLength, String clientName)
- throws AccessControlException, FileNotFoundException, SafeModeException,
- UnresolvedLinkException, SnapshotAccessControlException, IOException;
+ boolean truncate(String src, long newLength, String clientName)
+ throws IOException;
/**
* 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.
+ * 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
+ * @return true only if the existing file or directory was actually removed
* from the file system.
- *
+ *
* @throws AccessControlException If access is denied
* @throws FileNotFoundException If file <code>src</code> is not found
* @throws SafeModeException create not allowed in safemode
@@ -573,10 +551,9 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@AtMostOnce
- public boolean delete(String src, boolean recursive)
- throws AccessControlException, FileNotFoundException, SafeModeException,
- UnresolvedLinkException, SnapshotAccessControlException, IOException;
-
+ boolean delete(String src, boolean recursive)
+ throws IOException;
+
/**
* Create a directory (or hierarchy of directories) with the given
* name and permission.
@@ -591,8 +568,9 @@ public interface ClientProtocol {
* @throws FileAlreadyExistsException If <code>src</code> already exists
* @throws FileNotFoundException If parent of <code>src</code> does not exist
* and <code>createParent</code> is false
- * @throws NSQuotaExceededException If file creation violates quota restriction
- * @throws ParentNotDirectoryException If parent of <code>src</code>
+ * @throws NSQuotaExceededException If file creation violates quota
+ * restriction
+ * @throws ParentNotDirectoryException If parent of <code>src</code>
* is not a directory
* @throws SafeModeException create not allowed in safemode
* @throws UnresolvedLinkException If <code>src</code> contains a symlink
@@ -603,14 +581,11 @@ public interface ClientProtocol {
* @throws InvalidPathException If <code>src</code> is invalid
*/
@Idempotent
- public boolean mkdirs(String src, FsPermission masked, boolean createParent)
- throws AccessControlException, FileAlreadyExistsException,
- FileNotFoundException, NSQuotaExceededException,
- ParentNotDirectoryException, SafeModeException, UnresolvedLinkException,
- SnapshotAccessControlException, IOException;
+ boolean mkdirs(String src, FsPermission masked, boolean createParent)
+ throws IOException;
/**
- * Get a partial listing of the indicated directory
+ * Get a partial listing of the indicated directory.
*
* @param src the directory name
* @param startAfter the name to start listing after encoded in java UTF8
@@ -624,20 +599,17 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public DirectoryListing getListing(String src,
- byte[] startAfter,
- boolean needLocation)
- throws AccessControlException, FileNotFoundException,
- UnresolvedLinkException, IOException;
-
- /**
- * Get listing of all the snapshottable directories
- *
+ DirectoryListing getListing(String src, byte[] startAfter,
+ boolean needLocation) throws IOException;
+
+ /**
+ * Get listing of all the snapshottable directories.
+ *
* @return Information about all the current snapshottable directory
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public SnapshottableDirectoryStatus[] getSnapshottableDirListing()
+ SnapshottableDirectoryStatus[] getSnapshottableDirListing()
throws IOException;
///////////////////////////////////////
@@ -646,7 +618,7 @@ public interface ClientProtocol {
/**
* Client programs can cause stateful changes in the NameNode
- * that affect other clients. A client may obtain a file and
+ * 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
@@ -664,29 +636,28 @@ public interface ClientProtocol {
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public void renewLease(String clientName) throws AccessControlException,
- IOException;
+ void renewLease(String clientName) throws IOException;
/**
* Start lease recovery.
* Lightweight NameNode operation to trigger lease recovery
- *
+ *
* @param src path of the file to start lease recovery
* @param clientName name of the current client
* @return true if the file is already closed
* @throws IOException
*/
@Idempotent
- public boolean recoverLease(String src, String clientName) throws IOException;
+ boolean recoverLease(String src, String clientName) throws IOException;
+
+ int GET_STATS_CAPACITY_IDX = 0;
+ int GET_STATS_USED_IDX = 1;
+ int GET_STATS_REMAINING_IDX = 2;
+ int GET_STATS_UNDER_REPLICATED_IDX = 3;
+ int GET_STATS_CORRUPT_BLOCKS_IDX = 4;
+ int GET_STATS_MISSING_BLOCKS_IDX = 5;
+ int GET_STATS_MISSING_REPL_ONE_BLOCKS_IDX = 6;
- public int GET_STATS_CAPACITY_IDX = 0;
- public int GET_STATS_USED_IDX = 1;
- public int GET_STATS_REMAINING_IDX = 2;
- public int GET_STATS_UNDER_REPLICATED_IDX = 3;
- public int GET_STATS_CORRUPT_BLOCKS_IDX = 4;
- public int GET_STATS_MISSING_BLOCKS_IDX = 5;
- public int GET_STATS_MISSING_REPL_ONE_BLOCKS_IDX = 6;
-
/**
* Get a set of statistics about the filesystem.
* Right now, only seven values are returned.
@@ -700,11 +671,11 @@ public interface ClientProtocol {
* <li> [6] contains number of blocks which have replication factor
* 1 and have lost the only replica. </li>
* </ul>
- * Use public constants like {@link #GET_STATS_CAPACITY_IDX} in place of
+ * Use public constants like {@link #GET_STATS_CAPACITY_IDX} in place of
* actual numbers to index into the array.
*/
@Idempotent
- public long[] getStats() throws IOException;
+ long[] getStats() throws IOException;
/**
* Get a report on the system's current datanodes.
@@ -713,14 +684,14 @@ public interface ClientProtocol {
* otherwise all datanodes if type is ALL.
*/
@Idempotent
- public DatanodeInfo[] getDatanodeReport(HdfsConstants.DatanodeReportType type)
+ DatanodeInfo[] getDatanodeReport(HdfsConstants.DatanodeReportType type)
throws IOException;
/**
* Get a report on the current datanode storages.
*/
@Idempotent
- public DatanodeStorageReport[] getDatanodeStorageReport(
+ DatanodeStorageReport[] getDatanodeStorageReport(
HdfsConstants.DatanodeReportType type) throws IOException;
/**
@@ -728,11 +699,11 @@ public interface ClientProtocol {
* @param filename The name of the file
* @return The number of bytes in each block
* @throws IOException
- * @throws UnresolvedLinkException if the path contains a symlink.
+ * @throws UnresolvedLinkException if the path contains a symlink.
*/
@Idempotent
- public long getPreferredBlockSize(String filename)
- throws IOException, UnresolvedLinkException;
+ long getPreferredBlockSize(String filename)
+ throws IOException;
/**
* Enter, leave or get safe mode.
@@ -740,16 +711,17 @@ public interface ClientProtocol {
* 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(HdfsConstants.SafeModeAction,boolean) setSafeMode(SafeModeAction.SAFEMODE_ENTER,false)}.
+ * {@link #setSafeMode(HdfsConstants.SafeModeAction,boolean)
+ * setSafeMode(SafeModeAction.SAFEMODE_ENTER,false)}.
* <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
+ * 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.namenode.replication.min</tt> replicas.
@@ -760,37 +732,40 @@ public interface ClientProtocol {
* Then the name node leaves safe mode.
* <p>
* If safe mode is turned on manually using
- * {@link #setSafeMode(HdfsConstants.SafeModeAction,boolean) setSafeMode(SafeModeAction.SAFEMODE_ENTER,false)}
+ * {@link #setSafeMode(HdfsConstants.SafeModeAction,boolean)
+ * setSafeMode(SafeModeAction.SAFEMODE_ENTER,false)}
* then the name node stays in safe mode until it is manually turned off
- * using {@link #setSafeMode(HdfsConstants.SafeModeAction,boolean) setSafeMode(SafeModeAction.SAFEMODE_LEAVE,false)}.
+ * using {@link #setSafeMode(HdfsConstants.SafeModeAction,boolean)
+ * setSafeMode(SafeModeAction.SAFEMODE_LEAVE,false)}.
* Current state of the name node can be verified using
- * {@link #setSafeMode(HdfsConstants.SafeModeAction,boolean) setSafeMode(SafeModeAction.SAFEMODE_GET,false)}
+ * {@link #setSafeMode(HdfsConstants.SafeModeAction,boolean)
+ * setSafeMode(SafeModeAction.SAFEMODE_GET,false)}
* <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.namenode.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
+ * 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
+ * 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
+ * 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>
* @param isChecked If true then action will be done only in ActiveNN.
- *
- * @return <ul><li>0 if the safe mode is OFF or</li>
+ *
+ * @return <ul><li>0 if the safe mode is OFF or</li>
* <li>1 if the safe mode is ON.</li></ul>
- *
+ *
* @throws IOException
*/
@Idempotent
- public boolean setSafeMode(HdfsConstants.SafeModeAction action, boolean isChecked)
+ boolean setSafeMode(HdfsConstants.SafeModeAction action, boolean isChecked)
throws IOException;
/**
@@ -808,47 +783,45 @@ public interface ClientProtocol {
* @throws IOException if image creation failed.
*/
@AtMostOnce
- public boolean saveNamespace(long timeWindow, long txGap) throws IOException;
+ boolean saveNamespace(long timeWindow, long txGap) throws IOException;
-
/**
* Roll the edit log.
* Requires superuser privileges.
- *
+ *
* @throws AccessControlException if the superuser privilege is violated
* @throws IOException if log roll fails
* @return the txid of the new segment
*/
@Idempotent
- public long rollEdits() throws AccessControlException, IOException;
+ long rollEdits() throws IOException;
/**
* Enable/Disable restore failed storage.
* <p>
* sets flag to enable restore of failed storage replicas
- *
+ *
* @throws AccessControlException if the superuser privilege is violated.
*/
@Idempotent
- public boolean restoreFailedStorage(String arg)
- throws AccessControlException, IOException;
+ boolean restoreFailedStorage(String arg) throws IOException;
/**
- * Tells the namenode to reread the hosts and exclude files.
+ * Tells the namenode to reread the hosts and exclude files.
* @throws IOException
*/
@Idempotent
- public void refreshNodes() throws IOException;
+ void refreshNodes() throws IOException;
/**
* Finalize previous upgrade.
* Remove file system state saved during the upgrade.
* The upgrade will become irreversible.
- *
+ *
* @throws IOException
*/
@Idempotent
- public void finalizeUpgrade() throws IOException;
+ void finalizeUpgrade() throws IOException;
/**
* Rolling upgrade operations.
@@ -857,7 +830,7 @@ public interface ClientProtocol {
* progress, returns null.
*/
@Idempotent
- public RollingUpgradeInfo rollingUpgrade(RollingUpgradeAction action)
+ RollingUpgradeInfo rollingUpgrade(RollingUpgradeAction action)
throws IOException;
/**
@@ -871,9 +844,9 @@ public interface ClientProtocol {
* cookie returned from the previous call.
*/
@Idempotent
- public CorruptFileBlocks listCorruptFileBlocks(String path, String cookie)
+ CorruptFileBlocks listCorruptFileBlocks(String path, String cookie)
throws IOException;
-
+
/**
* Dumps namenode data structures into specified file. If the file
* already exists, then append.
@@ -881,7 +854,7 @@ public interface ClientProtocol {
* @throws IOException
*/
@Idempotent
- public void metaSave(String filename) throws IOException;
+ void metaSave(String filename) throws IOException;
/**
* Tell all datanodes to use a new, non-persistent bandwidth value for
@@ -891,8 +864,8 @@ public interface ClientProtocol {
* @throws IOException
*/
@Idempotent
- public void setBalancerBandwidth(long bandwidth) throws IOException;
-
+ void setBalancerBandwidth(long bandwidth) throws IOException;
+
/**
* Get the file info for a specific file or directory.
* @param src The string representation of the path to the file
@@ -901,29 +874,27 @@ public interface ClientProtocol {
* or null if file not found
* @throws AccessControlException permission denied
* @throws FileNotFoundException file <code>src</code> is not found
- * @throws UnresolvedLinkException if the path contains a symlink.
- * @throws IOException If an I/O error occurred
+ * @throws UnresolvedLinkException if the path contains a symlink.
+ * @throws IOException If an I/O error occurred
*/
@Idempotent
- public HdfsFileStatus getFileInfo(String src) throws AccessControlException,
- FileNotFoundException, UnresolvedLinkException, IOException;
-
+ HdfsFileStatus getFileInfo(String src) throws IOException;
+
/**
- * Get the close status of a file
+ * Get the close status of a file.
* @param src The string representation of the path to the file
*
* @return return true if file is closed
* @throws AccessControlException permission denied
* @throws FileNotFoundException file <code>src</code> is not found
* @throws UnresolvedLinkException if the path contains a symlink.
- * @throws IOException If an I/O error occurred
+ * @throws IOException If an I/O error occurred
*/
@Idempotent
- public boolean isFileClosed(String src) throws AccessControlException,
- FileNotFoundException, UnresolvedLinkException, IOException;
-
+ boolean isFileClosed(String src) throws IOException;
+
/**
- * Get the file info for a specific file or directory. If the path
+ * Get the file info for a specific file or directory. If the path
* refers to a symlink then the FileStatus of the symlink is returned.
* @param src The string representation of the path to the file
*
@@ -932,58 +903,55 @@ public interface ClientProtocol {
*
* @throws AccessControlException permission denied
* @throws UnresolvedLinkException if <code>src</code> contains a symlink
- * @throws IOException If an I/O error occurred
+ * @throws IOException If an I/O error occurred
*/
@Idempotent
- public HdfsFileStatus getFileLinkInfo(String src)
- throws AccessControlException, UnresolvedLinkException, IOException;
-
+ HdfsFileStatus getFileLinkInfo(String src) throws IOException;
+
/**
* Get {@link ContentSummary} rooted at the specified directory.
* @param path The string representation of the path
*
* @throws AccessControlException permission denied
* @throws FileNotFoundException file <code>path</code> is not found
- * @throws UnresolvedLinkException if <code>path</code> contains a symlink.
+ * @throws UnresolvedLinkException if <code>path</code> contains a symlink.
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public ContentSummary getContentSummary(String path)
- throws AccessControlException, FileNotFoundException,
- UnresolvedLinkException, IOException;
+ ContentSummary getContentSummary(String path) throws IOException;
/**
* 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
+ * @param namespaceQuota Limit on the number of names in the tree rooted
* at the directory
- * @param storagespaceQuota Limit on storage space occupied all the files under
- * this directory.
+ * @param storagespaceQuota Limit on storage space occupied all the files
+ * under this directory.
* @param type StorageType that the space quota is intended to be set on.
- * It may be null when called by traditional space/namespace quota.
- * When type is is not null, the storagespaceQuota parameter is for
- * type specified and namespaceQuota must be
+ * It may be null when called by traditional space/namespace
+ * quota. When type is is not null, the storagespaceQuota
+ * parameter is for type specified and namespaceQuota must be
* {@link HdfsConstants#QUOTA_DONT_SET}.
*
* <br><br>
- *
- * The quota can have three types of values : (1) 0 or more will set
+ *
+ * The quota can have three types of values : (1) 0 or more will set
* the quota to that value, (2) {@link HdfsConstants#QUOTA_DONT_SET} implies
* the quota will not be changed, and (3) {@link HdfsConstants#QUOTA_RESET}
* implies the quota will be reset. Any other value is a runtime error.
- *
+ *
* @throws AccessControlException permission denied
* @throws FileNotFoundException file <code>path</code> is not found
- * @throws QuotaExceededException if the directory size
+ * @throws QuotaExceededException if the directory size
* is greater than the given quota
- * @throws UnresolvedLinkException if the <code>path</code> contains a symlink.
+ * @throws UnresolvedLinkException if the <code>path</code> contains
+ * a symlink.
* @throws SnapshotAccessControlException if path is in RO snapshot
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public void setQuota(String path, long namespaceQuota, long storagespaceQuota,
- StorageType type) throws AccessControlException, FileNotFoundException,
- UnresolvedLinkException, SnapshotAccessControlException, IOException;
+ void setQuota(String path, long namespaceQuota, long storagespaceQuota,
+ StorageType type) throws IOException;
/**
* Write all metadata for this file into persistent storage.
@@ -992,39 +960,35 @@ public interface ClientProtocol {
* @param inodeId The inode ID, or GRANDFATHER_INODE_ID if the client is
* too old to support fsync with inode IDs.
* @param client The string representation of the client
- * @param lastBlockLength The length of the last block (under construction)
- * to be reported to NameNode
+ * @param lastBlockLength The length of the last block (under construction)
+ * to be reported to NameNode
* @throws AccessControlException permission denied
* @throws FileNotFoundException file <code>src</code> is not found
- * @throws UnresolvedLinkException if <code>src</code> contains a symlink.
+ * @throws UnresolvedLinkException if <code>src</code> contains a symlink.
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public void fsync(String src, long inodeId, String client,
- long lastBlockLength)
- throws AccessControlException, FileNotFoundException,
- UnresolvedLinkException, IOException;
+ void fsync(String src, long inodeId, String client, long lastBlockLength)
+ throws IOException;
/**
* 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.
+ * 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.
- *
+ *
* @throws AccessControlException permission denied
* @throws FileNotFoundException file <code>src</code> is not found
- * @throws UnresolvedLinkException if <code>src</code> contains a symlink.
+ * @throws UnresolvedLinkException if <code>src</code> contains a symlink.
* @throws SnapshotAccessControlException if path is in RO snapshot
* @throws IOException If an I/O error occurred
*/
@Idempotent
- public void setTimes(String src, long mtime, long atime)
- throws AccessControlException, FileNotFoundException,
- UnresolvedLinkException, SnapshotAccessControlException, IOException;
+ void setTimes(String src, long mtime, long atime) throws IOException;
/**
* Create symlink to a file or directory.
@@ -1041,16 +1005,13 @@ public interface ClientProtocol {
* and <code>createParent</code> is false
* @throws ParentNotDirectoryException If parent of <code>link</code> is not a
* directory.
- * @throws UnresolvedLinkException if <code>link</target> contains a symlink.
+ * @throws UnresolvedLinkException if <code>link</code> contains a symlink.
* @throws SnapshotAccessControlException if path is in RO snapshot
* @throws IOException If an I/O error occurred
*/
@AtMostOnce
- public void createSymlink(String target, String link, FsPermission dirPerm,
- boolean createParent) throws AccessControlException,
- FileAlreadyExistsException, FileNotFoundException,
- ParentNotDirectoryException, SafeModeException, UnresolvedLinkException,
- SnapshotAccessControlException, IOException;
+ void createSymlink(String target, String link, FsPermission dirPerm,
+ boolean createParent) throws IOException;
/**
* Return the target of the given symlink. If there is an intermediate
@@ -1065,28 +1026,27 @@ public interface ClientProtocol {
* or an I/O error occurred
*/
@Idempotent
- public String getLinkTarget(String path) throws AccessControlException,
- FileNotFoundException, IOException;
-
+ String getLinkTarget(String path) throws IOException;
+
/**
- * Get a new generation stamp together with an access token for
+ * Get a new generation stamp together with an access token for
* a block under construction
- *
+ *
* This method is called only when a client needs to recover a failed
* pipeline or set up a pipeline for appending to a block.
- *
+ *
* @param block a block
* @param clientName the name of the client
* @return a located block with a new generation stamp and an access token
* @throws IOException if any error occurs
*/
@Idempotent
- public LocatedBlock updateBlockForPipeline(ExtendedBlock block,
+ LocatedBlock updateBlockForPipeline(ExtendedBlock block,
String clientName) throws IOException;
/**
- * Update a pipeline for a block under construction
- *
+ * Update a pipeline for a block under construction.
+ *
* @param clientName the name of the client
* @param oldBlock the old block
* @param newBlock the new block containing new generation stamp and length
@@ -1094,104 +1054,104 @@ public interface ClientProtocol {
* @throws IOException if any error occurs
*/
@AtMostOnce
- public void updatePipeline(String clientName, ExtendedBlock oldBlock,
+ void updatePipeline(String clientName, ExtendedBlock oldBlock,
ExtendedBlock newBlock, DatanodeID[] newNodes, String[] newStorageIDs)
throws IOException;
/**
* Get a valid Delegation Token.
- *
+ *
* @param renewer the designated renewer for the token
* @return Token<DelegationTokenIdentifier>
* @throws IOException
*/
@Idempotent
- public Token<DelegationTokenIdentifier> getDelegationToken(Text renewer)
+ Token<DelegationTokenIdentifier> getDelegationToken(Text renewer)
throws IOException;
/**
* Renew an existing delegation token.
- *
+ *
* @param token delegation token obtained earlier
* @return the new expiration time
* @throws IOException
*/
@Idempotent
- public long renewDelegationToken(Token<DelegationTokenIdentifier> token)
+ long renewDelegationToken(Token<DelegationTokenIdentifier> token)
throws IOException;
-
+
/**
* Cancel an existing delegation token.
- *
+ *
* @param token delegation token
* @throws IOException
*/
@Idempotent
- public void cancelDelegationToken(Token<DelegationTokenIdentifier> token)
+ void cancelDelegationToken(Token<DelegationTokenIdentifier> token)
throws IOException;
-
+
/**
* @return encryption key so a client can encrypt data sent via the
* DataTransferProtocol to/from DataNodes.
* @throws IOException
*/
@Idempotent
- public DataEncryptionKey getDataEncryptionKey() throws IOException;
-
+ DataEncryptionKey getDataEncryptionKey() throws IOException;
+
/**
- * Create a snapshot
+ * Create a snapshot.
* @param snapshotRoot the path that is being snapshotted
* @param snapshotName name of the snapshot created
* @return the snapshot path.
* @throws IOException
*/
@AtMostOnce
- public String createSnapshot(String snapshotRoot, String snapshotName)
+ String createSnapshot(String snapshotRoot, String snapshotName)
throws IOException;
/**
- * Delete a specific snapshot of a snapshottable directory
+ * Delete a specific snapshot of a snapshottable directory.
* @param snapshotRoot The snapshottable directory
* @param snapshotName Name of the snapshot for the snapshottable directory
* @throws IOException
*/
@AtMostOnce
- public void deleteSnapshot(String snapshotRoot, String snapshotName)
+ void deleteSnapshot(String snapshotRoot, String snapshotName)
throws IOException;
-
+
/**
- * Rename a snapshot
- * @param snapshotRoot the directory path where the snapshot was taken
+ * Rename a snapshot.
+ * @param snapshotRoot the directory path where the snapshot was taken
* @param snapshotOldName old name of the snapshot
* @param snapshotNewName new name of the snapshot
* @throws IOException
*/
@AtMostOnce
- public void renameSnapshot(String snapshotRoot, String snapshotOldName,
+ void renameSnapshot(String snapshotRoot, String snapshotOldName,
String snapshotNewName) throws IOException;
-
+
/**
* Allow snapshot on a directory.
* @param snapshotRoot the directory to be snapped
* @throws IOException on error
*/
@Idempotent
- public void allowSnapshot(String snapshotRoot)
+ void allowSnapshot(String snapshotRoot)
throws IOException;
-
+
/**
* Disallow snapshot on a directory.
* @param snapshotRoot the directory to disallow snapshot
* @throws IOException on error
*/
@Idempotent
- public void disallowSnapshot(String snapshotRoot)
+ void disallowSnapshot(String snapshotRoot)
throws IOException;
-
+
/**
* Get the difference between two snapshots, or between a snapshot and the
* current tree of a directory.
- *
+ *
* @param snapshotRoot
* full path of the directory where snapshots are taken
* @param fromSnapshot
@@ -1204,93 +1164,93 @@ public interface ClientProtocol {
* @throws IOException on error
*/
@Idempotent
- public SnapshotDiffReport getSnapshotDiffReport(String snapshotRoot,
+ SnapshotDiffReport getSnapshotDiffReport(String snapshotRoot,
String fromSnapshot, String toSnapshot) throws IOException;
/**
* Add a CacheDirective to the CacheManager.
- *
+ *
* @param directive A CacheDirectiveInfo to be added
* @param flags {@link CacheFlag}s to use for this operation.
* @return A CacheDirectiveInfo associated with the added directive
* @throws IOException if the directive could not be added
*/
@AtMostOnce
- public long addCacheDirective(CacheDirectiveInfo directive,
+ long addCacheDirective(CacheDirectiveInfo directive,
EnumSet<CacheFlag> flags) throws IOException;
/**
* Modify a CacheDirective in the CacheManager.
- *
+ *
* @param flags {@link CacheFlag}s to use for this operation.
* @throws IOException if the directive could not be modified
*/
@AtMostOnce
- public void modifyCacheDirective(CacheDirectiveInfo directive,
+ void modifyCacheDirective(CacheDirectiveInfo directive,
EnumSet<CacheFlag> flags) throws IOException;
/**
* Remove a CacheDirectiveInfo from the CacheManager.
- *
+ *
* @param id of a CacheDirectiveInfo
* @throws IOException if the cache directive could not be removed
*/
@AtMostOnce
- public void removeCacheDirective(long id) throws IOException;
+ void removeCacheDirective(long id) throws IOException;
/**
* List the set of cached paths of a cache pool. Incrementally fetches results
* from the server.
- *
+ *
* @param prevId The last listed entry ID, or -1 if this is the first call to
* listCacheDirectives.
- * @param filter Parameters to use to filter the list results,
+ * @param filter Parameters to use to filter the list results,
* or null to display all directives visible to us.
* @return A batch of CacheDirectiveEntry objects.
*/
@Idempotent
- public BatchedEntries<CacheDirectiveEntry> listCacheDirectives(
+ BatchedEntries<CacheDirectiveEntry> listCacheDirectives(
long prevId, CacheDirectiveInfo filter) throws IOException;
/**
* Add a new cache pool.
- *
+ *
* @param info Description of the new cache pool
* @throws IOException If the request could not be completed.
*/
@AtMostOnce
- public void addCachePool(CachePoolInfo info) throws IOException;
+ void addCachePool(CachePoolInfo info) throws IOException;
/**
* Modify an existing cache pool.
*
* @param req
* The request to modify a cache pool.
- * @throws IOException
+ * @throws IOException
* If the request could not be completed.
*/
@AtMostOnce
- public void modifyCachePool(CachePoolInfo req) throws IOException;
-
+ void modifyCachePool(CachePoolInfo req) throws IOException;
+
/**
* Remove a cache pool.
- *
+ *
* @param pool name of the cache pool to remove.
* @throws IOException if the cache pool did not exist, or could not be
* removed.
*/
@AtMostOnce
- public void removeCachePool(String pool) throws IOException;
+ void removeCachePool(String pool) throws IOException;
/**
* List the set of cache pools. Incrementally fetches results from the server.
- *
- * @param prevPool name of the last pool listed, or the empty string if this is
- * the first invocation of listCachePools
+ *
+ * @param prevPool name of the last pool listed, or the empty string if this
+ * is the first invocation of listCachePools
* @return A batch of CachePoolEntry objects.
*/
@Idempotent
- public BatchedEntries<CachePoolEntry> listCachePools(String prevPool)
+ BatchedEntries<CachePoolEntry> listCachePools(String prevPool)
throws IOException;
/**
@@ -1300,7 +1260,7 @@ public interface ClientProtocol {
* changes. (Modifications are merged into the current ACL.)
*/
@Idempotent
- public void modifyAclEntries(String src, List<AclEntry> aclSpec)
+ void modifyAclEntries(String src, List<AclEntry> aclSpec)
throws IOException;
/**
@@ -1308,14 +1268,14 @@ public interface ClientProtocol {
* retained.
*/
@Idempotent
- public void removeAclEntries(String src, List<AclEntry> aclSpec)
+ void removeAclEntries(String src, List<AclEntry> aclSpec)
throws IOException;
/**
* Removes all default ACL entries from files and directories.
*/
@Idempotent
- public void removeDefaultAcl(String src) throws IOException;
+ void removeDefaultAcl(String src) throws IOException;
/**
* Removes all but the base ACL entries of files and directories. The entries
@@ -1323,33 +1283,33 @@ public interface ClientProtocol {
* bits.
*/
@Idempotent
- public void removeAcl(String src) throws IOException;
+ void removeAcl(String src) throws IOException;
/**
* Fully replaces ACL of files and directories, discarding all existing
* entries.
*/
@Idempotent
- public void setAcl(String src, List<AclEntry> aclSpec) throws IOException;
+ void setAcl(String src, List<AclEntry> aclSpec) throws IOException;
/**
* Gets the ACLs of files and directories.
*/
@Idempotent
- public AclStatus getAclStatus(String src) throws IOException;
-
+ AclStatus getAclStatus(String src) throws IOException;
+
/**
- * Create an encryption zone
+ * Create an encryption zone.
*/
@AtMostOnce
- public void createEncryptionZone(String src, String keyName)
+ void createEncryptionZone(String src, String keyName)
throws IOException;
/**
* Get the encryption zone for a path.
*/
@Idempotent
- public EncryptionZone getEZForPath(String src)
+ EncryptionZone getEZForPath(String src)
throws IOException;
/**
@@ -1360,7 +1320,7 @@ public interface ClientProtocol {
* @return Batch of encryption zones.
*/
@Idempotent
- public BatchedEntries<EncryptionZone> listEncryptionZones(
+ BatchedEntries<EncryptionZone> listEncryptionZones(
long prevId) throws IOException;
/**
@@ -1376,9 +1336,9 @@ public interface ClientProtocol {
* @throws IOException
*/
@AtMostOnce
- public void setXAttr(String src, XAttr xAttr, EnumSet<XAttrSetFlag> flag)
+ void setXAttr(String src, XAttr xAttr, EnumSet<XAttrSetFlag> flag)
throws IOException;
-
+
/**
* Get xattrs of a file or directory. Values in xAttrs parameter are ignored.
* If xAttrs is null or empty, this is the same as getting all xattrs of the
@@ -1389,11 +1349,11 @@ public interface ClientProtocol {
*
* @param src file or directory
* @param xAttrs xAttrs to get
- * @return List<XAttr> <code>XAttr</code> list
+ * @return List<XAttr> <code>XAttr</code> list
* @throws IOException
*/
@Idempotent
- public List<XAttr> getXAttrs(String src, List<XAttr> xAttrs)
+ List<XAttr> getXAttrs(String src, List<XAttr> xAttrs)
throws IOException;
/**
@@ -1408,9 +1368,9 @@ public interface ClientProtocol {
* @throws IOException
*/
@Idempotent
- public List<XAttr> listXAttrs(String src)
+ List<XAttr> listXAttrs(String src)
throws IOException;
-
+
/**
* Remove xattr of a file or directory.Value in xAttr parameter is ignored.
* The name must be prefixed with the namespace followed by ".". For example,
@@ -1423,7 +1383,7 @@ public interface ClientProtocol {
* @throws IOException
*/
@AtMostOnce
- public void removeXAttr(String src, XAttr xAttr) throws IOException;
+ void removeXAttr(String src, XAttr xAttr) throws IOException;
/**
* Checks if the user can access a path. The mode specifies which access
@@ -1441,7 +1401,7 @@ public interface ClientProtocol {
* @throws IOException see specific implementation
*/
@Idempotent
- public void checkAccess(String path, FsAction mode) throws IOException;
+ void checkAccess(String path, FsAction mode) throws IOException;
/**
* Get the highest txid the NameNode knows has been written to the edit
@@ -1449,12 +1409,12 @@ public interface ClientProtocol {
* the starting point for the inotify event stream.
*/
@Idempotent
- public long getCurrentEditLogTxid() throws IOException;
+ long getCurrentEditLogTxid() throws IOException;
/**
* Get an ordered list of batches of events corresponding to the edit log
* transactions for txids equal to or greater than txid.
*/
@Idempotent
- public EventBatchList getEditsFromTxid(long txid) throws IOException;
+ EventBatchList getEditsFromTxid(long txid) throws IOException;
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/c0b8e4e5/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index 1e1e6bb..db77d0b 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -704,6 +704,9 @@ Release 2.8.0 - UNRELEASED
HDFS-8711. setSpaceQuota command should print the available storage type
when input storage type is wrong. (Brahma Reddy Battula via xyao)
+ HDFS-8620. Clean up the checkstyle warinings about ClientProtocol.
+ (Takanobu Asanuma via wheat9)
+
OPTIMIZATIONS
HDFS-8026. Trace FSOutputSummer#writeChecksumChunks rather than