HDFS-2264. NamenodeProtocol has the wrong value for clientPrincipal in KerberosInfo annotation. Contributed by Aaron T. Myers.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1419949 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
6e82da0dea
commit
47ae6831e9
|
@ -600,6 +600,9 @@ Release 2.0.3-alpha - Unreleased
|
|||
HDFS-4294. Backwards compatibility is not maintained for TestVolumeId.
|
||||
(Ivan A. Veselovsky and Robert Parker via atm)
|
||||
|
||||
HDFS-2264. NamenodeProtocol has the wrong value for clientPrincipal in
|
||||
KerberosInfo annotation. (atm)
|
||||
|
||||
BREAKDOWN OF HDFS-3077 SUBTASKS
|
||||
|
||||
HDFS-3077. Quorum-based protocol for reading and writing edit logs.
|
||||
|
|
|
@ -338,11 +338,13 @@ class NameNodeRpcServer implements NamenodeProtocols {
|
|||
"Unexpected not positive size: "+size);
|
||||
}
|
||||
namesystem.checkOperation(OperationCategory.READ);
|
||||
namesystem.checkSuperuserPrivilege();
|
||||
return namesystem.getBlockManager().getBlocks(datanode, size);
|
||||
}
|
||||
|
||||
@Override // NamenodeProtocol
|
||||
public ExportedBlockKeys getBlockKeys() throws IOException {
|
||||
namesystem.checkSuperuserPrivilege();
|
||||
return namesystem.getBlockManager().getBlockKeys();
|
||||
}
|
||||
|
||||
|
@ -351,6 +353,7 @@ class NameNodeRpcServer implements NamenodeProtocols {
|
|||
int errorCode,
|
||||
String msg) throws IOException {
|
||||
namesystem.checkOperation(OperationCategory.UNCHECKED);
|
||||
namesystem.checkSuperuserPrivilege();
|
||||
verifyRequest(registration);
|
||||
LOG.info("Error report from " + registration + ": " + msg);
|
||||
if (errorCode == FATAL) {
|
||||
|
@ -361,6 +364,7 @@ class NameNodeRpcServer implements NamenodeProtocols {
|
|||
@Override // NamenodeProtocol
|
||||
public NamenodeRegistration register(NamenodeRegistration registration)
|
||||
throws IOException {
|
||||
namesystem.checkSuperuserPrivilege();
|
||||
verifyLayoutVersion(registration.getVersion());
|
||||
NamenodeRegistration myRegistration = nn.setRegistration();
|
||||
namesystem.registerBackupNode(registration, myRegistration);
|
||||
|
@ -370,6 +374,7 @@ class NameNodeRpcServer implements NamenodeProtocols {
|
|||
@Override // NamenodeProtocol
|
||||
public NamenodeCommand startCheckpoint(NamenodeRegistration registration)
|
||||
throws IOException {
|
||||
namesystem.checkSuperuserPrivilege();
|
||||
verifyRequest(registration);
|
||||
if(!nn.isRole(NamenodeRole.NAMENODE))
|
||||
throw new IOException("Only an ACTIVE node can invoke startCheckpoint.");
|
||||
|
@ -379,6 +384,7 @@ class NameNodeRpcServer implements NamenodeProtocols {
|
|||
@Override // NamenodeProtocol
|
||||
public void endCheckpoint(NamenodeRegistration registration,
|
||||
CheckpointSignature sig) throws IOException {
|
||||
namesystem.checkSuperuserPrivilege();
|
||||
namesystem.endCheckpoint(registration, sig);
|
||||
}
|
||||
|
||||
|
@ -755,17 +761,20 @@ class NameNodeRpcServer implements NamenodeProtocols {
|
|||
@Override // NamenodeProtocol
|
||||
public long getTransactionID() throws IOException {
|
||||
namesystem.checkOperation(OperationCategory.UNCHECKED);
|
||||
namesystem.checkSuperuserPrivilege();
|
||||
return namesystem.getFSImage().getLastAppliedOrWrittenTxId();
|
||||
}
|
||||
|
||||
@Override // NamenodeProtocol
|
||||
public long getMostRecentCheckpointTxId() throws IOException {
|
||||
namesystem.checkOperation(OperationCategory.UNCHECKED);
|
||||
namesystem.checkSuperuserPrivilege();
|
||||
return namesystem.getFSImage().getMostRecentCheckpointTxId();
|
||||
}
|
||||
|
||||
@Override // NamenodeProtocol
|
||||
public CheckpointSignature rollEditLog() throws IOException {
|
||||
namesystem.checkSuperuserPrivilege();
|
||||
return namesystem.rollEditLog();
|
||||
}
|
||||
|
||||
|
@ -773,6 +782,7 @@ class NameNodeRpcServer implements NamenodeProtocols {
|
|||
public RemoteEditLogManifest getEditLogManifest(long sinceTxId)
|
||||
throws IOException {
|
||||
namesystem.checkOperation(OperationCategory.READ);
|
||||
namesystem.checkSuperuserPrivilege();
|
||||
return namesystem.getEditLog().getEditLogManifest(sinceTxId);
|
||||
}
|
||||
|
||||
|
@ -949,6 +959,7 @@ class NameNodeRpcServer implements NamenodeProtocols {
|
|||
|
||||
@Override // DatanodeProtocol, NamenodeProtocol
|
||||
public NamespaceInfo versionRequest() throws IOException {
|
||||
namesystem.checkSuperuserPrivilege();
|
||||
return namesystem.getNamespaceInfo();
|
||||
}
|
||||
|
||||
|
|
|
@ -32,8 +32,7 @@ import org.apache.hadoop.security.KerberosInfo;
|
|||
* It's used to get part of the name node state
|
||||
*****************************************************************************/
|
||||
@KerberosInfo(
|
||||
serverPrincipal = DFSConfigKeys.DFS_NAMENODE_USER_NAME_KEY,
|
||||
clientPrincipal = DFSConfigKeys.DFS_NAMENODE_USER_NAME_KEY)
|
||||
serverPrincipal = DFSConfigKeys.DFS_NAMENODE_USER_NAME_KEY)
|
||||
@InterfaceAudience.Private
|
||||
public interface NamenodeProtocol {
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue