{"record":{"id":"f1f632de9b6d0581","repo":"risingwavelabs/risingwave","slug":"current-aligning-barrier-is-checkpoint-curren","errorCode":null,"errorMessage":"current aligning barrier is_checkpoint: {}, current barrier is_checkpoint {}","messagePattern":"current aligning barrier is_checkpoint: (.+?), current barrier is_checkpoint (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/stream/src/common/log_store_impl/kv_log_store/serde.rs","lineNumber":606,"sourceCode":"                .map(|(vnode, s)| deserialize_stream(vnode, s, serde.clone()).peekable())\n                .collect(),\n            row_streams: FuturesUnordered::new(),\n            not_started_streams: Vec::new(),\n            stream_state: StreamState::Uninitialized,\n            metrics,\n        }\n    }\n\n    fn check_is_checkpoint(&self, is_checkpoint: bool) -> LogStoreResult<()> {\n        if let StreamState::BarrierAligning {\n            is_checkpoint: curr_is_checkpoint,\n            ..\n        } = &self.stream_state\n        {\n            if is_checkpoint == *curr_is_checkpoint {\n                Ok(())\n            } else {\n                Err(anyhow!(\n                    \"current aligning barrier is_checkpoint: {}, current barrier is_checkpoint {}\",\n                    curr_is_checkpoint,\n                    is_checkpoint\n                ))\n            }\n        } else {\n            Ok(())\n        }\n    }\n\n    #[try_stream(ok = (Epoch, KvLogStoreItem), error = anyhow::Error)]\n    async fn into_vnode_log_store_item_stream(mut self, chunk_size: usize) {\n        assert!(chunk_size >= 2, \"too small chunk_size: {}\", chunk_size);\n        let mut ops = Vec::with_capacity(chunk_size);\n        let mut data_chunk_builder =\n            DataChunkBuilder::new(self.serde.payload_schema.clone(), chunk_size);\n\n        let mut progress = HashMap::new();","sourceCodeStart":588,"sourceCodeEnd":624,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/stream/src/common/log_store_impl/kv_log_store/serde.rs#L588-L624","documentation":"Guard in the KV log store reader's check_is_checkpoint: while the stream is in BarrierAligning state, the incoming barrier's is_checkpoint flag differs from the one already being aligned. Two different kinds of barriers cannot be aligned together, so the read fails with this diagnostic message.","triggerScenarios":"Thrown at src/stream/src/common/log_store_impl/kv_log_store/serde.rs:606 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["check_is_checkpoint detected a mismatch between the checkpoint flag of the barrier being aligned and the current aligning state, i.e., barriers arrived out of order or a barrier was consumed by the wrong stream.","Check upstream barrier scheduling; restart the actor so barrier alignment state resets.","If reproducible, report with both flags from the message."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}