Class RouterWebHdfsMethods

java.lang.Object
org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods
org.apache.hadoop.hdfs.server.federation.router.RouterWebHdfsMethods

@Path("") public class RouterWebHdfsMethods extends org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods
WebHDFS Router implementation. This is an extension of NamenodeWebHdfsMethods, and tries to reuse as much as possible.
  • Constructor Summary

    Constructors
    Constructor
    Description
    RouterWebHdfsMethods(javax.servlet.http.HttpServletRequest request)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.hadoop.security.Credentials
    createCredentials(org.apache.hadoop.security.UserGroupInformation ugi, String renewer)
    Generate the credentials for this request.
    protected javax.ws.rs.core.Response
    get(org.apache.hadoop.security.UserGroupInformation ugi, org.apache.hadoop.hdfs.web.resources.DelegationParam delegation, org.apache.hadoop.hdfs.web.resources.UserParam username, org.apache.hadoop.hdfs.web.resources.DoAsParam doAsUser, String fullpath, org.apache.hadoop.hdfs.web.resources.GetOpParam op, org.apache.hadoop.hdfs.web.resources.OffsetParam offset, org.apache.hadoop.hdfs.web.resources.LengthParam length, org.apache.hadoop.hdfs.web.resources.RenewerParam renewer, org.apache.hadoop.hdfs.web.resources.BufferSizeParam bufferSize, List<org.apache.hadoop.hdfs.web.resources.XAttrNameParam> xattrNames, org.apache.hadoop.hdfs.web.resources.XAttrEncodingParam xattrEncoding, org.apache.hadoop.hdfs.web.resources.ExcludeDatanodesParam excludeDatanodes, org.apache.hadoop.hdfs.web.resources.FsActionParam fsAction, org.apache.hadoop.hdfs.web.resources.SnapshotNameParam snapshotName, org.apache.hadoop.hdfs.web.resources.OldSnapshotNameParam oldSnapshotName, org.apache.hadoop.hdfs.web.resources.SnapshotDiffStartPathParam snapshotDiffStartPath, org.apache.hadoop.hdfs.web.resources.SnapshotDiffIndexParam snapshotDiffIndex, org.apache.hadoop.hdfs.web.resources.TokenKindParam tokenKind, org.apache.hadoop.hdfs.web.resources.TokenServiceParam tokenService, org.apache.hadoop.hdfs.web.resources.NoRedirectParam noredirectParam, org.apache.hadoop.hdfs.web.resources.StartAfterParam startAfter, org.apache.hadoop.hdfs.web.resources.AllUsersParam allUsers)
     
    static String
    Get the nameservice info from datanode network location.
    protected String
     
    protected org.apache.hadoop.hdfs.protocol.ClientProtocol
     
    protected void
    init(org.apache.hadoop.security.UserGroupInformation ugi, org.apache.hadoop.hdfs.web.resources.DelegationParam delegation, org.apache.hadoop.hdfs.web.resources.UserParam username, org.apache.hadoop.hdfs.web.resources.DoAsParam doAsUser, org.apache.hadoop.hdfs.web.resources.UriFsPathParam path, org.apache.hadoop.hdfs.web.resources.HttpOpParam<?> op, org.apache.hadoop.hdfs.web.resources.Param<?,?>... parameters)
     
    protected javax.ws.rs.core.Response
    post(org.apache.hadoop.security.UserGroupInformation ugi, org.apache.hadoop.hdfs.web.resources.DelegationParam delegation, org.apache.hadoop.hdfs.web.resources.UserParam username, org.apache.hadoop.hdfs.web.resources.DoAsParam doAsUser, String fullpath, org.apache.hadoop.hdfs.web.resources.PostOpParam op, org.apache.hadoop.hdfs.web.resources.ConcatSourcesParam concatSrcs, org.apache.hadoop.hdfs.web.resources.BufferSizeParam bufferSize, org.apache.hadoop.hdfs.web.resources.ExcludeDatanodesParam excludeDatanodes, org.apache.hadoop.hdfs.web.resources.NewLengthParam newLength, org.apache.hadoop.hdfs.web.resources.NoRedirectParam noRedirectParam)
     
    protected javax.ws.rs.core.Response
    put(org.apache.hadoop.security.UserGroupInformation ugi, org.apache.hadoop.hdfs.web.resources.DelegationParam delegation, org.apache.hadoop.hdfs.web.resources.UserParam username, org.apache.hadoop.hdfs.web.resources.DoAsParam doAsUser, String fullpath, org.apache.hadoop.hdfs.web.resources.PutOpParam op, org.apache.hadoop.hdfs.web.resources.DestinationParam destination, org.apache.hadoop.hdfs.web.resources.OwnerParam owner, org.apache.hadoop.hdfs.web.resources.GroupParam group, org.apache.hadoop.hdfs.web.resources.PermissionParam permission, org.apache.hadoop.hdfs.web.resources.UnmaskedPermissionParam unmaskedPermission, org.apache.hadoop.hdfs.web.resources.OverwriteParam overwrite, org.apache.hadoop.hdfs.web.resources.BufferSizeParam bufferSize, org.apache.hadoop.hdfs.web.resources.ReplicationParam replication, org.apache.hadoop.hdfs.web.resources.BlockSizeParam blockSize, org.apache.hadoop.hdfs.web.resources.ModificationTimeParam modificationTime, org.apache.hadoop.hdfs.web.resources.AccessTimeParam accessTime, org.apache.hadoop.hdfs.web.resources.RenameOptionSetParam renameOptions, org.apache.hadoop.hdfs.web.resources.CreateParentParam createParent, org.apache.hadoop.hdfs.web.resources.TokenArgumentParam delegationTokenArgument, org.apache.hadoop.hdfs.web.resources.AclPermissionParam aclPermission, org.apache.hadoop.hdfs.web.resources.XAttrNameParam xattrName, org.apache.hadoop.hdfs.web.resources.XAttrValueParam xattrValue, org.apache.hadoop.hdfs.web.resources.XAttrSetFlagParam xattrSetFlag, org.apache.hadoop.hdfs.web.resources.SnapshotNameParam snapshotName, org.apache.hadoop.hdfs.web.resources.OldSnapshotNameParam oldSnapshotName, org.apache.hadoop.hdfs.web.resources.ExcludeDatanodesParam exclDatanodes, org.apache.hadoop.hdfs.web.resources.CreateFlagParam createFlagParam, org.apache.hadoop.hdfs.web.resources.NoRedirectParam noredirectParam, org.apache.hadoop.hdfs.web.resources.StoragePolicyParam policyName, org.apache.hadoop.hdfs.web.resources.ECPolicyParam ecpolicy, org.apache.hadoop.hdfs.web.resources.NameSpaceQuotaParam namespaceQuota, org.apache.hadoop.hdfs.web.resources.StorageSpaceQuotaParam storagespaceQuota, org.apache.hadoop.hdfs.web.resources.StorageTypeParam storageType)
     
    protected void
    queueExternalCall(org.apache.hadoop.ipc.ExternalCall call)
     

    Methods inherited from class org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods

    bestNode, cancelDelegationToken, delete, delete, deleteRoot, generateDelegationToken, get, getContext, getParent, getRemotePortFromJSPHelper, getRoot, getScheme, post, postRoot, put, putRoot, renewDelegationToken, validateOpParams

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RouterWebHdfsMethods

      public RouterWebHdfsMethods(@Context javax.servlet.http.HttpServletRequest request)
  • Method Details

    • init

      protected void init(org.apache.hadoop.security.UserGroupInformation ugi, org.apache.hadoop.hdfs.web.resources.DelegationParam delegation, org.apache.hadoop.hdfs.web.resources.UserParam username, org.apache.hadoop.hdfs.web.resources.DoAsParam doAsUser, org.apache.hadoop.hdfs.web.resources.UriFsPathParam path, org.apache.hadoop.hdfs.web.resources.HttpOpParam<?> op, org.apache.hadoop.hdfs.web.resources.Param<?,?>... parameters)
      Overrides:
      init in class org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods
    • getRpcClientProtocol

      protected org.apache.hadoop.hdfs.protocol.ClientProtocol getRpcClientProtocol() throws IOException
      Overrides:
      getRpcClientProtocol in class org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods
      Throws:
      IOException
    • getRemoteAddr

      protected String getRemoteAddr()
      Overrides:
      getRemoteAddr in class org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods
    • queueExternalCall

      protected void queueExternalCall(org.apache.hadoop.ipc.ExternalCall call) throws IOException, InterruptedException
      Overrides:
      queueExternalCall in class org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods
      Throws:
      IOException
      InterruptedException
    • put

      protected javax.ws.rs.core.Response put(org.apache.hadoop.security.UserGroupInformation ugi, org.apache.hadoop.hdfs.web.resources.DelegationParam delegation, org.apache.hadoop.hdfs.web.resources.UserParam username, org.apache.hadoop.hdfs.web.resources.DoAsParam doAsUser, String fullpath, org.apache.hadoop.hdfs.web.resources.PutOpParam op, org.apache.hadoop.hdfs.web.resources.DestinationParam destination, org.apache.hadoop.hdfs.web.resources.OwnerParam owner, org.apache.hadoop.hdfs.web.resources.GroupParam group, org.apache.hadoop.hdfs.web.resources.PermissionParam permission, org.apache.hadoop.hdfs.web.resources.UnmaskedPermissionParam unmaskedPermission, org.apache.hadoop.hdfs.web.resources.OverwriteParam overwrite, org.apache.hadoop.hdfs.web.resources.BufferSizeParam bufferSize, org.apache.hadoop.hdfs.web.resources.ReplicationParam replication, org.apache.hadoop.hdfs.web.resources.BlockSizeParam blockSize, org.apache.hadoop.hdfs.web.resources.ModificationTimeParam modificationTime, org.apache.hadoop.hdfs.web.resources.AccessTimeParam accessTime, org.apache.hadoop.hdfs.web.resources.RenameOptionSetParam renameOptions, org.apache.hadoop.hdfs.web.resources.CreateParentParam createParent, org.apache.hadoop.hdfs.web.resources.TokenArgumentParam delegationTokenArgument, org.apache.hadoop.hdfs.web.resources.AclPermissionParam aclPermission, org.apache.hadoop.hdfs.web.resources.XAttrNameParam xattrName, org.apache.hadoop.hdfs.web.resources.XAttrValueParam xattrValue, org.apache.hadoop.hdfs.web.resources.XAttrSetFlagParam xattrSetFlag, org.apache.hadoop.hdfs.web.resources.SnapshotNameParam snapshotName, org.apache.hadoop.hdfs.web.resources.OldSnapshotNameParam oldSnapshotName, org.apache.hadoop.hdfs.web.resources.ExcludeDatanodesParam exclDatanodes, org.apache.hadoop.hdfs.web.resources.CreateFlagParam createFlagParam, org.apache.hadoop.hdfs.web.resources.NoRedirectParam noredirectParam, org.apache.hadoop.hdfs.web.resources.StoragePolicyParam policyName, org.apache.hadoop.hdfs.web.resources.ECPolicyParam ecpolicy, org.apache.hadoop.hdfs.web.resources.NameSpaceQuotaParam namespaceQuota, org.apache.hadoop.hdfs.web.resources.StorageSpaceQuotaParam storagespaceQuota, org.apache.hadoop.hdfs.web.resources.StorageTypeParam storageType) throws IOException, URISyntaxException
      Overrides:
      put in class org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods
      Throws:
      IOException
      URISyntaxException
    • post

      protected javax.ws.rs.core.Response post(org.apache.hadoop.security.UserGroupInformation ugi, org.apache.hadoop.hdfs.web.resources.DelegationParam delegation, org.apache.hadoop.hdfs.web.resources.UserParam username, org.apache.hadoop.hdfs.web.resources.DoAsParam doAsUser, String fullpath, org.apache.hadoop.hdfs.web.resources.PostOpParam op, org.apache.hadoop.hdfs.web.resources.ConcatSourcesParam concatSrcs, org.apache.hadoop.hdfs.web.resources.BufferSizeParam bufferSize, org.apache.hadoop.hdfs.web.resources.ExcludeDatanodesParam excludeDatanodes, org.apache.hadoop.hdfs.web.resources.NewLengthParam newLength, org.apache.hadoop.hdfs.web.resources.NoRedirectParam noRedirectParam) throws IOException, URISyntaxException
      Overrides:
      post in class org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods
      Throws:
      IOException
      URISyntaxException
    • get

      protected javax.ws.rs.core.Response get(org.apache.hadoop.security.UserGroupInformation ugi, org.apache.hadoop.hdfs.web.resources.DelegationParam delegation, org.apache.hadoop.hdfs.web.resources.UserParam username, org.apache.hadoop.hdfs.web.resources.DoAsParam doAsUser, String fullpath, org.apache.hadoop.hdfs.web.resources.GetOpParam op, org.apache.hadoop.hdfs.web.resources.OffsetParam offset, org.apache.hadoop.hdfs.web.resources.LengthParam length, org.apache.hadoop.hdfs.web.resources.RenewerParam renewer, org.apache.hadoop.hdfs.web.resources.BufferSizeParam bufferSize, List<org.apache.hadoop.hdfs.web.resources.XAttrNameParam> xattrNames, org.apache.hadoop.hdfs.web.resources.XAttrEncodingParam xattrEncoding, org.apache.hadoop.hdfs.web.resources.ExcludeDatanodesParam excludeDatanodes, org.apache.hadoop.hdfs.web.resources.FsActionParam fsAction, org.apache.hadoop.hdfs.web.resources.SnapshotNameParam snapshotName, org.apache.hadoop.hdfs.web.resources.OldSnapshotNameParam oldSnapshotName, org.apache.hadoop.hdfs.web.resources.SnapshotDiffStartPathParam snapshotDiffStartPath, org.apache.hadoop.hdfs.web.resources.SnapshotDiffIndexParam snapshotDiffIndex, org.apache.hadoop.hdfs.web.resources.TokenKindParam tokenKind, org.apache.hadoop.hdfs.web.resources.TokenServiceParam tokenService, org.apache.hadoop.hdfs.web.resources.NoRedirectParam noredirectParam, org.apache.hadoop.hdfs.web.resources.StartAfterParam startAfter, org.apache.hadoop.hdfs.web.resources.AllUsersParam allUsers) throws IOException, URISyntaxException
      Overrides:
      get in class org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods
      Throws:
      IOException
      URISyntaxException
    • getNsFromDataNodeNetworkLocation

      @VisibleForTesting public static String getNsFromDataNodeNetworkLocation(String location)
      Get the nameservice info from datanode network location.
      Parameters:
      location - network location with format `/ns0/rack1`
      Returns:
      nameservice this datanode is in
    • createCredentials

      public org.apache.hadoop.security.Credentials createCredentials(org.apache.hadoop.security.UserGroupInformation ugi, String renewer) throws IOException
      Generate the credentials for this request.
      Overrides:
      createCredentials in class org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods
      Parameters:
      ugi - User group information.
      renewer - Who is asking for the renewal.
      Returns:
      Credentials holding delegation token.
      Throws:
      IOException - If it cannot create the credentials.