/// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/>
 public override RenewDelegationTokenResponse RenewDelegationToken(RenewDelegationTokenRequest
                                                                   request)
 {
     this._enclosing.ResetStartFailoverFlag(true);
     // make sure failover has been triggered
     NUnit.Framework.Assert.IsTrue(this._enclosing.WaittingForFailOver());
     return(RenewDelegationTokenResponse.NewInstance(this._enclosing.CreateNextExpirationTime
                                                         ()));
 }
        /// <exception cref="Com.Google.Protobuf.ServiceException"/>
        public virtual SecurityProtos.RenewDelegationTokenResponseProto RenewDelegationToken
            (RpcController controller, SecurityProtos.RenewDelegationTokenRequestProto proto
            )
        {
            RenewDelegationTokenRequestPBImpl request = new RenewDelegationTokenRequestPBImpl
                                                            (proto);

            try
            {
                RenewDelegationTokenResponse response = real.RenewDelegationToken(request);
                return(((RenewDelegationTokenResponsePBImpl)response).GetProto());
            }
            catch (IOException e)
            {
                throw new ServiceException(e);
            }
        }
Example #3
0
            /// <exception cref="System.IO.IOException"/>
            public virtual RenewDelegationTokenResponse RenewDelegationToken(RenewDelegationTokenRequest
                                                                             request)
            {
                if (!this.IsAllowedDelegationTokenOp())
                {
                    throw new IOException("Delegation Token can be renewed only with kerberos authentication"
                                          );
                }
                Org.Apache.Hadoop.Yarn.Api.Records.Token protoToken = request.GetDelegationToken(
                    );
                Org.Apache.Hadoop.Security.Token.Token <MRDelegationTokenIdentifier> token = new Org.Apache.Hadoop.Security.Token.Token
                                                                                             <MRDelegationTokenIdentifier>(((byte[])protoToken.GetIdentifier().Array()), ((byte
                                                                                                                                                                           [])protoToken.GetPassword().Array()), new Text(protoToken.GetKind()), new Text(protoToken
                                                                                                                                                                                                                                                          .GetService()));
                string user        = UserGroupInformation.GetCurrentUser().GetShortUserName();
                long   nextExpTime = this._enclosing.jhsDTSecretManager.RenewToken(token, user);
                RenewDelegationTokenResponse renewResponse = Org.Apache.Hadoop.Yarn.Util.Records.
                                                             NewRecord <RenewDelegationTokenResponse>();

                renewResponse.SetNextExpirationTime(nextExpTime);
                return(renewResponse);
            }