{"record":{"id":"4de3eaae230fd7a1","repo":"apache/hadoop","slug":"cannot-create-meta-block-until-previous-block-is-c","errorCode":null,"errorMessage":"Cannot create Meta Block until previous block is closed.","messagePattern":"Cannot create Meta Block until previous block is closed\\.","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/file/tfile/BCFile.java","lineNumber":351,"sourceCode":"          out.writeLong(offsetIndexMeta);\n\n          API_VERSION.write(out);\n          Magic.write(out);\n          out.flush();\n        }\n      } finally {\n        closed = true;\n      }\n    }\n\n    private Algorithm getDefaultCompressionAlgorithm() {\n      return dataIndex.getDefaultCompressionAlgorithm();\n    }\n\n    private BlockAppender prepareMetaBlock(String name, Algorithm compressAlgo)\n        throws IOException, MetaBlockAlreadyExists {\n      if (blkInProgress == true) {\n        throw new IllegalStateException(\n            \"Cannot create Meta Block until previous block is closed.\");\n      }\n\n      if (metaIndex.getMetaByName(name) != null) {\n        throw new MetaBlockAlreadyExists(\"name=\" + name);\n      }\n\n      MetaBlockRegister mbr = new MetaBlockRegister(name, compressAlgo);\n      WBlockState wbs =\n          new WBlockState(compressAlgo, out, fsOutputBuffer, conf);\n      BlockAppender ba = new BlockAppender(mbr, wbs);\n      blkInProgress = true;\n      metaBlkSeen = true;\n      return ba;\n    }\n\n    /**\n     * Create a Meta Block and obtain an output stream for adding data into the","sourceCodeStart":333,"sourceCodeEnd":369,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/file/tfile/BCFile.java#L333-L369","documentation":"Error \"Cannot create Meta Block until previous block is closed.\" thrown in apache/hadoop.","triggerScenarios":"Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/file/tfile/BCFile.java:351 when the library encounters an invalid state.","commonSituations":"Occurs when a new Meta Block is started while a previous block is still open. Close the previous block before preparing a new meta block.","solutions":["Close the previous block before preparing a new meta block; do not interleave block creation."],"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"}