{"record":{"id":"b9c2a369c4093bf1","repo":"apache/hadoop","slug":"gid-must-fit-in-24-bits","errorCode":null,"errorMessage":"GID must fit in 24 bits","messagePattern":"GID must fit in 24 bits","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-fs2img/src/main/java/org/apache/hadoop/hdfs/server/namenode/UGIResolver.java","lineNumber":64,"sourceCode":"   * Endian).\n   * The first and the second parts are the string ids of the user and\n   * group name, and the last 16 bits are the permission bits.\n   * @param owner name of owner\n   * @param group name of group\n   * @param permission Permission octects\n   * @return FSImage encoding of permissions\n   */\n  protected final long buildPermissionStatus(\n      String owner, String group, short permission) {\n\n    long userId = users.get(owner);\n    if (0L != ((~USER_GROUP_STRID_MASK) & userId)) {\n      throw new IllegalArgumentException(\"UID must fit in 24 bits\");\n    }\n\n    long groupId = groups.get(group);\n    if (0L != ((~USER_GROUP_STRID_MASK) & groupId)) {\n      throw new IllegalArgumentException(\"GID must fit in 24 bits\");\n    }\n    return ((userId & USER_GROUP_STRID_MASK) << USER_STRID_OFFSET)\n        | ((groupId & USER_GROUP_STRID_MASK) << GROUP_STRID_OFFSET)\n        | permission;\n  }\n\n  private final Map<String, Integer> users;\n  private final Map<String, Integer> groups;\n\n  public UGIResolver() {\n    this(new HashMap<String, Integer>(), new HashMap<String, Integer>());\n  }\n\n  UGIResolver(Map<String, Integer> users, Map<String, Integer> groups) {\n    this.users = users;\n    this.groups = groups;\n  }\n","sourceCodeStart":46,"sourceCodeEnd":82,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-fs2img/src/main/java/org/apache/hadoop/hdfs/server/namenode/UGIResolver.java#L46-L82","documentation":"Error \"GID must fit in 24 bits\" thrown in apache/hadoop.","triggerScenarios":"A group mapping supplied to UGIResolver produces a GID larger than 24 bits, which cannot be encoded into the fsimage's user/group ID space.","commonSituations":"See trigger scenarios.","solutions":["Remap groups so every GID is below 2^24 before generating the image."],"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"}