{"record":{"id":"a7d9e05b81c3f0e1","repo":"risingwavelabs/risingwave","slug":"should-not-get-barrier-when-decoding-stream-chunk","errorCode":null,"errorMessage":"should not get barrier when decoding stream chunk","messagePattern":"should not get barrier when decoding stream chunk","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/stream/src/common/log_store_impl/kv_log_store/serde.rs","lineNumber":509,"sourceCode":"                            epoch,\n                            expected_epoch\n                        ));\n                    }\n                    read_info.read_update(row_size);\n                    ops.push(Op::UpdateDelete);\n                    ops.push(Op::UpdateInsert);\n                    if ops.len() > size_bound {\n                        return Err(anyhow!(\n                            \"row count {} exceed size bound {}\",\n                            ops.len(),\n                            size_bound\n                        ));\n                    }\n                    assert!(data_chunk_builder.append_one_row(old_value).is_none());\n                    assert!(data_chunk_builder.append_one_row(new_value).is_none());\n                }\n                (_, LogStoreOp::Barrier { .. }) => {\n                    return Err(anyhow!(\"should not get barrier when decoding stream chunk\"));\n                }\n            }\n        }\n        if ops.is_empty() {\n            return Err(anyhow!(\n                \"should not get empty row when decoding stream chunk. start seq id: {}, end seq id {}\",\n                start_seq_id,\n                end_seq_id\n            ));\n        }\n        read_info.report(metrics);\n        Ok(StreamChunk::from_parts(\n            ops,\n            data_chunk_builder\n                .consume_all()\n                .expect(\"should not be empty\"),\n        ))\n    }","sourceCodeStart":491,"sourceCodeEnd":527,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/stream/src/common/log_store_impl/kv_log_store/serde.rs#L491-L527","documentation":"Guard in deserialize_stream_chunk: a barrier item was encountered while decoding a stream chunk. Barriers belong to a separate decoding path; seeing one in the row-stream means the read range mixed barrier and row entries, which is invalid, so decoding aborts.","triggerScenarios":"Thrown at src/stream/src/common/log_store_impl/kv_log_store/serde.rs:509 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["A barrier row was encountered while decoding a data stream chunk, meaning the reader mixed barrier and row streams. Check the stream selection/keying of the KV log store reader.","Ensure barriers are read through the barrier stream path, not the chunk decoder."],"exampleFix":null,"handlingStrategy":"type-guard","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"}