{"record":{"id":"10a411a403f0eb1f","repo":"apache/hadoop","slug":"router-is-overloaded-for-ns","errorCode":null,"errorMessage":"Router {} is overloaded for NS: {}","messagePattern":"Router (.+?) is overloaded for NS: (.+?)","errorType":"exception","errorClass":"StandbyException","httpStatus":null,"severity":"error","filePath":"hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/RouterRpcClient.java","lineNumber":1871,"sourceCode":"   * @throws IOException If permit could not be acquired for the nsId.\n   */\n  protected void acquirePermit(final String nsId, final UserGroupInformation ugi,\n      final String methodName, RouterRpcFairnessPolicyController controller)\n      throws IOException {\n    if (controller != null) {\n      if (!controller.acquirePermit(nsId)) {\n        // Throw StandByException,\n        // Clients could fail over and try another router.\n        if (rpcMonitor != null) {\n          rpcMonitor.proxyOpPermitRejected(nsId);\n        }\n        incrRejectedPermitForNs(nsId);\n        LOG.debug(\"Permit denied for ugi: {} for method: {}\",\n            ugi, methodName);\n        String msg =\n            \"Router \" + router.getRouterId() +\n                \" is overloaded for NS: \" + nsId;\n        throw new StandbyException(msg);\n      }\n      if (rpcMonitor != null) {\n        rpcMonitor.proxyOpPermitAccepted(nsId);\n      }\n      incrAcceptedPermitForNs(nsId);\n    }\n  }\n\n  /**\n   * Release permit for specific nsId after processing against downstream\n   * nsId is completed.\n   *  @param nsId Identifier of the block pool.\n   * @param ugi UserGroupIdentifier associated with the user.\n   * @param m Remote method that needs to be invoked.\n   * @param controller fairness policy controller to release permit from\n   */\n  protected void releasePermit(final String nsId, final UserGroupInformation ugi,\n      final RemoteMethod m, RouterRpcFairnessPolicyController controller) {","sourceCodeStart":1853,"sourceCodeEnd":1889,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/RouterRpcClient.java#L1853-L1889","documentation":"Error \"Router {} is overloaded for NS: {}\" thrown in apache/hadoop.","triggerScenarios":"Per-nameservice overload control rejected the request because that NS's handler pool is saturated.","commonSituations":"One hot nameservice consuming all its allotted Router handlers during heavy client load.","solutions":["Raise the per-nameservice handler quota (dfs.federation.router.handler.count per NS or async handler counts).","Scale out with additional Routers for the busy nameservice.","Investigate slow subcluster responses that tie up handler threads."],"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"}