Java 类org.apache.hadoop.fs.DelegationTokenRenewer 实例源码

项目:hadoop    文件:TestHttpFSWithKerberos.java   
@SuppressWarnings("deprecation")
private void testDelegationTokenWithFS(Class fileSystemClass)
  throws Exception {
  createHttpFSServer();
  Configuration conf = new Configuration();
  conf.set("fs.webhdfs.impl", fileSystemClass.getName());
  conf.set("fs.hdfs.impl.disable.cache", "true");
  URI uri = new URI( "webhdfs://" +
                     TestJettyHelper.getJettyURL().toURI().getAuthority());
  FileSystem fs = FileSystem.get(uri, conf);
  Token<?> tokens[] = fs.addDelegationTokens("foo", null);
  fs.close();
  Assert.assertEquals(1, tokens.length);
  fs = FileSystem.get(uri, conf);
  ((DelegationTokenRenewer.Renewable) fs).setDelegationToken(tokens[0]);
  fs.listStatus(new Path("/"));
  fs.close();
}
项目:aliyun-oss-hadoop-fs    文件:TestHttpFSWithKerberos.java   
@SuppressWarnings("deprecation")
private void testDelegationTokenWithFS(Class fileSystemClass)
  throws Exception {
  createHttpFSServer();
  Configuration conf = new Configuration();
  conf.set("fs.webhdfs.impl", fileSystemClass.getName());
  conf.set("fs.hdfs.impl.disable.cache", "true");
  URI uri = new URI( "webhdfs://" +
                     TestJettyHelper.getJettyURL().toURI().getAuthority());
  FileSystem fs = FileSystem.get(uri, conf);
  Token<?> tokens[] = fs.addDelegationTokens("foo", null);
  fs.close();
  Assert.assertEquals(1, tokens.length);
  fs = FileSystem.get(uri, conf);
  ((DelegationTokenRenewer.Renewable) fs).setDelegationToken(tokens[0]);
  fs.listStatus(new Path("/"));
  fs.close();
}
项目:big-c    文件:TestHttpFSWithKerberos.java   
@SuppressWarnings("deprecation")
private void testDelegationTokenWithFS(Class fileSystemClass)
  throws Exception {
  createHttpFSServer();
  Configuration conf = new Configuration();
  conf.set("fs.webhdfs.impl", fileSystemClass.getName());
  conf.set("fs.hdfs.impl.disable.cache", "true");
  URI uri = new URI( "webhdfs://" +
                     TestJettyHelper.getJettyURL().toURI().getAuthority());
  FileSystem fs = FileSystem.get(uri, conf);
  Token<?> tokens[] = fs.addDelegationTokens("foo", null);
  fs.close();
  Assert.assertEquals(1, tokens.length);
  fs = FileSystem.get(uri, conf);
  ((DelegationTokenRenewer.Renewable) fs).setDelegationToken(tokens[0]);
  fs.listStatus(new Path("/"));
  fs.close();
}
项目:hadoop-2.6.0-cdh5.4.3    文件:TestHttpFSWithKerberos.java   
@SuppressWarnings("deprecation")
private void testDelegationTokenWithFS(Class fileSystemClass)
  throws Exception {
  createHttpFSServer();
  Configuration conf = new Configuration();
  conf.set("fs.webhdfs.impl", fileSystemClass.getName());
  conf.set("fs.hdfs.impl.disable.cache", "true");
  URI uri = new URI( "webhdfs://" +
                     TestJettyHelper.getJettyURL().toURI().getAuthority());
  FileSystem fs = FileSystem.get(uri, conf);
  Token<?> tokens[] = fs.addDelegationTokens("foo", null);
  fs.close();
  Assert.assertEquals(1, tokens.length);
  fs = FileSystem.get(uri, conf);
  ((DelegationTokenRenewer.Renewable) fs).setDelegationToken(tokens[0]);
  fs.listStatus(new Path("/"));
  fs.close();
}
项目:hadoop-plus    文件:TestHttpFSWithKerberos.java   
@SuppressWarnings("deprecation")
private void testDelegationTokenWithFS(Class fileSystemClass)
  throws Exception {
  createHttpFSServer();
  Configuration conf = new Configuration();
  conf.set("fs.webhdfs.impl", fileSystemClass.getName());
  conf.set("fs.hdfs.impl.disable.cache", "true");
  URI uri = new URI( "webhdfs://" +
                     TestJettyHelper.getJettyURL().toURI().getAuthority());
  FileSystem fs = FileSystem.get(uri, conf);
  Token<?> tokens[] = fs.addDelegationTokens("foo", null);
  fs.close();
  Assert.assertEquals(1, tokens.length);
  fs = FileSystem.get(uri, conf);
  ((DelegationTokenRenewer.Renewable) fs).setDelegationToken(tokens[0]);
  fs.listStatus(new Path("/"));
  fs.close();
}
项目:hops    文件:TestHttpFSWithKerberos.java   
@SuppressWarnings("deprecation")
private void testDelegationTokenWithFS(Class fileSystemClass)
    throws Exception {
  createHttpFSServer();
  Configuration conf = new Configuration();
  conf.set("fs.webhdfs.impl", fileSystemClass.getName());
  conf.set("fs.hdfs.impl.disable.cache", "true");
  URI uri = new URI(
      "webhdfs://" + TestJettyHelper.getJettyURL().toURI().getAuthority());
  FileSystem fs = FileSystem.get(uri, conf);
  Token<?> tokens[] = fs.addDelegationTokens("foo", null);
  fs.close();
  Assert.assertEquals(1, tokens.length);
  fs = FileSystem.get(uri, conf);
  ((DelegationTokenRenewer.Renewable) fs).setDelegationToken(tokens[0]);
  fs.listStatus(new Path("/"));
  fs.close();
}
项目:hadoop-TCP    文件:TestHttpFSWithKerberos.java   
@SuppressWarnings("deprecation")
private void testDelegationTokenWithFS(Class fileSystemClass)
  throws Exception {
  createHttpFSServer();
  Configuration conf = new Configuration();
  conf.set("fs.webhdfs.impl", fileSystemClass.getName());
  conf.set("fs.hdfs.impl.disable.cache", "true");
  URI uri = new URI( "webhdfs://" +
                     TestJettyHelper.getJettyURL().toURI().getAuthority());
  FileSystem fs = FileSystem.get(uri, conf);
  Token<?> tokens[] = fs.addDelegationTokens("foo", null);
  fs.close();
  Assert.assertEquals(1, tokens.length);
  fs = FileSystem.get(uri, conf);
  ((DelegationTokenRenewer.Renewable) fs).setDelegationToken(tokens[0]);
  fs.listStatus(new Path("/"));
  fs.close();
}
项目:hardfs    文件:TestHttpFSWithKerberos.java   
@SuppressWarnings("deprecation")
private void testDelegationTokenWithFS(Class fileSystemClass)
  throws Exception {
  createHttpFSServer();
  Configuration conf = new Configuration();
  conf.set("fs.webhdfs.impl", fileSystemClass.getName());
  conf.set("fs.hdfs.impl.disable.cache", "true");
  URI uri = new URI( "webhdfs://" +
                     TestJettyHelper.getJettyURL().toURI().getAuthority());
  FileSystem fs = FileSystem.get(uri, conf);
  Token<?> tokens[] = fs.addDelegationTokens("foo", null);
  fs.close();
  Assert.assertEquals(1, tokens.length);
  fs = FileSystem.get(uri, conf);
  ((DelegationTokenRenewer.Renewable) fs).setDelegationToken(tokens[0]);
  fs.listStatus(new Path("/"));
  fs.close();
}
项目:hadoop-on-lustre2    文件:TestHttpFSWithKerberos.java   
@SuppressWarnings("deprecation")
private void testDelegationTokenWithFS(Class fileSystemClass)
  throws Exception {
  createHttpFSServer();
  Configuration conf = new Configuration();
  conf.set("fs.webhdfs.impl", fileSystemClass.getName());
  conf.set("fs.hdfs.impl.disable.cache", "true");
  URI uri = new URI( "webhdfs://" +
                     TestJettyHelper.getJettyURL().toURI().getAuthority());
  FileSystem fs = FileSystem.get(uri, conf);
  Token<?> tokens[] = fs.addDelegationTokens("foo", null);
  fs.close();
  Assert.assertEquals(1, tokens.length);
  fs = FileSystem.get(uri, conf);
  ((DelegationTokenRenewer.Renewable) fs).setDelegationToken(tokens[0]);
  fs.listStatus(new Path("/"));
  fs.close();
}
项目:hadoop    文件:TokenAspect.java   
private synchronized void addRenewAction(final T webhdfs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  action = dtRenewer.addRenewAction(webhdfs);
}
项目:aliyun-oss-hadoop-fs    文件:TokenAspect.java   
private synchronized void addRenewAction(final T webhdfs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  action = dtRenewer.addRenewAction(webhdfs);
}
项目:big-c    文件:TokenAspect.java   
private synchronized void addRenewAction(final T webhdfs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  action = dtRenewer.addRenewAction(webhdfs);
}
项目:hadoop-2.6.0-cdh5.4.3    文件:TokenAspect.java   
private synchronized void addRenewAction(final T webhdfs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  action = dtRenewer.addRenewAction(webhdfs);
}
项目:hadoop-plus    文件:WebHdfsFileSystem.java   
@VisibleForTesting
protected synchronized void addRenewAction(final WebHdfsFileSystem webhdfs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  action = dtRenewer.addRenewAction(webhdfs);
}
项目:hadoop-plus    文件:HftpFileSystem.java   
private synchronized void addRenewAction(final HftpFileSystem hftpFs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  dtRenewer.addRenewAction(hftpFs);
}
项目:FlexMap    文件:TokenAspect.java   
private synchronized void addRenewAction(final T webhdfs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  action = dtRenewer.addRenewAction(webhdfs);
}
项目:hops    文件:HftpFileSystem.java   
private synchronized void addRenewAction(final HftpFileSystem hftpFs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  dtRenewer.addRenewAction(hftpFs);
}
项目:hops    文件:WebHdfsFileSystem.java   
private synchronized void addRenewAction(final WebHdfsFileSystem webhdfs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  dtRenewer.addRenewAction(webhdfs);
}
项目:hadoop-TCP    文件:WebHdfsFileSystem.java   
@VisibleForTesting
protected synchronized void addRenewAction(final WebHdfsFileSystem webhdfs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  action = dtRenewer.addRenewAction(webhdfs);
}
项目:hadoop-TCP    文件:HftpFileSystem.java   
private synchronized void addRenewAction(final HftpFileSystem hftpFs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  dtRenewer.addRenewAction(hftpFs);
}
项目:hardfs    文件:WebHdfsFileSystem.java   
@VisibleForTesting
protected synchronized void addRenewAction(final WebHdfsFileSystem webhdfs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  action = dtRenewer.addRenewAction(webhdfs);
}
项目:hardfs    文件:HftpFileSystem.java   
private synchronized void addRenewAction(final HftpFileSystem hftpFs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  dtRenewer.addRenewAction(hftpFs);
}
项目:hadoop-on-lustre2    文件:TokenAspect.java   
private synchronized void addRenewAction(final T webhdfs) {
  if (dtRenewer == null) {
    dtRenewer = DelegationTokenRenewer.getInstance();
  }

  action = dtRenewer.addRenewAction(webhdfs);
}
项目:hadoop    文件:TestTokenAspect.java   
@Test
public void testRenewal() throws Exception {
  Configuration conf = new Configuration();
  Token<?> token1 = mock(Token.class);
  Token<?> token2 = mock(Token.class);
  final long renewCycle = 100;
  DelegationTokenRenewer.renewCycle = renewCycle;

  UserGroupInformation ugi = UserGroupInformation.createUserForTesting("foo",
      new String[] { "bar" });
  DummyFs fs = spy(new DummyFs());

  doReturn(token1).doReturn(token2).when(fs).getDelegationToken(null);
  doReturn(token1).when(fs).getRenewToken();
  // cause token renewer to abandon the token
  doThrow(new IOException("renew failed")).when(token1).renew(conf);
  doThrow(new IOException("get failed")).when(fs).addDelegationTokens(null,
      null);

  final URI uri = new URI("dummyfs://127.0.0.1:1234");
  TokenAspect<DummyFs> tokenAspect = new TokenAspect<DummyFs>(fs,
      SecurityUtil.buildTokenService(uri), DummyFs.TOKEN_KIND);
  fs.initialize(uri, conf);
  tokenAspect.initDelegationToken(ugi);

  // trigger token acquisition
  tokenAspect.ensureTokenInitialized();
  DelegationTokenRenewer.RenewAction<?> action = getActionFromTokenAspect(tokenAspect);
  verify(fs).setDelegationToken(token1);
  assertTrue(action.isValid());

  // upon renewal, token will go bad based on above stubbing
  Thread.sleep(renewCycle * 2);
  assertSame(action, getActionFromTokenAspect(tokenAspect));
  assertFalse(action.isValid());

  // now that token is invalid, should get a new one
  tokenAspect.ensureTokenInitialized();
  verify(fs, times(2)).getDelegationToken(anyString());
  verify(fs).setDelegationToken(token2);
  assertNotSame(action, getActionFromTokenAspect(tokenAspect));

  action = getActionFromTokenAspect(tokenAspect);
  assertTrue(action.isValid());
}
项目:aliyun-oss-hadoop-fs    文件:TestTokenAspect.java   
@Test
public void testRenewal() throws Exception {
  Configuration conf = new Configuration();
  Token<?> token1 = mock(Token.class);
  Token<?> token2 = mock(Token.class);
  final long renewCycle = 100;
  DelegationTokenRenewer.renewCycle = renewCycle;

  UserGroupInformation ugi = UserGroupInformation.createUserForTesting("foo",
      new String[] { "bar" });
  DummyFs fs = spy(new DummyFs());

  doReturn(token1).doReturn(token2).when(fs).getDelegationToken(null);
  doReturn(token1).when(fs).getRenewToken();
  // cause token renewer to abandon the token
  doThrow(new IOException("renew failed")).when(token1).renew(conf);
  doThrow(new IOException("get failed")).when(fs).addDelegationTokens(null,
      null);

  final URI uri = new URI("dummyfs://127.0.0.1:1234");
  TokenAspect<DummyFs> tokenAspect = new TokenAspect<DummyFs>(fs,
      SecurityUtil.buildTokenService(uri), DummyFs.TOKEN_KIND);
  fs.initialize(uri, conf);
  tokenAspect.initDelegationToken(ugi);

  // trigger token acquisition
  tokenAspect.ensureTokenInitialized();
  DelegationTokenRenewer.RenewAction<?> action = getActionFromTokenAspect(tokenAspect);
  verify(fs).setDelegationToken(token1);
  assertTrue(action.isValid());

  // upon renewal, token will go bad based on above stubbing
  Thread.sleep(renewCycle * 2);
  assertSame(action, getActionFromTokenAspect(tokenAspect));
  assertFalse(action.isValid());

  // now that token is invalid, should get a new one
  tokenAspect.ensureTokenInitialized();
  verify(fs, times(2)).getDelegationToken(anyString());
  verify(fs).setDelegationToken(token2);
  assertNotSame(action, getActionFromTokenAspect(tokenAspect));

  action = getActionFromTokenAspect(tokenAspect);
  assertTrue(action.isValid());
}
项目:big-c    文件:TestTokenAspect.java   
@Test
public void testRenewal() throws Exception {
  Configuration conf = new Configuration();
  Token<?> token1 = mock(Token.class);
  Token<?> token2 = mock(Token.class);
  final long renewCycle = 100;
  DelegationTokenRenewer.renewCycle = renewCycle;

  UserGroupInformation ugi = UserGroupInformation.createUserForTesting("foo",
      new String[] { "bar" });
  DummyFs fs = spy(new DummyFs());

  doReturn(token1).doReturn(token2).when(fs).getDelegationToken(null);
  doReturn(token1).when(fs).getRenewToken();
  // cause token renewer to abandon the token
  doThrow(new IOException("renew failed")).when(token1).renew(conf);
  doThrow(new IOException("get failed")).when(fs).addDelegationTokens(null,
      null);

  final URI uri = new URI("dummyfs://127.0.0.1:1234");
  TokenAspect<DummyFs> tokenAspect = new TokenAspect<DummyFs>(fs,
      SecurityUtil.buildTokenService(uri), DummyFs.TOKEN_KIND);
  fs.initialize(uri, conf);
  tokenAspect.initDelegationToken(ugi);

  // trigger token acquisition
  tokenAspect.ensureTokenInitialized();
  DelegationTokenRenewer.RenewAction<?> action = getActionFromTokenAspect(tokenAspect);
  verify(fs).setDelegationToken(token1);
  assertTrue(action.isValid());

  // upon renewal, token will go bad based on above stubbing
  Thread.sleep(renewCycle * 2);
  assertSame(action, getActionFromTokenAspect(tokenAspect));
  assertFalse(action.isValid());

  // now that token is invalid, should get a new one
  tokenAspect.ensureTokenInitialized();
  verify(fs, times(2)).getDelegationToken(anyString());
  verify(fs).setDelegationToken(token2);
  assertNotSame(action, getActionFromTokenAspect(tokenAspect));

  action = getActionFromTokenAspect(tokenAspect);
  assertTrue(action.isValid());
}
项目:hadoop-2.6.0-cdh5.4.3    文件:TestTokenAspect.java   
@Test
public void testRenewal() throws Exception {
  Configuration conf = new Configuration();
  Token<?> token1 = mock(Token.class);
  Token<?> token2 = mock(Token.class);
  final long renewCycle = 100;
  DelegationTokenRenewer.renewCycle = renewCycle;

  UserGroupInformation ugi = UserGroupInformation.createUserForTesting("foo",
      new String[] { "bar" });
  DummyFs fs = spy(new DummyFs());

  doReturn(token1).doReturn(token2).when(fs).getDelegationToken(null);
  doReturn(token1).when(fs).getRenewToken();
  // cause token renewer to abandon the token
  doThrow(new IOException("renew failed")).when(token1).renew(conf);
  doThrow(new IOException("get failed")).when(fs).addDelegationTokens(null,
      null);

  final URI uri = new URI("dummyfs://127.0.0.1:1234");
  TokenAspect<DummyFs> tokenAspect = new TokenAspect<DummyFs>(fs,
      SecurityUtil.buildTokenService(uri), DummyFs.TOKEN_KIND);
  fs.initialize(uri, conf);
  tokenAspect.initDelegationToken(ugi);

  // trigger token acquisition
  tokenAspect.ensureTokenInitialized();
  DelegationTokenRenewer.RenewAction<?> action = getActionFromTokenAspect(tokenAspect);
  verify(fs).setDelegationToken(token1);
  assertTrue(action.isValid());

  // upon renewal, token will go bad based on above stubbing
  Thread.sleep(renewCycle * 2);
  assertSame(action, getActionFromTokenAspect(tokenAspect));
  assertFalse(action.isValid());

  // now that token is invalid, should get a new one
  tokenAspect.ensureTokenInitialized();
  verify(fs, times(2)).getDelegationToken(anyString());
  verify(fs).setDelegationToken(token2);
  assertNotSame(action, getActionFromTokenAspect(tokenAspect));

  action = getActionFromTokenAspect(tokenAspect);
  assertTrue(action.isValid());
}
项目:hadoop-plus    文件:TestWebHdfsTokens.java   
@Test
public void testGetTokenAfterFailure() throws Exception {
  Configuration conf = mock(Configuration.class);
  Token<?> token1 = mock(Token.class);
  Token<?> token2 = mock(Token.class);
  long renewCycle = 1000;

  DelegationTokenRenewer.renewCycle = renewCycle;
  WebHdfsFileSystem fs = spy(new WebHdfsFileSystem());
  doReturn(conf).when(fs).getConf();
  doReturn(token1).doReturn(token2).when(fs).getDelegationToken(null);
  // cause token renewer to abandon the token
  doThrow(new IOException("renew failed")).when(token1).renew(conf);
  doThrow(new IOException("get failed")).when(fs).addDelegationTokens(null, null);

  // trigger token acquisition
  Token<?> token = fs.getDelegationToken();
  RenewAction<?> action = fs.action; 
  assertSame(token1, token);
  assertTrue(action.isValid());

  // fetch again and make sure it's the same as before
  token = fs.getDelegationToken();
  assertSame(token1, token);
  assertSame(action, fs.action);
  assertTrue(fs.action.isValid());

  // upon renewal, token will go bad based on above stubbing
  Thread.sleep(renewCycle);
  assertSame(action, fs.action);
  assertFalse(fs.action.isValid());

  // now that token is invalid, should get a new one
  token = fs.getDelegationToken();
  assertSame(token2, token);
  assertNotSame(action, fs.action);
  assertTrue(fs.action.isValid());
  action = fs.action;

  // should get same one again
  token = fs.getDelegationToken();
  assertSame(token2, token);
  assertSame(action, fs.action);
  assertTrue(fs.action.isValid());
}
项目:FlexMap    文件:TestTokenAspect.java   
@Test
public void testRenewal() throws Exception {
  Configuration conf = new Configuration();
  Token<?> token1 = mock(Token.class);
  Token<?> token2 = mock(Token.class);
  final long renewCycle = 100;
  DelegationTokenRenewer.renewCycle = renewCycle;

  UserGroupInformation ugi = UserGroupInformation.createUserForTesting("foo",
      new String[] { "bar" });
  DummyFs fs = spy(new DummyFs());

  doReturn(token1).doReturn(token2).when(fs).getDelegationToken(null);
  doReturn(token1).when(fs).getRenewToken();
  // cause token renewer to abandon the token
  doThrow(new IOException("renew failed")).when(token1).renew(conf);
  doThrow(new IOException("get failed")).when(fs).addDelegationTokens(null,
      null);

  final URI uri = new URI("dummyfs://127.0.0.1:1234");
  TokenAspect<DummyFs> tokenAspect = new TokenAspect<DummyFs>(fs,
      SecurityUtil.buildTokenService(uri), DummyFs.TOKEN_KIND);
  fs.initialize(uri, conf);
  tokenAspect.initDelegationToken(ugi);

  // trigger token acquisition
  tokenAspect.ensureTokenInitialized();
  DelegationTokenRenewer.RenewAction<?> action = getActionFromTokenAspect(tokenAspect);
  verify(fs).setDelegationToken(token1);
  assertTrue(action.isValid());

  // upon renewal, token will go bad based on above stubbing
  Thread.sleep(renewCycle * 2);
  assertSame(action, getActionFromTokenAspect(tokenAspect));
  assertFalse(action.isValid());

  // now that token is invalid, should get a new one
  tokenAspect.ensureTokenInitialized();
  verify(fs, times(2)).getDelegationToken(anyString());
  verify(fs).setDelegationToken(token2);
  assertNotSame(action, getActionFromTokenAspect(tokenAspect));

  action = getActionFromTokenAspect(tokenAspect);
  assertTrue(action.isValid());
}
项目:hadoop-TCP    文件:TestWebHdfsTokens.java   
@Test
public void testGetTokenAfterFailure() throws Exception {
  Configuration conf = mock(Configuration.class);
  Token<?> token1 = mock(Token.class);
  Token<?> token2 = mock(Token.class);
  long renewCycle = 1000;

  DelegationTokenRenewer.renewCycle = renewCycle;
  WebHdfsFileSystem fs = spy(new WebHdfsFileSystem());
  doReturn(conf).when(fs).getConf();
  doReturn(token1).doReturn(token2).when(fs).getDelegationToken(null);
  // cause token renewer to abandon the token
  doThrow(new IOException("renew failed")).when(token1).renew(conf);
  doThrow(new IOException("get failed")).when(fs).addDelegationTokens(null, null);

  // trigger token acquisition
  Token<?> token = fs.getDelegationToken();
  RenewAction<?> action = fs.action; 
  assertSame(token1, token);
  assertTrue(action.isValid());

  // fetch again and make sure it's the same as before
  token = fs.getDelegationToken();
  assertSame(token1, token);
  assertSame(action, fs.action);
  assertTrue(fs.action.isValid());

  // upon renewal, token will go bad based on above stubbing
  Thread.sleep(renewCycle);
  assertSame(action, fs.action);
  assertFalse(fs.action.isValid());

  // now that token is invalid, should get a new one
  token = fs.getDelegationToken();
  assertSame(token2, token);
  assertNotSame(action, fs.action);
  assertTrue(fs.action.isValid());
  action = fs.action;

  // should get same one again
  token = fs.getDelegationToken();
  assertSame(token2, token);
  assertSame(action, fs.action);
  assertTrue(fs.action.isValid());
}
项目:hardfs    文件:TestWebHdfsTokens.java   
@Test
public void testGetTokenAfterFailure() throws Exception {
  Configuration conf = mock(Configuration.class);
  Token<?> token1 = mock(Token.class);
  Token<?> token2 = mock(Token.class);
  long renewCycle = 1000;

  DelegationTokenRenewer.renewCycle = renewCycle;
  WebHdfsFileSystem fs = spy(new WebHdfsFileSystem());
  doReturn(conf).when(fs).getConf();
  doReturn(token1).doReturn(token2).when(fs).getDelegationToken(null);
  // cause token renewer to abandon the token
  doThrow(new IOException("renew failed")).when(token1).renew(conf);
  doThrow(new IOException("get failed")).when(fs).addDelegationTokens(null, null);

  // trigger token acquisition
  Token<?> token = fs.getDelegationToken();
  RenewAction<?> action = fs.action; 
  assertSame(token1, token);
  assertTrue(action.isValid());

  // fetch again and make sure it's the same as before
  token = fs.getDelegationToken();
  assertSame(token1, token);
  assertSame(action, fs.action);
  assertTrue(fs.action.isValid());

  // upon renewal, token will go bad based on above stubbing
  Thread.sleep(renewCycle);
  assertSame(action, fs.action);
  assertFalse(fs.action.isValid());

  // now that token is invalid, should get a new one
  token = fs.getDelegationToken();
  assertSame(token2, token);
  assertNotSame(action, fs.action);
  assertTrue(fs.action.isValid());
  action = fs.action;

  // should get same one again
  token = fs.getDelegationToken();
  assertSame(token2, token);
  assertSame(action, fs.action);
  assertTrue(fs.action.isValid());
}
项目:hadoop-on-lustre2    文件:TestTokenAspect.java   
@Test
public void testRenewal() throws Exception {
  Configuration conf = new Configuration();
  Token<?> token1 = mock(Token.class);
  Token<?> token2 = mock(Token.class);
  final long renewCycle = 100;
  DelegationTokenRenewer.renewCycle = renewCycle;

  UserGroupInformation ugi = UserGroupInformation.createUserForTesting("foo",
      new String[] { "bar" });
  DummyFs fs = spy(new DummyFs());

  doReturn(token1).doReturn(token2).when(fs).getDelegationToken(null);
  doReturn(token1).when(fs).getRenewToken();
  // cause token renewer to abandon the token
  doThrow(new IOException("renew failed")).when(token1).renew(conf);
  doThrow(new IOException("get failed")).when(fs).addDelegationTokens(null,
      null);

  final URI uri = new URI("dummyfs://127.0.0.1:1234");
  TokenAspect<DummyFs> tokenAspect = new TokenAspect<DummyFs>(fs,
      SecurityUtil.buildTokenService(uri), DummyFs.TOKEN_KIND);
  fs.initialize(uri, conf);
  tokenAspect.initDelegationToken(ugi);

  // trigger token acquisition
  tokenAspect.ensureTokenInitialized();
  DelegationTokenRenewer.RenewAction<?> action = getActionFromTokenAspect(tokenAspect);
  verify(fs).setDelegationToken(token1);
  assertTrue(action.isValid());

  // upon renewal, token will go bad based on above stubbing
  Thread.sleep(renewCycle * 2);
  assertSame(action, getActionFromTokenAspect(tokenAspect));
  assertFalse(action.isValid());

  // now that token is invalid, should get a new one
  tokenAspect.ensureTokenInitialized();
  verify(fs, times(2)).getDelegationToken(anyString());
  verify(fs).setDelegationToken(token2);
  assertNotSame(action, getActionFromTokenAspect(tokenAspect));

  action = getActionFromTokenAspect(tokenAspect);
  assertTrue(action.isValid());
}