{"record":{"id":"e77231df4a09ed47","repo":"apache/hadoop","slug":"mkdirs-pathname-too-long-limit-characters","errorCode":null,"errorMessage":"mkdirs: Pathname too long.  Limit {} characters, {} levels.","messagePattern":"mkdirs: Pathname too long\\.  Limit (.+?) characters, (.+?) levels\\.","errorType":"validation","errorClass":"IOException","httpStatus":null,"severity":"error","filePath":"hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java","lineNumber":1173,"sourceCode":"\n  /**\n   * Check path length does not exceed maximum.  Returns true if\n   * length and depth are okay.  Returns false if length is too long \n   * or depth is too great.\n   */\n  private boolean checkPathLength(String src) {\n    Path srcPath = new Path(src);\n    return (src.length() <= MAX_PATH_LENGTH &&\n            srcPath.depth() <= MAX_PATH_DEPTH);\n  }\n    \n  @Override // ClientProtocol\n  public boolean mkdirs(String src, FsPermission masked, boolean createParent)\n      throws IOException {\n    checkNNStartup();\n    stateChangeLog.debug(\"*DIR* NameNode.mkdirs: {}.\", src);\n    if (!checkPathLength(src)) {\n      throw new IOException(\"mkdirs: Pathname too long.  Limit \" \n                            + MAX_PATH_LENGTH + \" characters, \" + MAX_PATH_DEPTH + \" levels.\");\n    }\n    return namesystem.mkdirs(src,\n        new PermissionStatus(getRemoteUser().getShortUserName(),\n            null, masked), createParent);\n  }\n\n  @Override // ClientProtocol\n  public void renewLease(String clientName, List<String> namespaces)\n      throws IOException {\n    if (namespaces != null && namespaces.size() > 0) {\n      LOG.warn(\"namespaces({}) should be null or empty \"\n          + \"on NameNode side, please check it.\", namespaces);\n      throw new IOException(\"namespaces(\" + namespaces\n          + \") should be null or empty\");\n    }\n    checkNNStartup();\n    namesystem.renewLease(clientName);        ","sourceCodeStart":1155,"sourceCodeEnd":1191,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java#L1155-L1191","documentation":"Error \"mkdirs: Pathname too long.  Limit {} characters, {} levels.\" thrown in apache/hadoop.","triggerScenarios":"mkdirs is called with a pathname exceeding configured character or depth limits.","commonSituations":"Creating very deep or long directory paths with hdfs dfs -mkdir -p.","solutions":["Use a shorter directory path within configured limits when calling mkdirs."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-22T20:17:22.307Z"}