@Override
        public RenewDelegationTokenResponse renewDelegationToken(RenewDelegationTokenRequest request)
                throws IOException {
            if (!isAllowedDelegationTokenOp()) {
                throw new IOException("Delegation Token can be renewed only with kerberos authentication");
            }

            org.apache.hadoop.yarn.api.records.Token protoToken = request.getDelegationToken();
            Token<MRDelegationTokenIdentifier> token = new Token<MRDelegationTokenIdentifier>(
                    protoToken.getIdentifier().array(),
                    protoToken.getPassword().array(),
                    new Text(protoToken.getKind()),
                    new Text(protoToken.getService()));

            String user = UserGroupInformation.getCurrentUser().getShortUserName();
            long nextExpTime = jhsDTSecretManager.renewToken(token, user);
            RenewDelegationTokenResponse renewResponse = Records.newRecord(RenewDelegationTokenResponse.class);
            renewResponse.setNextExpirationTime(nextExpTime);
            return renewResponse;
        }
This module is responsible for talking to the
JobClient (user facing).
history-server/src/main/java/net/qihoo/hbox/jobhistory/HistoryClientService.java