Author: ddas
Date: Tue Nov 17 21:23:00 2009
New Revision: 881535
URL: http://svn.apache.org/viewvc?rev=881535&view=rev
Log:
Merge -r 881530:881531 from trunk onto 0.21 branch. Fixes HDFS-764.
Added:
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/security/
- copied from r881531, hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/security/
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/security/AccessTokenHandler.java
- copied unchanged from r881531, hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/security/AccessTokenHandler.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/security/BlockAccessKey.java
- copied unchanged from r881531, hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/security/BlockAccessKey.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/security/BlockAccessToken.java
- copied unchanged from r881531, hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/security/BlockAccessToken.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/security/ExportedAccessKeys.java
- copied unchanged from r881531, hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/security/ExportedAccessKeys.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/security/InvalidAccessTokenException.java
- copied unchanged from r881531, hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/security/InvalidAccessTokenException.java
hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/security/
- copied from r881531, hadoop/hdfs/trunk/src/test/hdfs/org/apache/hadoop/hdfs/security/
hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/security/SecurityTestUtil.java
- copied unchanged from r881531, hadoop/hdfs/trunk/src/test/hdfs/org/apache/hadoop/hdfs/security/SecurityTestUtil.java
hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/security/TestAccessToken.java
- copied unchanged from r881531, hadoop/hdfs/trunk/src/test/hdfs/org/apache/hadoop/hdfs/security/TestAccessToken.java
Modified:
hadoop/hdfs/branches/branch-0.21/CHANGES.txt
hadoop/hdfs/branches/branch-0.21/src/java/hdfs-default.xml
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/DFSClient.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/protocol/DataTransferProtocol.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/protocol/LocatedBlock.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/balancer/Balancer.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/common/JspHelper.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/DatanodeRegistration.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/KeyUpdateCommand.java
hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/NamenodeProtocol.java
hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/DFSTestUtil.java
hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDataTransferProtocol.java
hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/datanode/TestBlockReplacement.java
hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/datanode/TestDiskError.java
hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestAccessTokenWithDFS.java
Modified: hadoop/hdfs/branches/branch-0.21/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/CHANGES.txt?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/CHANGES.txt (original)
+++ hadoop/hdfs/branches/branch-0.21/CHANGES.txt Tue Nov 17 21:23:00 2009
@@ -299,6 +299,9 @@
HDFS-641. Move all of the components that depend on map/reduce to
map/reduce. (omalley)
+ HDFS-764. Places the Block Access token implementation in hdfs project.
+ (Kan Zhang via ddas)
+
BUG FIXES
HDFS-76. Better error message to users when commands fail because of
Modified: hadoop/hdfs/branches/branch-0.21/src/java/hdfs-default.xml
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/hdfs-default.xml?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/hdfs-default.xml (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/hdfs-default.xml Tue Nov 17 21:23:00 2009
@@ -212,6 +212,29 @@
</property>
<property>
+ <name>dfs.block.access.token.enable</name>
+ <value>false</value>
+ <description>
+ If "true", access tokens are used as capabilities for accessing datanodes.
+ If "false", no access tokens are checked on accessing datanodes.
+ </description>
+</property>
+
+<property>
+ <name>dfs.block.access.key.update.interval</name>
+ <value>600</value>
+ <description>
+ Interval in minutes at which namenode updates its access keys.
+ </description>
+</property>
+
+<property>
+ <name>dfs.block.access.token.lifetime</name>
+ <value>600</value>
+ <description>The lifetime of access tokens in minutes.</description>
+</property>
+
+<property>
<name>dfs.datanode.data.dir</name>
<value>${hadoop.tmp.dir}/dfs/data</value>
<description>Determines where on the local filesystem an DFS data node
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/DFSClient.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/DFSClient.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/DFSClient.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/DFSClient.java Tue Nov 17 21:23:00 2009
@@ -85,6 +85,8 @@
import org.apache.hadoop.hdfs.protocol.LocatedBlocks;
import org.apache.hadoop.hdfs.protocol.NSQuotaExceededException;
import org.apache.hadoop.hdfs.protocol.DataTransferProtocol.BlockConstructionStage;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
+import org.apache.hadoop.hdfs.security.InvalidAccessTokenException;
import org.apache.hadoop.hdfs.server.common.HdfsConstants;
import org.apache.hadoop.hdfs.server.common.UpgradeStatusReport;
import org.apache.hadoop.hdfs.server.datanode.DataNode;
@@ -104,8 +106,6 @@
import org.apache.hadoop.net.NetUtils;
import org.apache.hadoop.net.NodeBase;
import org.apache.hadoop.security.AccessControlException;
-import org.apache.hadoop.security.AccessToken;
-import org.apache.hadoop.security.InvalidAccessTokenException;
import org.apache.hadoop.security.UnixUserGroupInformation;
import org.apache.hadoop.util.Daemon;
import org.apache.hadoop.util.DataChecksum;
@@ -1506,7 +1506,7 @@
checksumSize = this.checksum.getChecksumSize();
}
- public static BlockReader newBlockReader(Socket sock, String file, long blockId, AccessToken accessToken,
+ public static BlockReader newBlockReader(Socket sock, String file, long blockId, BlockAccessToken accessToken,
long genStamp, long startOffset, long len, int bufferSize) throws IOException {
return newBlockReader(sock, file, blockId, accessToken, genStamp, startOffset, len, bufferSize,
true);
@@ -1514,7 +1514,7 @@
/** Java Doc required */
public static BlockReader newBlockReader( Socket sock, String file, long blockId,
- AccessToken accessToken,
+ BlockAccessToken accessToken,
long genStamp,
long startOffset, long len,
int bufferSize, boolean verifyChecksum)
@@ -1525,7 +1525,7 @@
public static BlockReader newBlockReader( Socket sock, String file,
long blockId,
- AccessToken accessToken,
+ BlockAccessToken accessToken,
long genStamp,
long startOffset, long len,
int bufferSize, boolean verifyChecksum,
@@ -1905,7 +1905,7 @@
NetUtils.connect(s, targetAddr, socketTimeout);
s.setSoTimeout(socketTimeout);
Block blk = targetBlock.getBlock();
- AccessToken accessToken = targetBlock.getAccessToken();
+ BlockAccessToken accessToken = targetBlock.getAccessToken();
blockReader = BlockReader.newBlockReader(s, src, blk.getBlockId(),
accessToken,
@@ -2133,7 +2133,7 @@
dn = socketFactory.createSocket();
NetUtils.connect(dn, targetAddr, socketTimeout);
dn.setSoTimeout(socketTimeout);
- AccessToken accessToken = block.getAccessToken();
+ BlockAccessToken accessToken = block.getAccessToken();
int len = (int) (end - start + 1);
@@ -2539,7 +2539,7 @@
class DataStreamer extends Daemon {
private volatile boolean streamerClosed = false;
private Block block; // its length is number of bytes acked
- private AccessToken accessToken;
+ private BlockAccessToken accessToken;
private DataOutputStream blockStream;
private DataInputStream blockReplyStream;
private ResponseProcessor response = null;
@@ -3243,7 +3243,7 @@
return nodes;
}
- AccessToken getAccessToken() {
+ BlockAccessToken getAccessToken() {
return accessToken;
}
@@ -3693,7 +3693,7 @@
/**
* Returns the access token currently used by streamer, for testing only
*/
- AccessToken getAccessToken() {
+ BlockAccessToken getAccessToken() {
return streamer.getAccessToken();
}
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/DFSConfigKeys.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/DFSConfigKeys.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/DFSConfigKeys.java Tue Nov 17 21:23:00 2009
@@ -158,12 +158,12 @@
public static final String DFS_DATANODE_IPC_ADDRESS_KEY = "dfs.datanode.ipc.address";
public static final String DFS_DATANODE_IPC_ADDRESS_DEFAULT = "0.0.0.0:50020";
- public static final String DFS_ACCESS_TOKEN_ENABLE_KEY = "dfs.access.token.enable";
- public static final boolean DFS_ACCESS_TOKEN_ENABLE_DEFAULT = false;
- public static final String DFS_ACCESS_KEY_UPDATE_INTERVAL_KEY = "dfs.access.key.update.interval";
- public static final int DFS_ACCESS_KEY_UPDATE_INTERVAL_DEFAULT = 600;
- public static final String DFS_ACCESS_TOKEN_LIFETIME_KEY = "dfs.access.token.lifetime";
- public static final int DFS_ACCESS_TOKEN_LIFETIME_DEFAULT = 600;
+ public static final String DFS_BLOCK_ACCESS_TOKEN_ENABLE_KEY = "dfs.block.access.token.enable";
+ public static final boolean DFS_BLOCK_ACCESS_TOKEN_ENABLE_DEFAULT = false;
+ public static final String DFS_BLOCK_ACCESS_KEY_UPDATE_INTERVAL_KEY = "dfs.block.access.key.update.interval";
+ public static final long DFS_BLOCK_ACCESS_KEY_UPDATE_INTERVAL_DEFAULT = 600L;
+ public static final String DFS_BLOCK_ACCESS_TOKEN_LIFETIME_KEY = "dfs.block.access.token.lifetime";
+ public static final long DFS_BLOCK_ACCESS_TOKEN_LIFETIME_DEFAULT = 600L;
public static final String DFS_REPLICATION_MAX_KEY = "dfs.replication.max";
public static final int DFS_REPLICATION_MAX_DEFAULT = 512;
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/protocol/DataTransferProtocol.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/protocol/DataTransferProtocol.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/protocol/DataTransferProtocol.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/protocol/DataTransferProtocol.java Tue Nov 17 21:23:00 2009
@@ -24,9 +24,9 @@
import java.io.IOException;
import java.io.OutputStream;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.WritableUtils;
-import org.apache.hadoop.security.AccessToken;
/**
* Transfer data to/from datanode using a streaming protocol.
@@ -223,7 +223,7 @@
/** Send OP_READ_BLOCK */
public static void opReadBlock(DataOutputStream out,
long blockId, long blockGs, long blockOffset, long blockLen,
- String clientName, AccessToken accessToken) throws IOException {
+ String clientName, BlockAccessToken accessToken) throws IOException {
op(out, Op.READ_BLOCK);
out.writeLong(blockId);
@@ -240,7 +240,7 @@
long blockId, long blockGs, int pipelineSize,
BlockConstructionStage stage, long newGs, long minBytesRcvd,
long maxBytesRcvd, String client, DatanodeInfo src,
- DatanodeInfo[] targets, AccessToken accesstoken) throws IOException {
+ DatanodeInfo[] targets, BlockAccessToken accesstoken) throws IOException {
op(out, Op.WRITE_BLOCK);
out.writeLong(blockId);
@@ -267,7 +267,7 @@
/** Send OP_REPLACE_BLOCK */
public static void opReplaceBlock(DataOutputStream out,
long blockId, long blockGs, String storageId, DatanodeInfo src,
- AccessToken accesstoken) throws IOException {
+ BlockAccessToken accesstoken) throws IOException {
op(out, Op.REPLACE_BLOCK);
out.writeLong(blockId);
@@ -280,7 +280,7 @@
/** Send OP_COPY_BLOCK */
public static void opCopyBlock(DataOutputStream out,
- long blockId, long blockGs, AccessToken accesstoken) throws IOException {
+ long blockId, long blockGs, BlockAccessToken accesstoken) throws IOException {
op(out, Op.COPY_BLOCK);
out.writeLong(blockId);
@@ -291,7 +291,7 @@
/** Send OP_BLOCK_CHECKSUM */
public static void opBlockChecksum(DataOutputStream out,
- long blockId, long blockGs, AccessToken accesstoken) throws IOException {
+ long blockId, long blockGs, BlockAccessToken accesstoken) throws IOException {
op(out, Op.BLOCK_CHECKSUM);
out.writeLong(blockId);
@@ -343,7 +343,7 @@
final long offset = in.readLong();
final long length = in.readLong();
final String client = Text.readString(in);
- final AccessToken accesstoken = readAccessToken(in);
+ final BlockAccessToken accesstoken = readAccessToken(in);
opReadBlock(in, blockId, blockGs, offset, length, client, accesstoken);
}
@@ -354,7 +354,7 @@
*/
protected abstract void opReadBlock(DataInputStream in,
long blockId, long blockGs, long offset, long length,
- String client, AccessToken accesstoken) throws IOException;
+ String client, BlockAccessToken accesstoken) throws IOException;
/** Receive OP_WRITE_BLOCK */
private void opWriteBlock(DataInputStream in) throws IOException {
@@ -377,7 +377,7 @@
for (int i = 0; i < targets.length; i++) {
targets[i] = DatanodeInfo.read(in);
}
- final AccessToken accesstoken = readAccessToken(in);
+ final BlockAccessToken accesstoken = readAccessToken(in);
opWriteBlock(in, blockId, blockGs, pipelineSize, stage,
newGs, minBytesRcvd, maxBytesRcvd, client, src, targets, accesstoken);
@@ -392,7 +392,7 @@
int pipelineSize, BlockConstructionStage stage,
long newGs, long minBytesRcvd, long maxBytesRcvd,
String client, DatanodeInfo src, DatanodeInfo[] targets,
- AccessToken accesstoken) throws IOException;
+ BlockAccessToken accesstoken) throws IOException;
/** Receive OP_REPLACE_BLOCK */
private void opReplaceBlock(DataInputStream in) throws IOException {
@@ -400,7 +400,7 @@
final long blockGs = in.readLong();
final String sourceId = Text.readString(in); // read del hint
final DatanodeInfo src = DatanodeInfo.read(in); // read proxy source
- final AccessToken accesstoken = readAccessToken(in);
+ final BlockAccessToken accesstoken = readAccessToken(in);
opReplaceBlock(in, blockId, blockGs, sourceId, src, accesstoken);
}
@@ -411,13 +411,13 @@
*/
protected abstract void opReplaceBlock(DataInputStream in,
long blockId, long blockGs, String sourceId, DatanodeInfo src,
- AccessToken accesstoken) throws IOException;
+ BlockAccessToken accesstoken) throws IOException;
/** Receive OP_COPY_BLOCK */
private void opCopyBlock(DataInputStream in) throws IOException {
final long blockId = in.readLong();
final long blockGs = in.readLong();
- final AccessToken accesstoken = readAccessToken(in);
+ final BlockAccessToken accesstoken = readAccessToken(in);
opCopyBlock(in, blockId, blockGs, accesstoken);
}
@@ -427,13 +427,13 @@
* It is used for balancing purpose; send to a proxy source.
*/
protected abstract void opCopyBlock(DataInputStream in,
- long blockId, long blockGs, AccessToken accesstoken) throws IOException;
+ long blockId, long blockGs, BlockAccessToken accesstoken) throws IOException;
/** Receive OP_BLOCK_CHECKSUM */
private void opBlockChecksum(DataInputStream in) throws IOException {
final long blockId = in.readLong();
final long blockGs = in.readLong();
- final AccessToken accesstoken = readAccessToken(in);
+ final BlockAccessToken accesstoken = readAccessToken(in);
opBlockChecksum(in, blockId, blockGs, accesstoken);
}
@@ -443,12 +443,12 @@
* Get the checksum of a block
*/
protected abstract void opBlockChecksum(DataInputStream in,
- long blockId, long blockGs, AccessToken accesstoken) throws IOException;
+ long blockId, long blockGs, BlockAccessToken accesstoken) throws IOException;
/** Read an AccessToken */
- static private AccessToken readAccessToken(DataInputStream in
+ static private BlockAccessToken readAccessToken(DataInputStream in
) throws IOException {
- final AccessToken t = new AccessToken();
+ final BlockAccessToken t = new BlockAccessToken();
t.readFields(in);
return t;
}
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/protocol/LocatedBlock.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/protocol/LocatedBlock.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/protocol/LocatedBlock.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/protocol/LocatedBlock.java Tue Nov 17 21:23:00 2009
@@ -17,8 +17,8 @@
*/
package org.apache.hadoop.hdfs.protocol;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
import org.apache.hadoop.io.*;
-import org.apache.hadoop.security.AccessToken;
import java.io.*;
@@ -44,7 +44,7 @@
// else false. If block has few corrupt replicas, they are filtered and
// their locations are not part of this object
private boolean corrupt;
- private AccessToken accessToken = new AccessToken();
+ private BlockAccessToken accessToken = new BlockAccessToken();
/**
*/
@@ -78,11 +78,11 @@
}
}
- public AccessToken getAccessToken() {
+ public BlockAccessToken getAccessToken() {
return accessToken;
}
- public void setAccessToken(AccessToken token) {
+ public void setAccessToken(BlockAccessToken token) {
this.accessToken = token;
}
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/balancer/Balancer.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/balancer/Balancer.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/balancer/Balancer.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/balancer/Balancer.java Tue Nov 17 21:23:00 2009
@@ -62,6 +62,9 @@
import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
import org.apache.hadoop.hdfs.protocol.FSConstants;
import org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
+import org.apache.hadoop.hdfs.security.AccessTokenHandler;
+import org.apache.hadoop.hdfs.security.ExportedAccessKeys;
import org.apache.hadoop.hdfs.server.common.HdfsConstants;
import org.apache.hadoop.hdfs.server.common.Util;
import org.apache.hadoop.hdfs.server.namenode.NameNode;
@@ -78,9 +81,6 @@
import org.apache.hadoop.ipc.RemoteException;
import org.apache.hadoop.net.NetUtils;
import org.apache.hadoop.net.NetworkTopology;
-import org.apache.hadoop.security.AccessToken;
-import org.apache.hadoop.security.AccessTokenHandler;
-import org.apache.hadoop.security.ExportedAccessKeys;
import org.apache.hadoop.security.UnixUserGroupInformation;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.util.Daemon;
@@ -369,7 +369,7 @@
/* Send a block replace request to the output stream*/
private void sendRequest(DataOutputStream out) throws IOException {
- AccessToken accessToken = AccessToken.DUMMY_TOKEN;
+ BlockAccessToken accessToken = BlockAccessToken.DUMMY_TOKEN;
if (isAccessTokenEnabled) {
accessToken = accessTokenHandler.generateToken(null, block.getBlock()
.getBlockId(), EnumSet.of(AccessTokenHandler.AccessMode.REPLACE,
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/common/JspHelper.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/common/JspHelper.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/common/JspHelper.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/common/JspHelper.java Tue Nov 17 21:23:00 2009
@@ -39,9 +39,9 @@
import org.apache.hadoop.hdfs.HdfsConfiguration;
import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
import org.apache.hadoop.hdfs.protocol.LocatedBlock;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
import org.apache.hadoop.hdfs.server.namenode.DatanodeDescriptor;
import org.apache.hadoop.net.NetUtils;
-import org.apache.hadoop.security.AccessToken;
import org.apache.hadoop.security.UnixUserGroupInformation;
import org.apache.hadoop.util.VersionInfo;
@@ -106,7 +106,7 @@
}
public static void streamBlockInAscii(InetSocketAddress addr, long blockId,
- AccessToken accessToken, long genStamp, long blockSize,
+ BlockAccessToken accessToken, long genStamp, long blockSize,
long offsetIntoBlock, long chunkSizeToView, JspWriter out)
throws IOException {
if (chunkSizeToView == 0) return;
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java Tue Nov 17 21:23:00 2009
@@ -57,6 +57,9 @@
import org.apache.hadoop.hdfs.protocol.RecoveryInProgressException;
import org.apache.hadoop.hdfs.protocol.UnregisteredNodeException;
import org.apache.hadoop.hdfs.protocol.DataTransferProtocol.BlockConstructionStage;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
+import org.apache.hadoop.hdfs.security.AccessTokenHandler;
+import org.apache.hadoop.hdfs.security.ExportedAccessKeys;
import org.apache.hadoop.hdfs.server.common.HdfsConstants;
import org.apache.hadoop.hdfs.server.common.IncorrectVersionException;
import org.apache.hadoop.hdfs.server.common.Storage;
@@ -88,9 +91,6 @@
import org.apache.hadoop.ipc.Server;
import org.apache.hadoop.net.DNS;
import org.apache.hadoop.net.NetUtils;
-import org.apache.hadoop.security.AccessToken;
-import org.apache.hadoop.security.AccessTokenHandler;
-import org.apache.hadoop.security.ExportedAccessKeys;
import org.apache.hadoop.security.SecurityUtil;
import org.apache.hadoop.security.authorize.ConfiguredPolicy;
import org.apache.hadoop.security.authorize.PolicyProvider;
@@ -1248,7 +1248,7 @@
//
// Header info
//
- AccessToken accessToken = AccessToken.DUMMY_TOKEN;
+ BlockAccessToken accessToken = BlockAccessToken.DUMMY_TOKEN;
if (isAccessTokenEnabled) {
accessToken = accessTokenHandler.generateToken(null, b.getBlockId(),
EnumSet.of(AccessTokenHandler.AccessMode.WRITE));
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java Tue Nov 17 21:23:00 2009
@@ -39,6 +39,8 @@
import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
import org.apache.hadoop.hdfs.protocol.FSConstants;
import org.apache.hadoop.hdfs.protocol.DataTransferProtocol.BlockConstructionStage;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
+import org.apache.hadoop.hdfs.security.AccessTokenHandler;
import org.apache.hadoop.hdfs.server.common.HdfsConstants;
import org.apache.hadoop.hdfs.server.datanode.FSDatasetInterface.MetaDataInputStream;
import org.apache.hadoop.io.IOUtils;
@@ -47,8 +49,6 @@
import org.apache.hadoop.metrics.util.MetricsTimeVaryingInt;
import org.apache.hadoop.metrics.util.MetricsTimeVaryingRate;
import org.apache.hadoop.net.NetUtils;
-import org.apache.hadoop.security.AccessToken;
-import org.apache.hadoop.security.AccessTokenHandler;
import org.apache.hadoop.util.DataChecksum;
import org.apache.hadoop.util.StringUtils;
@@ -128,7 +128,7 @@
@Override
protected void opReadBlock(DataInputStream in,
long blockId, long blockGs, long startOffset, long length,
- String clientName, AccessToken accessToken) throws IOException {
+ String clientName, BlockAccessToken accessToken) throws IOException {
final Block block = new Block(blockId, 0 , blockGs);
OutputStream baseStream = NetUtils.getOutputStream(s,
datanode.socketWriteTimeout);
@@ -212,7 +212,7 @@
int pipelineSize, BlockConstructionStage stage,
long newGs, long minBytesRcvd, long maxBytesRcvd,
String client, DatanodeInfo srcDataNode, DatanodeInfo[] targets,
- AccessToken accessToken) throws IOException {
+ BlockAccessToken accessToken) throws IOException {
if (LOG.isDebugEnabled()) {
LOG.debug("writeBlock receive buf size " + s.getReceiveBufferSize() +
@@ -396,7 +396,7 @@
*/
@Override
protected void opBlockChecksum(DataInputStream in,
- long blockId, long blockGs, AccessToken accessToken) throws IOException {
+ long blockId, long blockGs, BlockAccessToken accessToken) throws IOException {
final Block block = new Block(blockId, 0 , blockGs);
DataOutputStream out = new DataOutputStream(NetUtils.getOutputStream(s,
datanode.socketWriteTimeout));
@@ -455,7 +455,7 @@
*/
@Override
protected void opCopyBlock(DataInputStream in,
- long blockId, long blockGs, AccessToken accessToken) throws IOException {
+ long blockId, long blockGs, BlockAccessToken accessToken) throws IOException {
// Read in the header
Block block = new Block(blockId, 0, blockGs);
if (datanode.isAccessTokenEnabled
@@ -526,7 +526,7 @@
@Override
protected void opReplaceBlock(DataInputStream in,
long blockId, long blockGs, String sourceID, DatanodeInfo proxySource,
- AccessToken accessToken) throws IOException {
+ BlockAccessToken accessToken) throws IOException {
/* read header */
final Block block = new Block(blockId, dataXceiverServer.estimateBlockSize,
blockGs);
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java Tue Nov 17 21:23:00 2009
@@ -32,12 +32,12 @@
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FsShell;
import org.apache.hadoop.hdfs.DFSClient;
+import org.apache.hadoop.hdfs.DFSConfigKeys;
import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
import org.apache.hadoop.hdfs.protocol.LocatedBlock;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
import org.apache.hadoop.hdfs.server.common.JspHelper;
import org.apache.hadoop.net.NetUtils;
-import org.apache.hadoop.security.AccessToken;
-import org.apache.hadoop.security.AccessTokenHandler;
import org.apache.hadoop.util.StringUtils;
class DatanodeJspHelper {
@@ -325,9 +325,10 @@
final DFSClient dfs = new DFSClient(datanode.getNameNodeAddr(),
JspHelper.conf);
- AccessToken accessToken = AccessToken.DUMMY_TOKEN;
+ BlockAccessToken accessToken = BlockAccessToken.DUMMY_TOKEN;
if (JspHelper.conf.getBoolean(
- AccessTokenHandler.STRING_ENABLE_ACCESS_TOKEN, false)) {
+ DFSConfigKeys.DFS_BLOCK_ACCESS_TOKEN_ENABLE_KEY,
+ DFSConfigKeys.DFS_BLOCK_ACCESS_TOKEN_ENABLE_DEFAULT)) {
List<LocatedBlock> blks = dfs.getNamenode().getBlockLocations(filename, 0,
Long.MAX_VALUE).getLocatedBlocks();
if (blks == null || blks.size() == 0) {
@@ -564,7 +565,7 @@
LocatedBlock lastBlk = blocks.get(blocks.size() - 1);
long blockSize = lastBlk.getBlock().getNumBytes();
long blockId = lastBlk.getBlock().getBlockId();
- AccessToken accessToken = lastBlk.getAccessToken();
+ BlockAccessToken accessToken = lastBlk.getAccessToken();
long genStamp = lastBlk.getBlock().getGenerationStamp();
DatanodeInfo chosenNode;
try {
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java Tue Nov 17 21:23:00 2009
@@ -22,6 +22,8 @@
import org.apache.hadoop.conf.*;
import org.apache.hadoop.hdfs.DFSUtil;
import org.apache.hadoop.hdfs.protocol.*;
+import org.apache.hadoop.hdfs.security.AccessTokenHandler;
+import org.apache.hadoop.hdfs.security.ExportedAccessKeys;
import org.apache.hadoop.hdfs.server.common.GenerationStamp;
import org.apache.hadoop.hdfs.server.common.HdfsConstants.BlockUCState;
import org.apache.hadoop.hdfs.server.common.HdfsConstants.StartupOption;
@@ -30,8 +32,6 @@
import org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMBean;
import org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMetrics;
import org.apache.hadoop.security.AccessControlException;
-import org.apache.hadoop.security.AccessTokenHandler;
-import org.apache.hadoop.security.ExportedAccessKeys;
import org.apache.hadoop.security.PermissionChecker;
import org.apache.hadoop.security.UnixUserGroupInformation;
import org.apache.hadoop.security.UserGroupInformation;
@@ -436,12 +436,15 @@
this.accessTimePrecision = conf.getLong(DFSConfigKeys.DFS_NAMENODE_ACCESSTIME_PRECISION_KEY, 0);
this.supportAppends = conf.getBoolean("dfs.support.append", false);
this.isAccessTokenEnabled = conf.getBoolean(
- AccessTokenHandler.STRING_ENABLE_ACCESS_TOKEN, false);
+ DFSConfigKeys.DFS_BLOCK_ACCESS_TOKEN_ENABLE_KEY,
+ DFSConfigKeys.DFS_BLOCK_ACCESS_TOKEN_ENABLE_DEFAULT);
if (isAccessTokenEnabled) {
this.accessKeyUpdateInterval = conf.getLong(
- AccessTokenHandler.STRING_ACCESS_KEY_UPDATE_INTERVAL, 600) * 60 * 1000L; // 10 hrs
+ DFSConfigKeys.DFS_BLOCK_ACCESS_KEY_UPDATE_INTERVAL_KEY,
+ DFSConfigKeys.DFS_BLOCK_ACCESS_KEY_UPDATE_INTERVAL_DEFAULT) * 60 * 1000L; // 10 hrs
this.accessTokenLifetime = conf.getLong(
- AccessTokenHandler.STRING_ACCESS_TOKEN_LIFETIME, 600) * 60 * 1000L; // 10 hrs
+ DFSConfigKeys.DFS_BLOCK_ACCESS_TOKEN_LIFETIME_KEY,
+ DFSConfigKeys.DFS_BLOCK_ACCESS_TOKEN_LIFETIME_DEFAULT) * 60 * 1000L; // 10 hrs
}
LOG.info("isAccessTokenEnabled=" + isAccessTokenEnabled
+ " accessKeyUpdateInterval=" + accessKeyUpdateInterval / (60 * 1000)
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java Tue Nov 17 21:23:00 2009
@@ -47,6 +47,7 @@
import org.apache.hadoop.hdfs.protocol.LocatedBlock;
import org.apache.hadoop.hdfs.protocol.LocatedBlocks;
import org.apache.hadoop.hdfs.protocol.UnregisteredNodeException;
+import org.apache.hadoop.hdfs.security.ExportedAccessKeys;
import org.apache.hadoop.hdfs.server.common.IncorrectVersionException;
import org.apache.hadoop.hdfs.server.common.UpgradeStatusReport;
import org.apache.hadoop.hdfs.server.common.HdfsConstants.NamenodeRole;
@@ -72,7 +73,6 @@
import org.apache.hadoop.net.NetUtils;
import org.apache.hadoop.net.NetworkTopology;
import org.apache.hadoop.security.AccessControlException;
-import org.apache.hadoop.security.ExportedAccessKeys;
import org.apache.hadoop.security.SecurityUtil;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.security.authorize.AuthorizationException;
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/DatanodeRegistration.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/DatanodeRegistration.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/DatanodeRegistration.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/DatanodeRegistration.java Tue Nov 17 21:23:00 2009
@@ -23,13 +23,13 @@
import java.io.IOException;
import org.apache.hadoop.hdfs.protocol.DatanodeID;
+import org.apache.hadoop.hdfs.security.ExportedAccessKeys;
import org.apache.hadoop.hdfs.server.common.Storage;
import org.apache.hadoop.hdfs.server.common.StorageInfo;
import org.apache.hadoop.hdfs.server.datanode.DataStorage;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.io.WritableFactories;
import org.apache.hadoop.io.WritableFactory;
-import org.apache.hadoop.security.ExportedAccessKeys;
/**
* DatanodeRegistration class contains all information the name-node needs
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/KeyUpdateCommand.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/KeyUpdateCommand.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/KeyUpdateCommand.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/KeyUpdateCommand.java Tue Nov 17 21:23:00 2009
@@ -21,10 +21,10 @@
import java.io.DataOutput;
import java.io.IOException;
+import org.apache.hadoop.hdfs.security.ExportedAccessKeys;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.io.WritableFactories;
import org.apache.hadoop.io.WritableFactory;
-import org.apache.hadoop.security.ExportedAccessKeys;
public class KeyUpdateCommand extends DatanodeCommand {
private ExportedAccessKeys keys;
Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/NamenodeProtocol.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/NamenodeProtocol.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/NamenodeProtocol.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/protocol/NamenodeProtocol.java Tue Nov 17 21:23:00 2009
@@ -21,9 +21,9 @@
import java.io.IOException;
import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
+import org.apache.hadoop.hdfs.security.ExportedAccessKeys;
import org.apache.hadoop.hdfs.server.namenode.CheckpointSignature;
import org.apache.hadoop.ipc.VersionedProtocol;
-import org.apache.hadoop.security.ExportedAccessKeys;
/*****************************************************************************
* Protocol that a secondary NameNode uses to communicate with the NameNode.
Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/DFSTestUtil.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/DFSTestUtil.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/DFSTestUtil.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/DFSTestUtil.java Tue Nov 17 21:23:00 2009
@@ -37,9 +37,9 @@
import org.apache.hadoop.hdfs.DFSClient.DFSDataInputStream;
import org.apache.hadoop.hdfs.protocol.Block;
import org.apache.hadoop.hdfs.protocol.LocatedBlock;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
import org.apache.hadoop.hdfs.HdfsConfiguration;
import org.apache.hadoop.io.IOUtils;
-import org.apache.hadoop.security.AccessToken;
import org.apache.hadoop.security.UnixUserGroupInformation;
import org.apache.hadoop.security.UserGroupInformation;
@@ -258,7 +258,7 @@
return ((DFSClient.DFSDataInputStream) in).getAllBlocks();
}
- public static AccessToken getAccessToken(FSDataOutputStream out) {
+ public static BlockAccessToken getAccessToken(FSDataOutputStream out) {
return ((DFSClient.DFSOutputStream) out.getWrappedStream()).getAccessToken();
}
Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDataTransferProtocol.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDataTransferProtocol.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDataTransferProtocol.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDataTransferProtocol.java Tue Nov 17 21:23:00 2009
@@ -48,12 +48,12 @@
import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
import org.apache.hadoop.hdfs.protocol.DataTransferProtocol.BlockConstructionStage;
import org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
import org.apache.hadoop.hdfs.server.common.HdfsConstants;
import org.apache.hadoop.hdfs.HdfsConfiguration;
import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.net.NetUtils;
-import org.apache.hadoop.security.AccessToken;
import org.apache.hadoop.util.DataChecksum;
import org.junit.Test;
@@ -170,7 +170,7 @@
DataTransferProtocol.Sender.opWriteBlock(sendOut,
block.getBlockId(), block.getGenerationStamp(), 0,
stage, newGS, block.getNumBytes(), block.getNumBytes(), "cl", null,
- new DatanodeInfo[1], AccessToken.DUMMY_TOKEN);
+ new DatanodeInfo[1], BlockAccessToken.DUMMY_TOKEN);
if (eofExcepted) {
ERROR.write(recvOut);
sendRecvData(description, true);
@@ -356,7 +356,7 @@
DataTransferProtocol.Sender.opWriteBlock(sendOut,
newBlockId, 0L, 0,
BlockConstructionStage.PIPELINE_SETUP_CREATE, 0L, 0L, 0L, "cl", null,
- new DatanodeInfo[1], AccessToken.DUMMY_TOKEN);
+ new DatanodeInfo[1], BlockAccessToken.DUMMY_TOKEN);
sendOut.writeByte((byte)DataChecksum.CHECKSUM_CRC32);
// bad bytes per checksum
@@ -370,7 +370,7 @@
DataTransferProtocol.Sender.opWriteBlock(sendOut,
++newBlockId, 0L, 0,
BlockConstructionStage.PIPELINE_SETUP_CREATE, 0L, 0L, 0L, "cl", null,
- new DatanodeInfo[1], AccessToken.DUMMY_TOKEN);
+ new DatanodeInfo[1], BlockAccessToken.DUMMY_TOKEN);
sendOut.writeByte((byte)DataChecksum.CHECKSUM_CRC32);
sendOut.writeInt(512);
sendOut.writeInt(4); // size of packet
@@ -393,7 +393,7 @@
DataTransferProtocol.Sender.opWriteBlock(sendOut,
++newBlockId, 0L, 0,
BlockConstructionStage.PIPELINE_SETUP_CREATE, 0L, 0L, 0L, "cl", null,
- new DatanodeInfo[1], AccessToken.DUMMY_TOKEN);
+ new DatanodeInfo[1], BlockAccessToken.DUMMY_TOKEN);
sendOut.writeByte((byte)DataChecksum.CHECKSUM_CRC32);
sendOut.writeInt(512); // checksum size
sendOut.writeInt(8); // size of packet
@@ -425,7 +425,7 @@
sendOut.writeLong(fileLen);
ERROR.write(recvOut);
Text.writeString(sendOut, "cl");
- AccessToken.DUMMY_TOKEN.write(sendOut);
+ BlockAccessToken.DUMMY_TOKEN.write(sendOut);
sendRecvData("Wrong block ID " + newBlockId + " for read", false);
// negative block start offset
@@ -437,7 +437,7 @@
sendOut.writeLong(-1L);
sendOut.writeLong(fileLen);
Text.writeString(sendOut, "cl");
- AccessToken.DUMMY_TOKEN.write(sendOut);
+ BlockAccessToken.DUMMY_TOKEN.write(sendOut);
sendRecvData("Negative start-offset for read for block " +
firstBlock.getBlockId(), false);
@@ -450,7 +450,7 @@
sendOut.writeLong(fileLen);
sendOut.writeLong(fileLen);
Text.writeString(sendOut, "cl");
- AccessToken.DUMMY_TOKEN.write(sendOut);
+ BlockAccessToken.DUMMY_TOKEN.write(sendOut);
sendRecvData("Wrong start-offset for reading block " +
firstBlock.getBlockId(), false);
@@ -465,7 +465,7 @@
sendOut.writeLong(0);
sendOut.writeLong(-1-random.nextInt(oneMil));
Text.writeString(sendOut, "cl");
- AccessToken.DUMMY_TOKEN.write(sendOut);
+ BlockAccessToken.DUMMY_TOKEN.write(sendOut);
sendRecvData("Negative length for reading block " +
firstBlock.getBlockId(), false);
@@ -480,7 +480,7 @@
sendOut.writeLong(0);
sendOut.writeLong(fileLen + 1);
Text.writeString(sendOut, "cl");
- AccessToken.DUMMY_TOKEN.write(sendOut);
+ BlockAccessToken.DUMMY_TOKEN.write(sendOut);
sendRecvData("Wrong length for reading block " +
firstBlock.getBlockId(), false);
@@ -493,7 +493,7 @@
sendOut.writeLong(0);
sendOut.writeLong(fileLen);
Text.writeString(sendOut, "cl");
- AccessToken.DUMMY_TOKEN.write(sendOut);
+ BlockAccessToken.DUMMY_TOKEN.write(sendOut);
readFile(fileSys, file, fileLen);
} finally {
cluster.shutdown();
Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/datanode/TestBlockReplacement.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/datanode/TestBlockReplacement.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/datanode/TestBlockReplacement.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/datanode/TestBlockReplacement.java Tue Nov 17 21:23:00 2009
@@ -46,12 +46,12 @@
import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
import org.apache.hadoop.hdfs.protocol.LocatedBlock;
import org.apache.hadoop.hdfs.protocol.FSConstants.DatanodeReportType;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
import org.apache.hadoop.hdfs.server.common.HdfsConstants;
import org.apache.hadoop.hdfs.server.common.Util;
import org.apache.hadoop.hdfs.DFSConfigKeys;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.net.NetUtils;
-import org.apache.hadoop.security.AccessToken;
/**
* This class tests if block replacement request to data nodes work correctly.
*/
@@ -236,7 +236,7 @@
out.writeLong(block.getGenerationStamp());
Text.writeString(out, source.getStorageID());
sourceProxy.write(out);
- AccessToken.DUMMY_TOKEN.write(out);
+ BlockAccessToken.DUMMY_TOKEN.write(out);
out.flush();
// receiveResponse
DataInputStream reply = new DataInputStream(sock.getInputStream());
Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/datanode/TestDiskError.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/datanode/TestDiskError.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/datanode/TestDiskError.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/datanode/TestDiskError.java Tue Nov 17 21:23:00 2009
@@ -37,11 +37,11 @@
import org.apache.hadoop.hdfs.protocol.LocatedBlocks;
import org.apache.hadoop.hdfs.protocol.DataTransferProtocol.BlockConstructionStage;
import org.apache.hadoop.hdfs.protocol.DataTransferProtocol.Sender;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
import org.apache.hadoop.hdfs.server.namenode.NameNodeAdapter;
import org.apache.hadoop.hdfs.HdfsConfiguration;
import org.apache.hadoop.hdfs.DFSConfigKeys;
import org.apache.hadoop.io.Text;
-import org.apache.hadoop.security.AccessToken;
/** Test if a datanode can correctly handle errors during block read/write*/
public class TestDiskError extends TestCase {
@@ -123,7 +123,7 @@
block.getBlock().getGenerationStamp(), 1,
BlockConstructionStage.PIPELINE_SETUP_CREATE,
0L, 0L, 0L, "", null, new DatanodeInfo[0],
- AccessToken.DUMMY_TOKEN);
+ BlockAccessToken.DUMMY_TOKEN);
// write check header
out.writeByte( 1 );
Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestAccessTokenWithDFS.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestAccessTokenWithDFS.java?rev=881535&r1=881534&r2=881535&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestAccessTokenWithDFS.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestAccessTokenWithDFS.java Tue Nov 17 21:23:00 2009
@@ -33,6 +33,10 @@
import org.apache.hadoop.hdfs.protocol.Block;
import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
import org.apache.hadoop.hdfs.protocol.LocatedBlock;
+import org.apache.hadoop.hdfs.security.BlockAccessToken;
+import org.apache.hadoop.hdfs.security.AccessTokenHandler;
+import org.apache.hadoop.hdfs.security.InvalidAccessTokenException;
+import org.apache.hadoop.hdfs.security.SecurityTestUtil;
import org.apache.hadoop.hdfs.server.balancer.TestBalancer;
import org.apache.hadoop.hdfs.server.common.HdfsConstants;
import org.apache.hadoop.net.NetUtils;
@@ -40,10 +44,6 @@
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.security.AccessToken;
-import org.apache.hadoop.security.AccessTokenHandler;
-import org.apache.hadoop.security.InvalidAccessTokenException;
-import org.apache.hadoop.security.SecurityTestUtil;
import org.apache.log4j.Level;
import org.apache.hadoop.hdfs.DFSConfigKeys;
@@ -165,7 +165,7 @@
// get a conf for testing
private static Configuration getConf(int numDataNodes) throws IOException {
Configuration conf = new HdfsConfiguration();
- conf.setBoolean(AccessTokenHandler.STRING_ENABLE_ACCESS_TOKEN, true);
+ conf.setBoolean(DFSConfigKeys.DFS_BLOCK_ACCESS_TOKEN_ENABLE_KEY, true);
conf.setLong(DFSConfigKeys.DFS_BLOCK_SIZE_KEY, BLOCK_SIZE);
conf.setInt(DFSConfigKeys.DFS_BYTES_PER_CHECKSUM_KEY, BLOCK_SIZE);
conf.setInt("dfs.heartbeat.interval", 1);
@@ -208,7 +208,7 @@
/*
* wait till token used in stm expires
*/
- AccessToken token = DFSTestUtil.getAccessToken(stm);
+ BlockAccessToken token = DFSTestUtil.getAccessToken(stm);
while (!SecurityTestUtil.isAccessTokenExpired(token)) {
try {
Thread.sleep(10);
@@ -260,7 +260,7 @@
/*
* wait till token used in stm expires
*/
- AccessToken token = DFSTestUtil.getAccessToken(stm);
+ BlockAccessToken token = DFSTestUtil.getAccessToken(stm);
while (!SecurityTestUtil.isAccessTokenExpired(token)) {
try {
Thread.sleep(10);
@@ -322,7 +322,7 @@
List<LocatedBlock> locatedBlocks = dfsclient.getNamenode().getBlockLocations(
FILE_TO_READ, 0, FILE_SIZE).getLocatedBlocks();
LocatedBlock lblock = locatedBlocks.get(0); // first block
- AccessToken myToken = lblock.getAccessToken();
+ BlockAccessToken myToken = lblock.getAccessToken();
// verify token is not expired
assertFalse(SecurityTestUtil.isAccessTokenExpired(myToken));
// read with valid token, should succeed
@@ -527,7 +527,7 @@
*/
public void testEnd2End() throws Exception {
Configuration conf = new HdfsConfiguration();
- conf.setBoolean(AccessTokenHandler.STRING_ENABLE_ACCESS_TOKEN, true);
+ conf.setBoolean(DFSConfigKeys.DFS_BLOCK_ACCESS_TOKEN_ENABLE_KEY, true);
new TestBalancer().integrationTest(conf);
}
}
|