当前位置: 首页>>代码示例>>Java>>正文


Java PathComponentTooLongException类代码示例

本文整理汇总了Java中org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException的典型用法代码示例。如果您正苦于以下问题:Java PathComponentTooLongException类的具体用法?Java PathComponentTooLongException怎么用?Java PathComponentTooLongException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


PathComponentTooLongException类属于org.apache.hadoop.hdfs.protocol.FSLimitException包,在下文中一共展示了PathComponentTooLongException类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: verifyMaxComponentLength

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
/**
 * Verify child's name for fs limit.
 *
 * @param childName byte[] containing new child name
 * @param parentPath String containing parent path
 * @throws PathComponentTooLongException child's name is too long.
 */
void verifyMaxComponentLength(byte[] childName, String parentPath)
    throws PathComponentTooLongException {
  if (maxComponentLength == 0) {
    return;
  }

  final int length = childName.length;
  if (length > maxComponentLength) {
    final PathComponentTooLongException e = new PathComponentTooLongException(
        maxComponentLength, length, parentPath,
        DFSUtil.bytes2String(childName));
    if (namesystem.isImageLoaded()) {
      throw e;
    } else {
      // Do not throw if edits log is still being processed
      NameNode.LOG.error("ERROR in FSDirectory.verifyINodeName", e);
    }
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:27,代码来源:FSDirectory.java

示例2: testParentDirectoryNameIsCorrect

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
@Test
/**
 * This test verifies that error string contains the
 * right parent directory name if the operation fails with
 * PathComponentTooLongException
 */
public void testParentDirectoryNameIsCorrect() throws Exception {
  conf.setInt(DFSConfigKeys.DFS_NAMENODE_MAX_COMPONENT_LENGTH_KEY, 20);
  mkdirs("/user", null);
  mkdirs("/user/testHome", null);
  mkdirs("/user/testHome/FileNameLength", null);

  mkdirCheckParentDirectory(
    "/user/testHome/FileNameLength/really_big_name_0003_fail",
    "/user/testHome/FileNameLength", PathComponentTooLongException.class);

  renameCheckParentDirectory("/user/testHome/FileNameLength",
    "/user/testHome/really_big_name_0003_fail", "/user/testHome/",
    PathComponentTooLongException.class);

}
 
开发者ID:naver,项目名称:hadoop,代码行数:22,代码来源:TestFsLimits.java

示例3: verifyMaxComponentLength

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
/**
 * Verify child's name for fs limit.
 *
 * @param childName byte[] containing new child name
 * @param parentPath Object either INode[] or String containing parent path
 * @param pos int position of new child in path
 * @throws PathComponentTooLongException child's name is too long.
 */
private void verifyMaxComponentLength(byte[] childName, Object parentPath,
    int pos) throws PathComponentTooLongException {
  if (maxComponentLength == 0) {
    return;
  }

  final int length = childName.length;
  if (length > maxComponentLength) {
    final String p = parentPath instanceof INode[]?
        getFullPathName((INode[])parentPath, pos - 1): (String)parentPath;
    final PathComponentTooLongException e = new PathComponentTooLongException(
        maxComponentLength, length, p, DFSUtil.bytes2String(childName));
    if (namesystem.isImageLoaded()) {
      throw e;
    } else {
      // Do not throw if edits log is still being processed
      NameNode.LOG.error("ERROR in FSDirectory.verifyINodeName", e);
    }
  }
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:29,代码来源:FSDirectory.java

示例4: verifyMaxComponentLength

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
/**
 * Verify child's name for fs limit.
 * @throws PathComponentTooLongException child's name is too long.
 */
void verifyMaxComponentLength(byte[] childName, Object parentPath, int pos)
    throws PathComponentTooLongException {
  if (maxComponentLength == 0) {
    return;
  }

  final int length = childName.length;
  if (length > maxComponentLength) {
    final String p = parentPath instanceof INode[]?
        getFullPathName((INode[])parentPath, pos - 1): (String)parentPath;
    final PathComponentTooLongException e = new PathComponentTooLongException(
        maxComponentLength, length, p, DFSUtil.bytes2String(childName));
    if (ready) {
      throw e;
    } else {
      // Do not throw if edits log is still being processed
      NameNode.LOG.error("ERROR in FSDirectory.verifyINodeName", e);
    }
  }
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:25,代码来源:FSDirectory.java

示例5: verifyMaxComponentLength

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
/**
 * Verify child's name for fs limit.
 *
 * @param childName byte[] containing new child name
 * @param parentPath Object either INode[] or String containing parent path
 * @param pos int position of new child in path
 * @throws PathComponentTooLongException child's name is too long.
 */
private void verifyMaxComponentLength(byte[] childName, Object parentPath,
    int pos) throws PathComponentTooLongException {
  if (maxComponentLength == 0) {
    return;
  }

  final int length = childName.length;
  if (length > maxComponentLength) {
    final String p = parentPath instanceof INode[]?
        getFullPathName((INode[])parentPath, pos - 1): (String)parentPath;
    final PathComponentTooLongException e = new PathComponentTooLongException(
        maxComponentLength, length, p, DFSUtil.bytes2String(childName));
    if (ready) {
      throw e;
    } else {
      // Do not throw if edits log is still being processed
      NameNode.LOG.error("ERROR in FSDirectory.verifyINodeName", e);
    }
  }
}
 
开发者ID:Seagate,项目名称:hadoop-on-lustre2,代码行数:29,代码来源:FSDirectory.java

示例6: testMaxComponentLength

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
@Test
public void testMaxComponentLength() throws Exception {
  conf.setInt(DFSConfigKeys.DFS_NAMENODE_MAX_COMPONENT_LENGTH_KEY, 2);
  
  mkdirs("/1", null);
  mkdirs("/22", null);
  mkdirs("/333", PathComponentTooLongException.class);
  mkdirs("/4444", PathComponentTooLongException.class);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:10,代码来源:TestFsLimits.java

示例7: testMaxComponentLengthRename

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
@Test
public void testMaxComponentLengthRename() throws Exception {
  conf.setInt(DFSConfigKeys.DFS_NAMENODE_MAX_COMPONENT_LENGTH_KEY, 2);

  mkdirs("/5", null);
  rename("/5", "/555", PathComponentTooLongException.class);
  rename("/5", "/55", null);

  mkdirs("/6", null);
  deprecatedRename("/6", "/666", PathComponentTooLongException.class);
  deprecatedRename("/6", "/66", null);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:13,代码来源:TestFsLimits.java

示例8: testMaxComponentsAndMaxDirItems

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
@Test
public void testMaxComponentsAndMaxDirItems() throws Exception {
  conf.setInt(DFSConfigKeys.DFS_NAMENODE_MAX_COMPONENT_LENGTH_KEY, 3);
  conf.setInt(DFSConfigKeys.DFS_NAMENODE_MAX_DIRECTORY_ITEMS_KEY, 2);
  
  mkdirs("/1", null);
  mkdirs("/22", null);
  mkdirs("/333", MaxDirectoryItemsExceededException.class);
  mkdirs("/4444", PathComponentTooLongException.class);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:11,代码来源:TestFsLimits.java

示例9: verifyFsLimitsForRename

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
/**
 * Checks file system limits (max component length and max directory items)
 * during a rename operation.
 *
 * @param srcIIP INodesInPath containing every inode in the rename source
 * @param dstIIP INodesInPath containing every inode in the rename destination
 * @throws PathComponentTooLongException child's name is too long.
 * @throws MaxDirectoryItemsExceededException too many children.
 */
private void verifyFsLimitsForRename(INodesInPath srcIIP, INodesInPath dstIIP)
    throws PathComponentTooLongException, MaxDirectoryItemsExceededException {
  byte[] dstChildName = dstIIP.getLastLocalName();
  INode[] dstInodes = dstIIP.getINodes();
  int pos = dstInodes.length - 1;
  verifyMaxComponentLength(dstChildName, dstInodes, pos);
  // Do not enforce max directory items if renaming within same directory.
  if (srcIIP.getINode(-2) != dstIIP.getINode(-2)) {
    verifyMaxDirItems(dstInodes, pos);
  }
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:21,代码来源:FSDirectory.java

示例10: verifySnapshotName

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
/** Verify if the snapshot name is legal. */
void verifySnapshotName(String snapshotName, String path)
    throws PathComponentTooLongException {
  if (snapshotName.contains(Path.SEPARATOR)) {
    throw new HadoopIllegalArgumentException(
        "Snapshot name cannot contain \"" + Path.SEPARATOR + "\"");
  }
  final byte[] bytes = DFSUtil.string2Bytes(snapshotName);
  verifyINodeName(bytes);
  verifyMaxComponentLength(bytes, path, 0);
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:12,代码来源:FSDirectory.java

示例11: verifySnapshotName

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
/** Verify if the snapshot name is legal. */
void verifySnapshotName(String snapshotName, String path)
    throws PathComponentTooLongException {
  final byte[] bytes = DFSUtil.string2Bytes(snapshotName);
  verifyINodeName(bytes);
  verifyMaxComponentLength(bytes, path, 0);
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:8,代码来源:FSDirectory.java

示例12: testMaxComponentLength

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
@Test
public void testMaxComponentLength() throws Exception {
  conf.setInt(DFSConfigKeys.DFS_NAMENODE_MAX_COMPONENT_LENGTH_KEY, 2);
  
  addChildWithName("1", null);
  addChildWithName("22", null);
  addChildWithName("333", PathComponentTooLongException.class);
  addChildWithName("4444", PathComponentTooLongException.class);
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:10,代码来源:TestFsLimits.java

示例13: testMaxComponentsAndMaxDirItems

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
@Test
public void testMaxComponentsAndMaxDirItems() throws Exception {
  conf.setInt(DFSConfigKeys.DFS_NAMENODE_MAX_COMPONENT_LENGTH_KEY, 3);
  conf.setInt(DFSConfigKeys.DFS_NAMENODE_MAX_DIRECTORY_ITEMS_KEY, 2);
  
  addChildWithName("1", null);
  addChildWithName("22", null);
  addChildWithName("333", MaxDirectoryItemsExceededException.class);
  addChildWithName("4444", PathComponentTooLongException.class);
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:11,代码来源:TestFsLimits.java

示例14: verifyFsLimits

import org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException; //导入依赖的package包/类
/**
 * Verify that filesystem limit constraints are not violated
 *
 * @throws PathComponentTooLongException
 *     child's name is too long
 * @throws MaxDirectoryItemsExceededException
 *     items per directory is exceeded
 */
protected <T extends INode> void verifyFsLimits(INode[] pathComponents,
    int pos, T child)
    throws FSLimitException, StorageException, TransactionContextException {
  boolean includeChildName = false;
  try {
    if (maxComponentLength != 0) {
      int length = child.getLocalName().length();
      if (length > maxComponentLength) {
        includeChildName = true;
        throw new PathComponentTooLongException(maxComponentLength, length);
      }
    }
    if (maxDirItems != 0) {
      INodeDirectory parent = (INodeDirectory) pathComponents[pos - 1];
      int count = parent.getChildrenList().size();
      if (count >= maxDirItems) {
        throw new MaxDirectoryItemsExceededException(maxDirItems, count);
      }
    }
  } catch (FSLimitException e) {
    String badPath = getFullPathName(pathComponents, pos - 1);
    if (includeChildName) {
      badPath += Path.SEPARATOR + child.getLocalName();
    }
    e.setPathName(badPath);
    // Do not throw if edits log is still being processed
    if (ready) {
      throw (e);
    }
    // log pre-existing paths that exceed limits
    NameNode.LOG
        .error("FSDirectory.verifyFsLimits - " + e.getLocalizedMessage());
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:43,代码来源:FSDirectory.java


注:本文中的org.apache.hadoop.hdfs.protocol.FSLimitException.PathComponentTooLongException类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。