{"record":{"id":"6da516af772ff83d","repo":"apache/hadoop","slug":"symlink-path-exceeds-character-limit","errorCode":null,"errorMessage":"Symlink path exceeds {} character limit","messagePattern":"Symlink path exceeds (.+?) character limit","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":1575,"sourceCode":"    checkNNStartup();\n    namesystem.setTimes(src, mtime, atime);\n  }\n\n  @Override // ClientProtocol\n  public void createSymlink(String target, String link, FsPermission dirPerms,\n      boolean createParent) throws IOException {\n    checkNNStartup();\n    namesystem.checkOperation(OperationCategory.WRITE);\n    CacheEntry cacheEntry = getCacheEntry();\n    if (cacheEntry != null && cacheEntry.isSuccess()) {\n      return; // Return previous response\n    }\n\n    /* We enforce the MAX_PATH_LENGTH limit even though a symlink target\n     * URI may refer to a non-HDFS file system. \n     */\n    if (!checkPathLength(link)) {\n      throw new IOException(\"Symlink path exceeds \" + MAX_PATH_LENGTH +\n                            \" character limit\");\n                            \n    }\n\n    final UserGroupInformation ugi = getRemoteUser();\n\n    boolean success = false;\n    try {\n      PermissionStatus perm = new PermissionStatus(ugi.getShortUserName(),\n          null, dirPerms);\n      namesystem.createSymlink(target, link, perm, createParent,\n          cacheEntry != null);\n      success = true;\n    } finally {\n      RetryCache.setState(cacheEntry, success);\n    }\n  }\n","sourceCodeStart":1557,"sourceCodeEnd":1593,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java#L1557-L1593","documentation":"Error \"Symlink path exceeds {} character limit\" thrown in apache/hadoop.","triggerScenarios":"createSymlink is called with a target path longer than the configured symlink length limit.","commonSituations":"Creating symlinks to very long target paths via the HDFS API or WebHDFS.","solutions":["Shorten the symlink target or raise dfs.namenode.fs-limits.max-symlink-length if longer links are required."],"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"}