YARN-11172. Fix TestClientRMTokens#testDelegationToken introduced by HDFS-16563. (#4408)
Regression caused by HDFS-16563; the hdfs exception text was changed, but because it was a YARN test doing the check, Yetus didn't notice. Contributed by zhengchenyu
This commit is contained in:
parent
e199da3fae
commit
80446dcd08
@ -518,9 +518,9 @@ protected DelegationTokenInformation checkToken(TokenIdent identifier)
|
||||
}
|
||||
long now = Time.now();
|
||||
if (info.getRenewDate() < now) {
|
||||
err =
|
||||
"Token has" + identifier.getRealUser() + "expired, current time: " + Time.formatTime(now)
|
||||
+ " expected renewal time: " + Time.formatTime(info.getRenewDate());
|
||||
err = "Token " + identifier.getRealUser() + " has expired, current time: "
|
||||
+ Time.formatTime(now) + " expected renewal time: " + Time
|
||||
.formatTime(info.getRenewDate());
|
||||
LOG.info("{}, Token={}", err, formatTokenId(identifier));
|
||||
throw new InvalidToken(err);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
package org.apache.hadoop.yarn.server.resourcemanager;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
@ -36,6 +35,7 @@
|
||||
import java.security.PrivilegedAction;
|
||||
import java.security.PrivilegedExceptionAction;
|
||||
|
||||
import org.apache.hadoop.test.LambdaTestUtils;
|
||||
import org.apache.hadoop.thirdparty.protobuf.InvalidProtocolBufferException;
|
||||
import org.apache.hadoop.io.DataOutputBuffer;
|
||||
import org.apache.hadoop.net.NetUtils;
|
||||
@ -111,7 +111,7 @@ public void resetSecretManager() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDelegationToken() throws IOException, InterruptedException {
|
||||
public void testDelegationToken() throws Exception {
|
||||
|
||||
final YarnConfiguration conf = new YarnConfiguration();
|
||||
conf.set(YarnConfiguration.RM_PRINCIPAL, "testuser/localhost@apache.org");
|
||||
@ -199,13 +199,10 @@ public void testDelegationToken() throws IOException, InterruptedException {
|
||||
Thread.sleep(50l);
|
||||
LOG.info("At time: " + System.currentTimeMillis() + ", token should be invalid");
|
||||
// Token should have expired.
|
||||
try {
|
||||
clientRMWithDT.getNewApplication(request);
|
||||
fail("Should not have succeeded with an expired token");
|
||||
} catch (Exception e) {
|
||||
assertEquals(InvalidToken.class.getName(), e.getClass().getName());
|
||||
assertTrue(e.getMessage().contains("is expired"));
|
||||
}
|
||||
final ApplicationClientProtocol finalClientRMWithDT = clientRMWithDT;
|
||||
final GetNewApplicationRequest finalRequest = request;
|
||||
LambdaTestUtils.intercept(InvalidToken.class, "Token has expired",
|
||||
() -> finalClientRMWithDT.getNewApplication(finalRequest));
|
||||
|
||||
// Test cancellation
|
||||
// Stop the existing proxy, start another.
|
||||
|
Loading…
Reference in New Issue
Block a user