HDFS-14374. Expose total number of delegation tokens in AbstractDelegationTokenSecretManager. Contributed by CR Hota.
This commit is contained in:
parent
174b7d3126
commit
fb1c549139
@ -145,7 +145,14 @@ public synchronized void reset() {
|
||||
setDelegationTokenSeqNum(0);
|
||||
currentTokens.clear();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Total count of active delegation tokens.
|
||||
*/
|
||||
public long getCurrentTokensSize() {
|
||||
return currentTokens.size();
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a previously used master key to cache (when NN restarts),
|
||||
* should be called before activate().
|
||||
|
@ -259,6 +259,29 @@ public void testGetUserWithOwnerAndReal() {
|
||||
ugi.getRealUser().getAuthenticationMethod());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDelegationTokenCount() throws Exception {
|
||||
final TestDelegationTokenSecretManager dtSecretManager =
|
||||
new TestDelegationTokenSecretManager(24*60*60*1000,
|
||||
3*1000, 1*1000, 3600000);
|
||||
try {
|
||||
dtSecretManager.startThreads();
|
||||
Assert.assertEquals(dtSecretManager.getCurrentTokensSize(), 0);
|
||||
final Token<TestDelegationTokenIdentifier> token1 =
|
||||
generateDelegationToken(dtSecretManager, "SomeUser", "JobTracker");
|
||||
Assert.assertEquals(dtSecretManager.getCurrentTokensSize(), 1);
|
||||
final Token<TestDelegationTokenIdentifier> token2 =
|
||||
generateDelegationToken(dtSecretManager, "SomeUser", "JobTracker");
|
||||
Assert.assertEquals(dtSecretManager.getCurrentTokensSize(), 2);
|
||||
dtSecretManager.cancelToken(token1, "JobTracker");
|
||||
Assert.assertEquals(dtSecretManager.getCurrentTokensSize(), 1);
|
||||
dtSecretManager.cancelToken(token2, "JobTracker");
|
||||
Assert.assertEquals(dtSecretManager.getCurrentTokensSize(), 0);
|
||||
} finally {
|
||||
dtSecretManager.stopThreads();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDelegationTokenSecretManager() throws Exception {
|
||||
final TestDelegationTokenSecretManager dtSecretManager =
|
||||
|
Loading…
Reference in New Issue
Block a user