{"record":{"id":"d750f896756d8019","repo":"apache/hadoop","slug":"operation-category-op-is-not-supported-at-getro","errorCode":null,"errorMessage":"Operation category {op} is not supported at {getRole()}","messagePattern":"Operation category (.+?) is not supported at (.+?)","errorType":"exception","errorClass":"StandbyException","httpStatus":null,"severity":"error","filePath":"hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BackupNode.java","lineNumber":459,"sourceCode":"\n  @Override // NameNode\n  protected NameNodeHAContext createHAContext() {\n    return new BNHAContext();\n  }\n\n  private class BNHAContext extends NameNodeHAContext {\n    @Override // NameNodeHAContext\n    public void checkOperation(OperationCategory op)\n        throws StandbyException {\n      if (op == OperationCategory.UNCHECKED ||\n          op == OperationCategory.CHECKPOINT) {\n        return;\n      }\n      if (OperationCategory.JOURNAL != op &&\n          !(OperationCategory.READ == op && !isRole(NamenodeRole.CHECKPOINT))) {\n        String msg = \"Operation category \" + op\n            + \" is not supported at \" + getRole();\n        throw new StandbyException(msg);\n      }\n    }\n\n    @Override // NameNodeHAContext\n    public void prepareToStopStandbyServices() throws ServiceFailedException {\n    }\n\n    /**\n     * Start services for BackupNode.\n     * <p>\n     * The following services should be muted\n     * (not run or not pass any control commands to DataNodes)\n     * on BackupNode:\n     * {@link LeaseManager.Monitor} protected by SafeMode.\n     * {@link BlockManager.RedundancyMonitor} protected by SafeMode.\n     * {@link HeartbeatManager.Monitor} protected by SafeMode.\n     * {@link DatanodeAdminManager.Monitor} need to prohibit refreshNodes().\n     * {@link PendingReconstructionBlocks.PendingReconstructionMonitor}","sourceCodeStart":441,"sourceCodeEnd":477,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BackupNode.java#L441-L477","documentation":"Error \"Operation category {op} is not supported at {getRole()}\" thrown in apache/hadoop.","triggerScenarios":"RPC for a write or unsupported operation category sent to a BackupNode/standby role instead of the active NameNode.","commonSituations":"See trigger scenarios.","solutions":["Issue the operation against the active NameNode instead of the BackupNode; BackupNode only supports read/checkpoint-related operation categories."],"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-23T01:17:44.959Z"}