This is an automated email from the ASF dual-hosted git repository.
tanxinyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new ecd087cc238 [region migration] Ignore old region migration procedure
during procedure framework updating #13138
ecd087cc238 is described below
commit ecd087cc2388f40483fa3e50b8599cca23256d91
Author: Li Yu Heng <[email protected]>
AuthorDate: Thu Aug 15 15:47:34 2024 +0800
[region migration] Ignore old region migration procedure during procedure
framework updating #13138
---
.../confignode/procedure/impl/region/RegionMigrateProcedure.java | 5 +++--
.../iotdb/confignode/procedure/store/ProcedureFactory.java | 9 ++++++++-
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/RegionMigrateProcedure.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/RegionMigrateProcedure.java
index 62045592d5a..8efe3249f57 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/RegionMigrateProcedure.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/RegionMigrateProcedure.java
@@ -215,11 +215,12 @@ public class RegionMigrateProcedure
coordinatorForAddPeer =
ThriftCommonsSerDeUtils.deserializeTDataNodeLocation(byteBuffer);
coordinatorForRemovePeer =
ThriftCommonsSerDeUtils.deserializeTDataNodeLocation(byteBuffer);
} catch (ThriftSerDeException e) {
- LOGGER.error(
- "Error in deserialize {} (procID {}), this procedure may belong to
old version and already cannot be used.",
+ LOGGER.warn(
+ "Error in deserialize {} (procID {}). This procedure will be
ignored. It may belong to old version and cannot be used now.",
this.getClass(),
this.getProcId(),
e);
+ throw e;
}
}
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ProcedureFactory.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ProcedureFactory.java
index bd70c2517b1..b1946264182 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ProcedureFactory.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ProcedureFactory.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.confignode.procedure.store;
+import org.apache.iotdb.commons.exception.runtime.ThriftSerDeException;
import org.apache.iotdb.confignode.procedure.Procedure;
import org.apache.iotdb.confignode.procedure.impl.cq.CreateCQProcedure;
import org.apache.iotdb.confignode.procedure.impl.node.AddConfigNodeProcedure;
@@ -277,7 +278,13 @@ public class ProcedureFactory implements IProcedureFactory
{
LOGGER.error("Unknown Procedure type: {}", typeCode);
throw new IOException("Unknown Procedure type: " + typeCode);
}
- procedure.deserialize(buffer);
+ try {
+ procedure.deserialize(buffer);
+ } catch (ThriftSerDeException e) {
+ LOGGER.warn(
+ "Catch exception while deserializing procedure, this procedure will
be ignored.", e);
+ procedure = null;
+ }
return procedure;
}