MAPREDUCE-3392. Fixed Cluster's getDelegationToken's API to return null when there isn't a supported token. Contributed by John George.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1200484 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Vinod Kumar Vavilapalli 2011-11-10 19:19:25 +00:00
parent 15150cd997
commit 200bb27557
3 changed files with 28 additions and 0 deletions

View File

@ -105,6 +105,9 @@ Release 0.23.1 - Unreleased
which per-container connections to NodeManager were lingering long enough
to hit the ulimits on number of processes. (vinodkv)
MAPREDUCE-3392. Fixed Cluster's getDelegationToken's API to return null
when there isn't a supported token. (John George via vinodkv)
Release 0.23.0 - 2011-11-01
INCOMPATIBLE CHANGES

View File

@ -390,6 +390,11 @@ public class Cluster {
getDelegationToken(Text renewer) throws IOException, InterruptedException{
Token<DelegationTokenIdentifier> result =
client.getDelegationToken(renewer);
if (result == null) {
return result;
}
InetSocketAddress addr = Master.getMasterAddress(conf);
StringBuilder service = new StringBuilder();
service.append(NetUtils.normalizeHostName(addr.getAddress().

View File

@ -25,6 +25,7 @@ import junit.framework.TestCase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.mapred.YARNRunner;
import org.apache.hadoop.mapreduce.protocol.ClientProtocol;
import org.apache.hadoop.io.Text;
import org.junit.Test;
public class TestYarnClientProtocolProvider extends TestCase {
@ -56,4 +57,23 @@ public class TestYarnClientProtocolProvider extends TestCase {
}
}
}
@Test
public void testClusterGetDelegationToken() throws Exception {
Configuration conf = new Configuration(false);
Cluster cluster = null;
try {
conf = new Configuration();
conf.set(MRConfig.FRAMEWORK_NAME, MRConfig.YARN_FRAMEWORK_NAME);
cluster = new Cluster(conf);
cluster.getDelegationToken(new Text(" "));
} finally {
if (cluster != null) {
cluster.close();
}
}
}
}