This is an automated email from the ASF dual-hosted git repository.

jiangtian 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 da250b8113c Skip broken pipe plugins on startup and snapshot load 
(#17470)
da250b8113c is described below

commit da250b8113cb41671b52f0f77baa2ff9f3321a06
Author: Zhenyu Luo <[email protected]>
AuthorDate: Wed Apr 15 10:28:09 2026 +0800

    Skip broken pipe plugins on startup and snapshot load (#17470)
    
    - PipeAgentLauncher: catch Throwable per plugin so registration errors do 
not stop startup
    - PipePluginInfo: catch Throwable when loading plugin classes from 
snapshot; continue with remaining plugins
    
    Made-with: Cursor
---
 .../org/apache/iotdb/confignode/persistence/pipe/PipePluginInfo.java  | 4 ++--
 .../org/apache/iotdb/db/pipe/agent/runtime/PipeAgentLauncher.java     | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipePluginInfo.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipePluginInfo.java
index e53ef00b308..c7c138718f6 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipePluginInfo.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipePluginInfo.java
@@ -413,14 +413,14 @@ public class PipePluginInfo implements SnapshotProcessor {
             pipePluginMetaKeeper.addPipePluginVisibility(
                 pluginName, 
VisibilityUtils.calculateFromPluginClass(pluginClass));
             classLoaderManager.addPluginAndClassLoader(pluginName, 
pipePluginClassLoader);
-          } catch (final Exception e) {
+          } catch (final Throwable e) {
             try {
               pipePluginClassLoader.close();
             } catch (final Exception ignored) {
             }
             throw e;
           }
-        } catch (final Exception e) {
+        } catch (final Throwable e) {
           LOGGER.warn(
               "Failed to load plugin class for plugin [{}] when loading 
snapshot [{}] ",
               pluginName,
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/runtime/PipeAgentLauncher.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/runtime/PipeAgentLauncher.java
index 01289109371..5a408a319e7 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/runtime/PipeAgentLauncher.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/runtime/PipeAgentLauncher.java
@@ -90,7 +90,7 @@ class PipeAgentLauncher {
         }
         PipeDataNodeAgent.plugin().doRegister(meta);
       }
-    } catch (Exception e) {
+    } catch (Throwable e) {
       // Ignore the pipe plugin errors and continue to start
       LOGGER.warn("Failure when register pipe plugins, will ignore.", e);
     }

Reply via email to