Example usage for org.apache.hadoop.yarn.client.api NMTokenCache setNMToken

List of usage examples for org.apache.hadoop.yarn.client.api NMTokenCache setNMToken

Introduction

In this page you can find the example usage for org.apache.hadoop.yarn.client.api NMTokenCache setNMToken.

Prototype

@Public
public static void setNMToken(String nodeAddr, Token token) 

Source Link

Document

Sets the NMToken for node address only in the singleton obtained from #getSingleton() .

Usage

From source file:org.springframework.yarn.am.allocate.AbstractPollingAllocator.java

License:Apache License

/**
 * Populate node manager token cache in {@link NMTokenCache}.
 *
 * @param allocateResponse the allocate response
 *//*  ww  w . j  av  a2  s.  co m*/
protected void populateNmTokenCache(AllocateResponse allocateResponse) {
    // TODO: consider replacing hadoop NMTokenCache to non-static cache
    for (NMToken token : allocateResponse.getNMTokens()) {
        String nodeId = token.getNodeId().toString();
        if (log.isDebugEnabled()) {
            log.info("Token from allocateResponse token=" + token);
            if (NMTokenCache.containsNMToken(nodeId)) {
                log.debug("Replacing token for : " + nodeId);
            } else {
                log.debug("Received new token for : " + nodeId);
            }
        }
        NMTokenCache.setNMToken(nodeId, token.getToken());
    }
}

From source file:org.springframework.yarn.am.NMTokenCacheTests.java

License:Apache License

@Test
public void testTokenCacheGenericUsage() {
    // cdh//from  www . ja v a 2  s . c om
    // static org.apache.hadoop.yarn.client.api.NMTokenCache.getSingleton()
    // void org.apache.hadoop.yarn.client.api.NMTokenCache.setNMToken(String, Token)

    // vanilla
    // static void org.apache.hadoop.yarn.client.api.NMTokenCache.setNMToken(String, Token)

    NMTokenCache cache1 = NMTokenCacheCompat.getNMTokenCache();
    NMTokenCache cache2 = NMTokenCacheCompat.getNMTokenCache();
    cache1.setNMToken("nodeAddr1", new TestToken("kind1"));
    cache2.setNMToken("nodeAddr2", new TestToken("kind2"));

    assertThat(cache1.getNMToken("nodeAddr1").getKind(), is("kind1"));
    assertThat(cache2.getNMToken("nodeAddr1").getKind(), is("kind1"));
    assertThat(cache1.getNMToken("nodeAddr2").getKind(), is("kind2"));
    assertThat(cache2.getNMToken("nodeAddr2").getKind(), is("kind2"));

    assertThat(cache1, sameInstance(cache2));
    assertThat(NMTokenCacheCompat.getNMTokenCache(), sameInstance(NMTokenCacheCompat.getNMTokenCache()));
}