This is an automated email from the ASF dual-hosted git repository.
Caideyipi pushed a commit to branch multi-fix
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/multi-fix by this push:
new 0d31a872de1 legacy
0d31a872de1 is described below
commit 0d31a872de16fbe147e918c77c1e1b53f7d95c9e
Author: Caideyipi <[email protected]>
AuthorDate: Thu Apr 30 15:30:35 2026 +0800
legacy
---
.../impl/pipe/task/StopPipeProcedureV2.java | 4 +++-
.../impl/pipe/task/StopPipeProcedureV2Test.java | 20 ++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/StopPipeProcedureV2.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/StopPipeProcedureV2.java
index 3a8beb136ac..b2e1a584ec5 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/StopPipeProcedureV2.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/StopPipeProcedureV2.java
@@ -172,7 +172,9 @@ public class StopPipeProcedureV2 extends
AbstractOperatePipeProcedureV2 {
public void deserialize(ByteBuffer byteBuffer) {
super.deserialize(byteBuffer);
pipeName = ReadWriteIOUtils.readString(byteBuffer);
- isStoppedByRuntimeExceptionBeforeStop =
ReadWriteIOUtils.readBool(byteBuffer);
+ // Legacy persisted procedures do not carry this field.
+ isStoppedByRuntimeExceptionBeforeStop =
+ byteBuffer.hasRemaining() && ReadWriteIOUtils.readBool(byteBuffer);
}
@Override
diff --git
a/iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/StopPipeProcedureV2Test.java
b/iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/StopPipeProcedureV2Test.java
index f448383e3a0..e3da356059b 100644
---
a/iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/StopPipeProcedureV2Test.java
+++
b/iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/StopPipeProcedureV2Test.java
@@ -106,6 +106,26 @@ public class StopPipeProcedureV2Test {
}
}
+ @Test
+ public void serializeDeserializeLegacyFormatTest() {
+ final PublicBAOS byteArrayOutputStream = new PublicBAOS();
+ final DataOutputStream outputStream = new
DataOutputStream(byteArrayOutputStream);
+
+ final StopPipeProcedureV2 proc = new StopPipeProcedureV2("testPipe");
+
+ try {
+ proc.serialize(outputStream);
+ final ByteBuffer buffer =
+ ByteBuffer.wrap(byteArrayOutputStream.getBuf(), 0,
byteArrayOutputStream.size() - 1);
+ final StopPipeProcedureV2 proc2 =
+ (StopPipeProcedureV2) ProcedureFactory.getInstance().create(buffer);
+
+ assertEquals(proc, proc2);
+ } catch (Exception e) {
+ fail();
+ }
+ }
+
@Test
public void testStopPipeWritesStatusAndRuntimeExceptionFlagAtomically()
throws Exception {
final String pipeName = "testPipe";