Java 类org.apache.hadoop.hdfs.web.resources.NamenodeRpcAddressParam 实例源码

项目:hadoop-plus    文件:DatanodeWebHdfsMethods.java   
private void init(final UserGroupInformation ugi,
    final DelegationParam delegation, final InetSocketAddress nnRpcAddr,
    final UriFsPathParam path, final HttpOpParam<?> op,
    final Param<?, ?>... parameters) throws IOException {
  if (LOG.isTraceEnabled()) {
    LOG.trace("HTTP " + op.getValue().getType() + ": " + op + ", " + path
        + ", ugi=" + ugi + Param.toSortedString(", ", parameters));
  }
  if (nnRpcAddr == null) {
    throw new IllegalArgumentException(NamenodeRpcAddressParam.NAME
        + " is not specified.");
  }

  //clear content type
  response.setContentType(null);

  if (UserGroupInformation.isSecurityEnabled()) {
    //add a token for RPC.
    final Token<DelegationTokenIdentifier> token = 
        new Token<DelegationTokenIdentifier>();
    token.decodeFromUrlString(delegation.getValue());
    SecurityUtil.setTokenService(token, nnRpcAddr);
    token.setKind(DelegationTokenIdentifier.HDFS_DELEGATION_KIND);
    ugi.addToken(token);
  }
}
项目:hadoop-plus    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP POST request for the root for the root. */
@POST
@Path("/")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response postRoot(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(PostOpParam.NAME) @DefaultValue(PostOpParam.DEFAULT)
        final PostOpParam op,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {
  return post(in, ugi, delegation, namenodeRpcAddress, ROOT, op, bufferSize);
}
项目:hadoop-plus    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP GET request for the root. */
@GET
@Path("/")
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response getRoot(
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(GetOpParam.NAME) @DefaultValue(GetOpParam.DEFAULT)
        final GetOpParam op,
    @QueryParam(OffsetParam.NAME) @DefaultValue(OffsetParam.DEFAULT)
        final OffsetParam offset,
    @QueryParam(LengthParam.NAME) @DefaultValue(LengthParam.DEFAULT)
        final LengthParam length,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {
  return get(ugi, delegation, namenodeRpcAddress, ROOT, op, offset, length,
      bufferSize);
}
项目:hops    文件:DatanodeWebHdfsMethods.java   
private void init(final UserGroupInformation ugi,
    final DelegationParam delegation, final InetSocketAddress nnRpcAddr,
    final UriFsPathParam path, final HttpOpParam<?> op,
    final Param<?, ?>... parameters) throws IOException {
  if (LOG.isTraceEnabled()) {
    LOG.trace("HTTP " + op.getValue().getType() + ": " + op + ", " + path +
        ", ugi=" + ugi + Param.toSortedString(", ", parameters));
  }
  if (nnRpcAddr == null) {
    throw new IllegalArgumentException(
        NamenodeRpcAddressParam.NAME + " is not specified.");
  }

  //clear content type
  response.setContentType(null);

  if (UserGroupInformation.isSecurityEnabled()) {
    //add a token for RPC.
    final Token<DelegationTokenIdentifier> token =
        new Token<>();
    token.decodeFromUrlString(delegation.getValue());
    SecurityUtil.setTokenService(token, nnRpcAddr);
    token.setKind(DelegationTokenIdentifier.HDFS_DELEGATION_KIND);
    ugi.addToken(token);
  }
}
项目:hops    文件:DatanodeWebHdfsMethods.java   
/**
 * Handle HTTP POST request for the root for the root.
 */
@POST
@Path("/")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response postRoot(final InputStream in,
    @Context
    final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME)
    @DefaultValue(DelegationParam.DEFAULT)
    final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
    final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(PostOpParam.NAME)
    @DefaultValue(PostOpParam.DEFAULT)
    final PostOpParam op,
    @QueryParam(BufferSizeParam.NAME)
    @DefaultValue(BufferSizeParam.DEFAULT)
    final BufferSizeParam bufferSize)
    throws IOException, InterruptedException {
  return post(in, ugi, delegation, namenodeRpcAddress, ROOT, op, bufferSize);
}
项目:hadoop-TCP    文件:DatanodeWebHdfsMethods.java   
private void init(final UserGroupInformation ugi,
    final DelegationParam delegation, final InetSocketAddress nnRpcAddr,
    final UriFsPathParam path, final HttpOpParam<?> op,
    final Param<?, ?>... parameters) throws IOException {
  if (LOG.isTraceEnabled()) {
    LOG.trace("HTTP " + op.getValue().getType() + ": " + op + ", " + path
        + ", ugi=" + ugi + Param.toSortedString(", ", parameters));
  }
  if (nnRpcAddr == null) {
    throw new IllegalArgumentException(NamenodeRpcAddressParam.NAME
        + " is not specified.");
  }

  //clear content type
  response.setContentType(null);

  if (UserGroupInformation.isSecurityEnabled()) {
    //add a token for RPC.
    final Token<DelegationTokenIdentifier> token = 
        new Token<DelegationTokenIdentifier>();
    token.decodeFromUrlString(delegation.getValue());
    SecurityUtil.setTokenService(token, nnRpcAddr);
    token.setKind(DelegationTokenIdentifier.HDFS_DELEGATION_KIND);
    ugi.addToken(token);
  }
}
项目:hadoop-TCP    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP POST request for the root for the root. */
@POST
@Path("/")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response postRoot(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(PostOpParam.NAME) @DefaultValue(PostOpParam.DEFAULT)
        final PostOpParam op,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {
  return post(in, ugi, delegation, namenodeRpcAddress, ROOT, op, bufferSize);
}
项目:hadoop-TCP    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP GET request for the root. */
@GET
@Path("/")
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response getRoot(
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(GetOpParam.NAME) @DefaultValue(GetOpParam.DEFAULT)
        final GetOpParam op,
    @QueryParam(OffsetParam.NAME) @DefaultValue(OffsetParam.DEFAULT)
        final OffsetParam offset,
    @QueryParam(LengthParam.NAME) @DefaultValue(LengthParam.DEFAULT)
        final LengthParam length,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {
  return get(ugi, delegation, namenodeRpcAddress, ROOT, op, offset, length,
      bufferSize);
}
项目:hardfs    文件:DatanodeWebHdfsMethods.java   
private void init(final UserGroupInformation ugi,
    final DelegationParam delegation, final InetSocketAddress nnRpcAddr,
    final UriFsPathParam path, final HttpOpParam<?> op,
    final Param<?, ?>... parameters) throws IOException {
  if (LOG.isTraceEnabled()) {
    LOG.trace("HTTP " + op.getValue().getType() + ": " + op + ", " + path
        + ", ugi=" + ugi + Param.toSortedString(", ", parameters));
  }
  if (nnRpcAddr == null) {
    throw new IllegalArgumentException(NamenodeRpcAddressParam.NAME
        + " is not specified.");
  }

  //clear content type
  response.setContentType(null);

  if (UserGroupInformation.isSecurityEnabled()) {
    //add a token for RPC.
    final Token<DelegationTokenIdentifier> token = 
        new Token<DelegationTokenIdentifier>();
    token.decodeFromUrlString(delegation.getValue());
    SecurityUtil.setTokenService(token, nnRpcAddr);
    token.setKind(DelegationTokenIdentifier.HDFS_DELEGATION_KIND);
    ugi.addToken(token);
  }
}
项目:hardfs    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP POST request for the root for the root. */
@POST
@Path("/")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response postRoot(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(PostOpParam.NAME) @DefaultValue(PostOpParam.DEFAULT)
        final PostOpParam op,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {
  return post(in, ugi, delegation, namenodeRpcAddress, ROOT, op, bufferSize);
}
项目:hardfs    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP GET request for the root. */
@GET
@Path("/")
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response getRoot(
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(GetOpParam.NAME) @DefaultValue(GetOpParam.DEFAULT)
        final GetOpParam op,
    @QueryParam(OffsetParam.NAME) @DefaultValue(OffsetParam.DEFAULT)
        final OffsetParam offset,
    @QueryParam(LengthParam.NAME) @DefaultValue(LengthParam.DEFAULT)
        final LengthParam length,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {
  return get(ugi, delegation, namenodeRpcAddress, ROOT, op, offset, length,
      bufferSize);
}
项目:hadoop-plus    文件:NamenodeWebHdfsMethods.java   
private URI redirectURI(final NameNode namenode,
    final UserGroupInformation ugi, final DelegationParam delegation,
    final UserParam username, final DoAsParam doAsUser,
    final String path, final HttpOpParam.Op op, final long openOffset,
    final long blocksize,
    final Param<?, ?>... parameters) throws URISyntaxException, IOException {
  final Configuration conf = (Configuration)context.getAttribute(JspHelper.CURRENT_CONF);
  final DatanodeInfo dn = chooseDatanode(namenode, path, op, openOffset,
      blocksize, conf);

  final String delegationQuery;
  if (!UserGroupInformation.isSecurityEnabled()) {
    //security disabled
    delegationQuery = Param.toSortedString("&", doAsUser, username);
  } else if (delegation.getValue() != null) {
    //client has provided a token
    delegationQuery = "&" + delegation;
  } else {
    //generate a token
    final Token<? extends TokenIdentifier> t = generateDelegationToken(
        namenode, ugi, request.getUserPrincipal().getName());
    delegationQuery = "&" + new DelegationParam(t.encodeToUrlString());
  }
  final String query = op.toQueryString() + delegationQuery
      + "&" + new NamenodeRpcAddressParam(namenode)
      + Param.toSortedString("&", parameters);
  final String uripath = WebHdfsFileSystem.PATH_PREFIX + path;

  final URI uri = new URI("http", null, dn.getHostName(), dn.getInfoPort(),
      uripath, query, null);
  if (LOG.isTraceEnabled()) {
    LOG.trace("redirectURI=" + uri);
  }
  return uri;
}
项目:hadoop-plus    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP PUT request for the root. */
@PUT
@Path("/")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response putRoot(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME) 
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT) 
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(PutOpParam.NAME) @DefaultValue(PutOpParam.DEFAULT)
        final PutOpParam op,
    @QueryParam(PermissionParam.NAME) @DefaultValue(PermissionParam.DEFAULT)
        final PermissionParam permission,
    @QueryParam(OverwriteParam.NAME) @DefaultValue(OverwriteParam.DEFAULT)
        final OverwriteParam overwrite,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize,
    @QueryParam(ReplicationParam.NAME) @DefaultValue(ReplicationParam.DEFAULT)
        final ReplicationParam replication,
    @QueryParam(BlockSizeParam.NAME) @DefaultValue(BlockSizeParam.DEFAULT)
        final BlockSizeParam blockSize
    ) throws IOException, InterruptedException {
  return put(in, ugi, delegation, namenodeRpcAddress, ROOT, op, permission,
      overwrite, bufferSize, replication, blockSize);
}
项目:hadoop-plus    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP PUT request. */
@PUT
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response put(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME) final UriFsPathParam path,
    @QueryParam(PutOpParam.NAME) @DefaultValue(PutOpParam.DEFAULT)
        final PutOpParam op,
    @QueryParam(PermissionParam.NAME) @DefaultValue(PermissionParam.DEFAULT)
        final PermissionParam permission,
    @QueryParam(OverwriteParam.NAME) @DefaultValue(OverwriteParam.DEFAULT)
        final OverwriteParam overwrite,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize,
    @QueryParam(ReplicationParam.NAME) @DefaultValue(ReplicationParam.DEFAULT)
        final ReplicationParam replication,
    @QueryParam(BlockSizeParam.NAME) @DefaultValue(BlockSizeParam.DEFAULT)
        final BlockSizeParam blockSize
    ) throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, permission,
      overwrite, bufferSize, replication, blockSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException, URISyntaxException {
      return put(in, ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          permission, overwrite, bufferSize, replication, blockSize);
    }
  });
}
项目:hadoop-plus    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP POST request. */
@POST
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response post(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME) final UriFsPathParam path,
    @QueryParam(PostOpParam.NAME) @DefaultValue(PostOpParam.DEFAULT)
        final PostOpParam op,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, bufferSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException {
      return post(in, ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          bufferSize);
    }
  });
}
项目:hadoop-plus    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP GET request. */
@GET
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response get(
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME) final UriFsPathParam path,
    @QueryParam(GetOpParam.NAME) @DefaultValue(GetOpParam.DEFAULT)
        final GetOpParam op,
    @QueryParam(OffsetParam.NAME) @DefaultValue(OffsetParam.DEFAULT)
        final OffsetParam offset,
    @QueryParam(LengthParam.NAME) @DefaultValue(LengthParam.DEFAULT)
        final LengthParam length,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, offset, length, bufferSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException {
      return get(ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          offset, length, bufferSize);
    }
  });
}
项目:hops    文件:NamenodeWebHdfsMethods.java   
private URI redirectURI(final NameNode namenode,
    final UserGroupInformation ugi, final DelegationParam delegation,
    final UserParam username, final DoAsParam doAsUser, final String path,
    final HttpOpParam.Op op, final long openOffset, final long blocksize,
    final Param<?, ?>... parameters) throws URISyntaxException, IOException {
  final Configuration conf =
      (Configuration) context.getAttribute(JspHelper.CURRENT_CONF);
  final DatanodeInfo dn =
      chooseDatanode(namenode, path, op, openOffset, blocksize, conf);

  final String delegationQuery;
  if (!UserGroupInformation.isSecurityEnabled()) {
    //security disabled
    delegationQuery = Param.toSortedString("&", doAsUser, username);
  } else if (delegation.getValue() != null) {
    //client has provided a token
    delegationQuery = "&" + delegation;
  } else {
    //generate a token
    final Token<? extends TokenIdentifier> t =
        generateDelegationToken(namenode, ugi,
            request.getUserPrincipal().getName());
    delegationQuery = "&" + new DelegationParam(t.encodeToUrlString());
  }
  final String query = op.toQueryString() + delegationQuery + "&" +
      new NamenodeRpcAddressParam(namenode) +
      Param.toSortedString("&", parameters);
  final String uripath = WebHdfsFileSystem.PATH_PREFIX + path;

  final URI uri =
      new URI("http", null, dn.getHostName(), dn.getInfoPort(), uripath,
          query, null);
  if (LOG.isTraceEnabled()) {
    LOG.trace("redirectURI=" + uri);
  }
  return uri;
}
项目:hops    文件:DatanodeWebHdfsMethods.java   
/**
 * Handle HTTP PUT request for the root.
 */
@PUT
@Path("/")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response putRoot(final InputStream in,
    @Context
    final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME)
    @DefaultValue(DelegationParam.DEFAULT)
    final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
    final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(PutOpParam.NAME)
    @DefaultValue(PutOpParam.DEFAULT)
    final PutOpParam op,
    @QueryParam(PermissionParam.NAME)
    @DefaultValue(PermissionParam.DEFAULT)
    final PermissionParam permission,
    @QueryParam(OverwriteParam.NAME)
    @DefaultValue(OverwriteParam.DEFAULT)
    final OverwriteParam overwrite,
    @QueryParam(BufferSizeParam.NAME)
    @DefaultValue(BufferSizeParam.DEFAULT)
    final BufferSizeParam bufferSize,
    @QueryParam(ReplicationParam.NAME)
    @DefaultValue(ReplicationParam.DEFAULT)
    final ReplicationParam replication,
    @QueryParam(BlockSizeParam.NAME)
    @DefaultValue(BlockSizeParam.DEFAULT)
    final BlockSizeParam blockSize) throws IOException, InterruptedException {
  return put(in, ugi, delegation, namenodeRpcAddress, ROOT, op, permission,
      overwrite, bufferSize, replication, blockSize);
}
项目:hops    文件:DatanodeWebHdfsMethods.java   
/**
 * Handle HTTP POST request.
 */
@POST
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response post(final InputStream in,
    @Context
    final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME)
    @DefaultValue(DelegationParam.DEFAULT)
    final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
    final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME)
    final UriFsPathParam path,
    @QueryParam(PostOpParam.NAME)
    @DefaultValue(PostOpParam.DEFAULT)
    final PostOpParam op,
    @QueryParam(BufferSizeParam.NAME)
    @DefaultValue(BufferSizeParam.DEFAULT)
    final BufferSizeParam bufferSize)
    throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, bufferSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException {
      return post(in, ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          bufferSize);
    }
  });
}
项目:hops    文件:DatanodeWebHdfsMethods.java   
/**
 * Handle HTTP GET request for the root.
 */
@GET
@Path("/")
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response getRoot(
    @Context
    final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME)
    @DefaultValue(DelegationParam.DEFAULT)
    final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
    final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(GetOpParam.NAME)
    @DefaultValue(GetOpParam.DEFAULT)
    final GetOpParam op,
    @QueryParam(OffsetParam.NAME)
    @DefaultValue(OffsetParam.DEFAULT)
    final OffsetParam offset,
    @QueryParam(LengthParam.NAME)
    @DefaultValue(LengthParam.DEFAULT)
    final LengthParam length,
    @QueryParam(BufferSizeParam.NAME)
    @DefaultValue(BufferSizeParam.DEFAULT)
    final BufferSizeParam bufferSize)
    throws IOException, InterruptedException {
  return get(ugi, delegation, namenodeRpcAddress, ROOT, op, offset, length,
      bufferSize);
}
项目:hops    文件:DatanodeWebHdfsMethods.java   
/**
 * Handle HTTP GET request.
 */
@GET
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response get(
    @Context
    final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME)
    @DefaultValue(DelegationParam.DEFAULT)
    final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
    final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME)
    final UriFsPathParam path,
    @QueryParam(GetOpParam.NAME)
    @DefaultValue(GetOpParam.DEFAULT)
    final GetOpParam op,
    @QueryParam(OffsetParam.NAME)
    @DefaultValue(OffsetParam.DEFAULT)
    final OffsetParam offset,
    @QueryParam(LengthParam.NAME)
    @DefaultValue(LengthParam.DEFAULT)
    final LengthParam length,
    @QueryParam(BufferSizeParam.NAME)
    @DefaultValue(BufferSizeParam.DEFAULT)
    final BufferSizeParam bufferSize)
    throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, offset, length, bufferSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException {
      return get(ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          offset, length, bufferSize);
    }
  });
}
项目:hadoop-TCP    文件:NamenodeWebHdfsMethods.java   
private URI redirectURI(final NameNode namenode,
    final UserGroupInformation ugi, final DelegationParam delegation,
    final UserParam username, final DoAsParam doAsUser,
    final String path, final HttpOpParam.Op op, final long openOffset,
    final long blocksize,
    final Param<?, ?>... parameters) throws URISyntaxException, IOException {
  final Configuration conf = (Configuration)context.getAttribute(JspHelper.CURRENT_CONF);
  final DatanodeInfo dn = chooseDatanode(namenode, path, op, openOffset,
      blocksize, conf);

  final String delegationQuery;
  if (!UserGroupInformation.isSecurityEnabled()) {
    //security disabled
    delegationQuery = Param.toSortedString("&", doAsUser, username);
  } else if (delegation.getValue() != null) {
    //client has provided a token
    delegationQuery = "&" + delegation;
  } else {
    //generate a token
    final Token<? extends TokenIdentifier> t = generateDelegationToken(
        namenode, ugi, request.getUserPrincipal().getName());
    delegationQuery = "&" + new DelegationParam(t.encodeToUrlString());
  }
  final String query = op.toQueryString() + delegationQuery
      + "&" + new NamenodeRpcAddressParam(namenode)
      + Param.toSortedString("&", parameters);
  final String uripath = WebHdfsFileSystem.PATH_PREFIX + path;

  final URI uri = new URI("http", null, dn.getHostName(), dn.getInfoPort(),
      uripath, query, null);
  if (LOG.isTraceEnabled()) {
    LOG.trace("redirectURI=" + uri);
  }
  return uri;
}
项目:hadoop-TCP    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP PUT request for the root. */
@PUT
@Path("/")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response putRoot(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME) 
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT) 
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(PutOpParam.NAME) @DefaultValue(PutOpParam.DEFAULT)
        final PutOpParam op,
    @QueryParam(PermissionParam.NAME) @DefaultValue(PermissionParam.DEFAULT)
        final PermissionParam permission,
    @QueryParam(OverwriteParam.NAME) @DefaultValue(OverwriteParam.DEFAULT)
        final OverwriteParam overwrite,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize,
    @QueryParam(ReplicationParam.NAME) @DefaultValue(ReplicationParam.DEFAULT)
        final ReplicationParam replication,
    @QueryParam(BlockSizeParam.NAME) @DefaultValue(BlockSizeParam.DEFAULT)
        final BlockSizeParam blockSize
    ) throws IOException, InterruptedException {
  return put(in, ugi, delegation, namenodeRpcAddress, ROOT, op, permission,
      overwrite, bufferSize, replication, blockSize);
}
项目:hadoop-TCP    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP PUT request. */
@PUT
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response put(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME) final UriFsPathParam path,
    @QueryParam(PutOpParam.NAME) @DefaultValue(PutOpParam.DEFAULT)
        final PutOpParam op,
    @QueryParam(PermissionParam.NAME) @DefaultValue(PermissionParam.DEFAULT)
        final PermissionParam permission,
    @QueryParam(OverwriteParam.NAME) @DefaultValue(OverwriteParam.DEFAULT)
        final OverwriteParam overwrite,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize,
    @QueryParam(ReplicationParam.NAME) @DefaultValue(ReplicationParam.DEFAULT)
        final ReplicationParam replication,
    @QueryParam(BlockSizeParam.NAME) @DefaultValue(BlockSizeParam.DEFAULT)
        final BlockSizeParam blockSize
    ) throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, permission,
      overwrite, bufferSize, replication, blockSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException, URISyntaxException {
      return put(in, ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          permission, overwrite, bufferSize, replication, blockSize);
    }
  });
}
项目:hadoop-TCP    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP POST request. */
@POST
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response post(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME) final UriFsPathParam path,
    @QueryParam(PostOpParam.NAME) @DefaultValue(PostOpParam.DEFAULT)
        final PostOpParam op,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, bufferSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException {
      return post(in, ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          bufferSize);
    }
  });
}
项目:hadoop-TCP    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP GET request. */
@GET
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response get(
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME) final UriFsPathParam path,
    @QueryParam(GetOpParam.NAME) @DefaultValue(GetOpParam.DEFAULT)
        final GetOpParam op,
    @QueryParam(OffsetParam.NAME) @DefaultValue(OffsetParam.DEFAULT)
        final OffsetParam offset,
    @QueryParam(LengthParam.NAME) @DefaultValue(LengthParam.DEFAULT)
        final LengthParam length,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, offset, length, bufferSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException {
      return get(ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          offset, length, bufferSize);
    }
  });
}
项目:hardfs    文件:NamenodeWebHdfsMethods.java   
private URI redirectURI(final NameNode namenode,
    final UserGroupInformation ugi, final DelegationParam delegation,
    final UserParam username, final DoAsParam doAsUser,
    final String path, final HttpOpParam.Op op, final long openOffset,
    final long blocksize,
    final Param<?, ?>... parameters) throws URISyntaxException, IOException {
  final Configuration conf = (Configuration)context.getAttribute(JspHelper.CURRENT_CONF);
  final DatanodeInfo dn = chooseDatanode(namenode, path, op, openOffset,
      blocksize, conf);

  final String delegationQuery;
  if (!UserGroupInformation.isSecurityEnabled()) {
    //security disabled
    delegationQuery = Param.toSortedString("&", doAsUser, username);
  } else if (delegation.getValue() != null) {
    //client has provided a token
    delegationQuery = "&" + delegation;
  } else {
    //generate a token
    final Token<? extends TokenIdentifier> t = generateDelegationToken(
        namenode, ugi, request.getUserPrincipal().getName());
    delegationQuery = "&" + new DelegationParam(t.encodeToUrlString());
  }
  final String query = op.toQueryString() + delegationQuery
      + "&" + new NamenodeRpcAddressParam(namenode)
      + Param.toSortedString("&", parameters);
  final String uripath = WebHdfsFileSystem.PATH_PREFIX + path;

  final URI uri = new URI("http", null, dn.getHostName(), dn.getInfoPort(),
      uripath, query, null);
  if (LOG.isTraceEnabled()) {
    LOG.trace("redirectURI=" + uri);
  }
  return uri;
}
项目:hardfs    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP PUT request for the root. */
@PUT
@Path("/")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response putRoot(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME) 
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT) 
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @QueryParam(PutOpParam.NAME) @DefaultValue(PutOpParam.DEFAULT)
        final PutOpParam op,
    @QueryParam(PermissionParam.NAME) @DefaultValue(PermissionParam.DEFAULT)
        final PermissionParam permission,
    @QueryParam(OverwriteParam.NAME) @DefaultValue(OverwriteParam.DEFAULT)
        final OverwriteParam overwrite,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize,
    @QueryParam(ReplicationParam.NAME) @DefaultValue(ReplicationParam.DEFAULT)
        final ReplicationParam replication,
    @QueryParam(BlockSizeParam.NAME) @DefaultValue(BlockSizeParam.DEFAULT)
        final BlockSizeParam blockSize
    ) throws IOException, InterruptedException {
  return put(in, ugi, delegation, namenodeRpcAddress, ROOT, op, permission,
      overwrite, bufferSize, replication, blockSize);
}
项目:hardfs    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP PUT request. */
@PUT
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response put(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME) final UriFsPathParam path,
    @QueryParam(PutOpParam.NAME) @DefaultValue(PutOpParam.DEFAULT)
        final PutOpParam op,
    @QueryParam(PermissionParam.NAME) @DefaultValue(PermissionParam.DEFAULT)
        final PermissionParam permission,
    @QueryParam(OverwriteParam.NAME) @DefaultValue(OverwriteParam.DEFAULT)
        final OverwriteParam overwrite,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize,
    @QueryParam(ReplicationParam.NAME) @DefaultValue(ReplicationParam.DEFAULT)
        final ReplicationParam replication,
    @QueryParam(BlockSizeParam.NAME) @DefaultValue(BlockSizeParam.DEFAULT)
        final BlockSizeParam blockSize
    ) throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, permission,
      overwrite, bufferSize, replication, blockSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException, URISyntaxException {
      return put(in, ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          permission, overwrite, bufferSize, replication, blockSize);
    }
  });
}
项目:hardfs    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP POST request. */
@POST
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response post(
    final InputStream in,
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME) final UriFsPathParam path,
    @QueryParam(PostOpParam.NAME) @DefaultValue(PostOpParam.DEFAULT)
        final PostOpParam op,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, bufferSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException {
      return post(in, ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          bufferSize);
    }
  });
}
项目:hardfs    文件:DatanodeWebHdfsMethods.java   
/** Handle HTTP GET request. */
@GET
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response get(
    @Context final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME) @DefaultValue(DelegationParam.DEFAULT)
        final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
        final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME) final UriFsPathParam path,
    @QueryParam(GetOpParam.NAME) @DefaultValue(GetOpParam.DEFAULT)
        final GetOpParam op,
    @QueryParam(OffsetParam.NAME) @DefaultValue(OffsetParam.DEFAULT)
        final OffsetParam offset,
    @QueryParam(LengthParam.NAME) @DefaultValue(LengthParam.DEFAULT)
        final LengthParam length,
    @QueryParam(BufferSizeParam.NAME) @DefaultValue(BufferSizeParam.DEFAULT)
        final BufferSizeParam bufferSize
    ) throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, offset, length, bufferSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException {
      return get(ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          offset, length, bufferSize);
    }
  });
}
项目:hops    文件:DatanodeWebHdfsMethods.java   
/**
 * Handle HTTP PUT request.
 */
@PUT
@Path("{" + UriFsPathParam.NAME + ":.*}")
@Consumes({"*/*"})
@Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON})
public Response put(final InputStream in,
    @Context
    final UserGroupInformation ugi,
    @QueryParam(DelegationParam.NAME)
    @DefaultValue(DelegationParam.DEFAULT)
    final DelegationParam delegation,
    @QueryParam(NamenodeRpcAddressParam.NAME)
    @DefaultValue(NamenodeRpcAddressParam.DEFAULT)
    final NamenodeRpcAddressParam namenodeRpcAddress,
    @PathParam(UriFsPathParam.NAME)
    final UriFsPathParam path,
    @QueryParam(PutOpParam.NAME)
    @DefaultValue(PutOpParam.DEFAULT)
    final PutOpParam op,
    @QueryParam(PermissionParam.NAME)
    @DefaultValue(PermissionParam.DEFAULT)
    final PermissionParam permission,
    @QueryParam(OverwriteParam.NAME)
    @DefaultValue(OverwriteParam.DEFAULT)
    final OverwriteParam overwrite,
    @QueryParam(BufferSizeParam.NAME)
    @DefaultValue(BufferSizeParam.DEFAULT)
    final BufferSizeParam bufferSize,
    @QueryParam(ReplicationParam.NAME)
    @DefaultValue(ReplicationParam.DEFAULT)
    final ReplicationParam replication,
    @QueryParam(BlockSizeParam.NAME)
    @DefaultValue(BlockSizeParam.DEFAULT)
    final BlockSizeParam blockSize) throws IOException, InterruptedException {

  final InetSocketAddress nnRpcAddr = namenodeRpcAddress.getValue();
  init(ugi, delegation, nnRpcAddr, path, op, permission, overwrite,
      bufferSize, replication, blockSize);

  return ugi.doAs(new PrivilegedExceptionAction<Response>() {
    @Override
    public Response run() throws IOException, URISyntaxException {
      return put(in, ugi, delegation, nnRpcAddr, path.getAbsolutePath(), op,
          permission, overwrite, bufferSize, replication, blockSize);
    }
  });
}