hadoop-yarn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tarun Parimi (JIRA)" <j...@apache.org>
Subject [jira] [Created] (YARN-9224) TimelineDelegationTokenIdentifier.Renewer contacts KDC for every renew/cancel token operation
Date Wed, 23 Jan 2019 09:07:00 GMT
Tarun Parimi created YARN-9224:
----------------------------------

             Summary: TimelineDelegationTokenIdentifier.Renewer contacts KDC for every renew/cancel
token operation
                 Key: YARN-9224
                 URL: https://issues.apache.org/jira/browse/YARN-9224
             Project: Hadoop YARN
          Issue Type: Bug
    Affects Versions: 2.7.3, 2.6.0
            Reporter: Tarun Parimi


In a production cluster, we have observed the active RM principal making excessive requests
to the KDC server. Being a service principal, this shouldn't be the case normally.

On capturing tcpdump for the connections between RM and KDC, we saw that these excessive requests
were for the SPNEGO service HTTP/ats-host.example.com .

The requests were also matching in frequency with the below log entry in RM.
{code:java}
2019-01-09T03:41:56.048-0500 INFO org.apache.hadoop.yarn.client.api.impl.TimelineClientImpl:
Timeline service address: http://ats-host.example.com:8188/ws/v1/timeline/ 
{code}
On looking at the code in TimelineDelegationTokenIdentifier.java, it seems this kdc request
for SPNEGO is done as we are creating a new timeline client instance every time.
{code:java}
@SuppressWarnings("unchecked")
    @Override
    public long renew(Token<?> token, Configuration conf) throws IOException,
        InterruptedException {
      TimelineClient client = TimelineClient.createTimelineClient();
      try {
        client.init(conf);
        client.start();
        return client.renewDelegationToken(
            (Token<TimelineDelegationTokenIdentifier>) token);
      } catch (YarnException e) {
        throw new IOException(e);
      } finally {
        client.stop();
      }
    }

    @SuppressWarnings("unchecked")
    @Override
    public void cancel(Token<?> token, Configuration conf) throws IOException,
        InterruptedException {
      TimelineClient client = TimelineClient.createTimelineClient();
      try {
        client.init(conf);
        client.start();
        client.cancelDelegationToken(
            (Token<TimelineDelegationTokenIdentifier>) token);
      } catch (YarnException e) {
        throw new IOException(e);
      } finally {
        client.stop();
      }
    }{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-dev-help@hadoop.apache.org


Mime
View raw message