You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2022/02/09 08:11:19 UTC

[incubator-inlong] branch release-1.0.0 updated (68cda13 -> e934aa1)

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

dockerzhang pushed a change to branch release-1.0.0
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git.


    from 68cda13  [INLONG-2393] fix the typo for changes file
     new 27ad49b  [INLONG-2396][Manager] Add manager-plugin-examples as a sub-module of inlong-manager (#2397)
     new e85c72e  [INLONG-2401][Bug][InLong-Sort] Fix bugs in kafka sink unit tests (#2401) (#2402)
     new e934aa1  [INLONG-2414][Manager] Exclude test jar file during the apache-rat-plugin check (#2415)

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 inlong-manager/manager-plugin-examples/pom.xml     |  11 +--
 .../manager/service/core/plugin/PluginService.java |   4 +-
 .../service/core/plugin/PluginServiceTest.java     |   6 +-
 .../resources/plugins/inlong-manager-plugin.jar    | Bin 12277 -> 0 bytes
 .../resources/plugins/manager-plugin-examples.jar  | Bin 0 -> 12254 bytes
 inlong-manager/pom.xml                             |   1 +
 inlong-sort/sort-single-tenant/pom.xml             |  14 ++--
 .../flink/kafka/KafkaSinkTestBase.java             |  60 +++++++++++++---
 .../flink/kafka/RowToJsonKafkaSinkTest.java        |  11 +--
 .../flink/kafka/RowToStringKafkaSinkTest.java      |  11 +--
 .../sort/singletenant/flink/utils/NetUtils.java    |  77 +++++++++++++++++++++
 pom.xml                                            |   2 +
 12 files changed, 148 insertions(+), 49 deletions(-)
 delete mode 100644 inlong-manager/manager-service/src/test/resources/plugins/inlong-manager-plugin.jar
 create mode 100644 inlong-manager/manager-service/src/test/resources/plugins/manager-plugin-examples.jar
 create mode 100644 inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/utils/NetUtils.java

[incubator-inlong] 01/03: [INLONG-2396][Manager] Add manager-plugin-examples as a sub-module of inlong-manager (#2397)

Posted by do...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dockerzhang pushed a commit to branch release-1.0.0
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git

commit 27ad49b541f6737ca94e1dac8f6b8a71c008638d
Author: dockerzhang <do...@tencent.com>
AuthorDate: Sun Feb 6 18:23:47 2022 +0800

    [INLONG-2396][Manager] Add manager-plugin-examples as a sub-module of inlong-manager (#2397)
---
 inlong-manager/manager-plugin-examples/pom.xml | 9 ++-------
 inlong-manager/pom.xml                         | 1 +
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/inlong-manager/manager-plugin-examples/pom.xml b/inlong-manager/manager-plugin-examples/pom.xml
index a4e1198..601db4b 100644
--- a/inlong-manager/manager-plugin-examples/pom.xml
+++ b/inlong-manager/manager-plugin-examples/pom.xml
@@ -22,17 +22,12 @@
     <parent>
         <artifactId>inlong-manager</artifactId>
         <groupId>org.apache.inlong</groupId>
-        <version>0.13.0-incubating-SNAPSHOT</version>
+        <version>1.0.0-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>inlong-manager-plugin</artifactId>
 
-    <properties>
-        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
-    </properties>
-
     <dependencies>
         <dependency>
             <groupId>org.apache.inlong</groupId>
@@ -53,4 +48,4 @@
         </resources>
         <finalName>${project.name}</finalName>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/inlong-manager/pom.xml b/inlong-manager/pom.xml
index ebc60d6..4dedf1c 100644
--- a/inlong-manager/pom.xml
+++ b/inlong-manager/pom.xml
@@ -36,6 +36,7 @@
         <module>manager-service</module>
         <module>manager-web</module>
         <module>manager-docker</module>
+        <module>manager-plugin-examples</module>
     </modules>
 
     <properties>

[incubator-inlong] 02/03: [INLONG-2401][Bug][InLong-Sort] Fix bugs in kafka sink unit tests (#2401) (#2402)

Posted by do...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dockerzhang pushed a commit to branch release-1.0.0
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git

commit e85c72ec71e55e3fbe2a28c4c44b52d2da7d1846
Author: Kevin Wen <89...@users.noreply.github.com>
AuthorDate: Wed Feb 9 10:16:47 2022 +0800

    [INLONG-2401][Bug][InLong-Sort] Fix bugs in kafka sink unit tests (#2401) (#2402)
---
 inlong-sort/sort-single-tenant/pom.xml             | 14 ++--
 .../flink/kafka/KafkaSinkTestBase.java             | 60 +++++++++++++----
 .../flink/kafka/RowToJsonKafkaSinkTest.java        | 11 +---
 .../flink/kafka/RowToStringKafkaSinkTest.java      | 11 +---
 .../sort/singletenant/flink/utils/NetUtils.java    | 77 ++++++++++++++++++++++
 5 files changed, 136 insertions(+), 37 deletions(-)

diff --git a/inlong-sort/sort-single-tenant/pom.xml b/inlong-sort/sort-single-tenant/pom.xml
index dce0bb0..7448a3f 100644
--- a/inlong-sort/sort-single-tenant/pom.xml
+++ b/inlong-sort/sort-single-tenant/pom.xml
@@ -54,12 +54,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.inlong</groupId>
-            <artifactId>sort-connectors</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
             <groupId>org.apache.flink</groupId>
             <artifactId>flink-core</artifactId>
             <scope>provided</scope>
@@ -104,6 +98,14 @@
             <scope>test</scope>
         </dependency>
 
+        <!-- kafka sink tests will be failed without it -->
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.10.0</version>
+            <scope>test</scope>
+        </dependency>
+
         <dependency>
             <groupId>org.apache.flink</groupId>
             <artifactId>flink-test-utils_${flink.scala.binary.version}</artifactId>
diff --git a/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/KafkaSinkTestBase.java b/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/KafkaSinkTestBase.java
index aa075ea..e4ffcc8 100644
--- a/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/KafkaSinkTestBase.java
+++ b/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/KafkaSinkTestBase.java
@@ -31,6 +31,7 @@ import org.apache.inlong.sort.protocol.serialization.SerializationInfo;
 import org.apache.inlong.sort.protocol.sink.KafkaSinkInfo;
 import org.apache.kafka.clients.admin.AdminClient;
 import org.apache.kafka.clients.admin.NewTopic;
+import org.apache.kafka.clients.consumer.ConsumerRecord;
 import org.apache.kafka.clients.consumer.ConsumerRecords;
 import org.apache.kafka.clients.consumer.KafkaConsumer;
 import org.apache.kafka.common.network.ListenerName;
@@ -42,11 +43,14 @@ import org.junit.Before;
 import org.junit.ClassRule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import scala.Option;
 import scala.collection.mutable.ArraySeq;
 
 import java.io.IOException;
 import java.time.Duration;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -59,9 +63,13 @@ import java.util.concurrent.TimeoutException;
 
 import static org.apache.flink.util.NetUtils.hostAndPortToUrlString;
 import static org.apache.inlong.sort.singletenant.flink.kafka.KafkaSinkBuilder.buildKafkaSink;
+import static org.apache.inlong.sort.singletenant.flink.utils.NetUtils.getUnusedLocalPort;
+import static org.junit.Assert.assertNull;
 
 public abstract class KafkaSinkTestBase {
 
+    private static final Logger logger = LoggerFactory.getLogger(KafkaSinkTestBase.class);
+
     @ClassRule
     public static TemporaryFolder tempFolder = new TemporaryFolder();
 
@@ -84,13 +92,20 @@ public abstract class KafkaSinkTestBase {
     @Before
     public void setup() throws Exception {
         prepareData();
+        logger.info("Prepare data passed.");
 
         startZK();
+        logger.info("ZK started.");
         startKafkaServer();
+        logger.info("Kafka server started.");
         prepareKafkaClientProps();
+        logger.info("Kafka client properties prepared.");
         kafkaAdmin = AdminClient.create(kafkaClientProperties);
+        logger.info("Kafka admin started.");
         addTopic();
+        logger.info("Topic added to kafka server.");
         kafkaConsumer = new KafkaConsumer<>(kafkaClientProperties);
+        logger.info("Kafka consumer started.");
     }
 
     private void startZK() throws Exception {
@@ -102,6 +117,7 @@ public abstract class KafkaSinkTestBase {
         Properties kafkaProperties = new Properties();
         final String KAFKA_HOST = "localhost";
         kafkaProperties.put("advertised.host.name", KAFKA_HOST);
+        kafkaProperties.put("port", Integer.toString(getUnusedLocalPort(1024)));
         kafkaProperties.put("broker.id", "1");
         kafkaProperties.put("log.dir", tempFolder.newFolder().getAbsolutePath());
         kafkaProperties.put("zookeeper.connect", zkServer.getConnectString());
@@ -120,6 +136,7 @@ public abstract class KafkaSinkTestBase {
                         ListenerName.forSecurityProtocol(SecurityProtocol.PLAINTEXT)
                 )
         );
+        logger.info("Kafka broker conn str = " + brokerConnStr);
     }
 
     private void prepareKafkaClientProps() {
@@ -149,17 +166,29 @@ public abstract class KafkaSinkTestBase {
 
     @After
     public void clean() throws IOException {
-        kafkaConsumer.close();
-        kafkaConsumer = null;
+        if (kafkaConsumer != null) {
+            kafkaConsumer.close();
+            kafkaConsumer = null;
+            logger.info("Kafka consumer closed.");
+        }
 
-        kafkaAdmin.close();
-        kafkaAdmin = null;
+        if (kafkaAdmin != null) {
+            kafkaAdmin.close();
+            kafkaAdmin = null;
+            logger.info("Kafka admin closed.");
+        }
 
-        kafkaServer.shutdown();
-        kafkaServer = null;
+        if (kafkaServer != null) {
+            kafkaServer.shutdown();
+            kafkaServer = null;
+            logger.info("Kafka server closed.");
+        }
 
-        zkServer.close();
-        zkServer = null;
+        if (zkServer != null) {
+            zkServer.close();
+            zkServer = null;
+            logger.info("ZK closed.");
+        }
     }
 
     @Test(timeout = 3 * 60 * 1000)
@@ -192,21 +221,30 @@ public abstract class KafkaSinkTestBase {
 
     private void verify() throws InterruptedException {
         kafkaConsumer.subscribe(Collections.singleton(topic));
+        List<String> results = new ArrayList<>();
         while (true) {
             ConsumerRecords<String, String> records = kafkaConsumer.poll(Duration.ofSeconds(1));
-            if (records.isEmpty() || records.count() != testRows.size()) {
+            if (!records.isEmpty()) {
+                for (ConsumerRecord<String, String> record : records) {
+                    assertNull(record.key());
+                    results.add(record.value());
+                }
+            }
+
+            if (results.size() != testRows.size()) {
                 //noinspection BusyWait
                 Thread.sleep(1000);
+                logger.info("for topic " + topic + ", record size = " + results.size());
                 continue;
             }
 
-            verifyData(records);
+            verifyData(results);
 
             break;
         }
     }
 
-    protected abstract void verifyData(ConsumerRecords<String, String> records);
+    protected abstract void verifyData(List<String> results);
 
     private TestingSource createTestingSource() {
         TestingSource testingSource = new TestingSource();
diff --git a/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/RowToJsonKafkaSinkTest.java b/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/RowToJsonKafkaSinkTest.java
index f92025c..7bade20 100644
--- a/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/RowToJsonKafkaSinkTest.java
+++ b/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/RowToJsonKafkaSinkTest.java
@@ -26,8 +26,6 @@ import org.apache.inlong.sort.formats.common.MapFormatInfo;
 import org.apache.inlong.sort.formats.common.StringFormatInfo;
 import org.apache.inlong.sort.protocol.FieldInfo;
 import org.apache.inlong.sort.protocol.serialization.JsonSerializationInfo;
-import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -35,7 +33,6 @@ import java.util.List;
 import java.util.Map;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
 
 public class RowToJsonKafkaSinkTest extends KafkaSinkTestBase {
     @Override
@@ -72,13 +69,7 @@ public class RowToJsonKafkaSinkTest extends KafkaSinkTestBase {
     }
 
     @Override
-    protected void verifyData(ConsumerRecords<String, String> records) {
-        List<String> results = new ArrayList<>();
-        for (ConsumerRecord<String, String> record : records) {
-            assertNull(record.key());
-            results.add(record.value());
-        }
-
+    protected void verifyData(List<String> results) {
         List<String> expectedData = new ArrayList<>();
         expectedData.add("{\"f1\":\"zhangsan\",\"f2\":{\"high\":170.5},\"f3\":[123]}");
         expectedData.add("{\"f1\":\"lisi\",\"f2\":{\"high\":180.5},\"f3\":[1234]}");
diff --git a/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/RowToStringKafkaSinkTest.java b/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/RowToStringKafkaSinkTest.java
index 3617571..fc10f1f 100644
--- a/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/RowToStringKafkaSinkTest.java
+++ b/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/kafka/RowToStringKafkaSinkTest.java
@@ -22,14 +22,11 @@ import org.apache.flink.types.Row;
 import org.apache.inlong.sort.formats.common.DoubleFormatInfo;
 import org.apache.inlong.sort.formats.common.StringFormatInfo;
 import org.apache.inlong.sort.protocol.FieldInfo;
-import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
 
 import java.util.ArrayList;
 import java.util.List;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
 
 public class RowToStringKafkaSinkTest extends KafkaSinkTestBase {
 
@@ -56,13 +53,7 @@ public class RowToStringKafkaSinkTest extends KafkaSinkTestBase {
     }
 
     @Override
-    protected void verifyData(ConsumerRecords<String, String> records) {
-        List<String> results = new ArrayList<>();
-        for (ConsumerRecord<String, String> record : records) {
-            assertNull(record.key());
-            results.add(record.value());
-        }
-
+    protected void verifyData(List<String> results) {
         List<String> expectedData = new ArrayList<>();
         testRows.forEach(row -> expectedData.add(row.toString()));
 
diff --git a/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/utils/NetUtils.java b/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/utils/NetUtils.java
new file mode 100644
index 0000000..66f53c4
--- /dev/null
+++ b/inlong-sort/sort-single-tenant/src/test/java/org/apache/inlong/sort/singletenant/flink/utils/NetUtils.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.sort.singletenant.flink.utils;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.Socket;
+import java.net.UnknownHostException;
+
+public class NetUtils {
+    /**
+     * Looking for an unused local port starting from given port.
+     * If the given port is less than or equal to 0, then start from 1024.
+     *
+     * @param start the given start port
+     * @return an unused local port, -1 if not found
+     */
+    public static int getUnusedLocalPort(int start) {
+        for (int port = Math.max(start, 1024); port <= 65535; port++) {
+            if (!isLocalPortInUse(port)) {
+                return port;
+            }
+        }
+        return -1;
+    }
+
+    /**
+     * Check whether the given port is in use at local.
+     *
+     * @param port port to be checked
+     * @return true if in use, otherwise false
+     */
+    public static boolean isLocalPortInUse(int port) {
+        boolean flag = true;
+        try {
+            flag = isPortInUse("127.0.0.1", port);
+        } catch (Exception ignored) {
+            // ignored
+        }
+        return flag;
+    }
+
+    /**
+     * Check whether the given port is in use online.
+     *
+     * @param host IP
+     * @param port port
+     * @return true if in use, otherwise false
+     * @throws UnknownHostException thrown if the given IP is unknown
+     */
+    public static boolean isPortInUse(String host, int port) throws UnknownHostException {
+        InetAddress theAddress = InetAddress.getByName(host);
+        try {
+            new Socket(theAddress, port);
+            return true;
+        } catch (IOException ignored) {
+            // ignored
+        }
+        return false;
+    }
+}

[incubator-inlong] 03/03: [INLONG-2414][Manager] Exclude test jar file during the apache-rat-plugin check (#2415)

Posted by do...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dockerzhang pushed a commit to branch release-1.0.0
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git

commit e934aa19bebef8c263b8a4dd1c8fd08ef1bd67f0
Author: healchow <he...@gmail.com>
AuthorDate: Wed Feb 9 14:57:35 2022 +0800

    [INLONG-2414][Manager] Exclude test jar file during the apache-rat-plugin check (#2415)
    
    * [INLONG-2414][Manager] Exclude test jar file during the apache-rat-plugin check
    
    * [INLONG-2414][Manager] Update manager plugin test case, fix code warning
---
 inlong-manager/manager-plugin-examples/pom.xml          |   2 +-
 .../manager/service/core/plugin/PluginService.java      |   4 ++--
 .../manager/service/core/plugin/PluginServiceTest.java  |   6 ++++--
 .../test/resources/plugins/inlong-manager-plugin.jar    | Bin 12277 -> 0 bytes
 .../test/resources/plugins/manager-plugin-examples.jar  | Bin 0 -> 12254 bytes
 pom.xml                                                 |   2 ++
 6 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/inlong-manager/manager-plugin-examples/pom.xml b/inlong-manager/manager-plugin-examples/pom.xml
index 601db4b..5659edf 100644
--- a/inlong-manager/manager-plugin-examples/pom.xml
+++ b/inlong-manager/manager-plugin-examples/pom.xml
@@ -26,7 +26,7 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>inlong-manager-plugin</artifactId>
+    <artifactId>manager-plugin-examples</artifactId>
 
     <dependencies>
         <dependency>
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginService.java
index 7c364e2..3324a48 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginService.java
@@ -50,7 +50,7 @@ public class PluginService {
     private List<PluginBinder> pluginBinders;
 
     @Getter
-    private List<Plugin> plugins = new ArrayList<>();
+    private final List<Plugin> plugins = new ArrayList<>();
 
     public PluginService() {
         if (StringUtils.isBlank(pluginLoc)) {
@@ -77,7 +77,7 @@ public class PluginService {
         for (PluginDefinition pluginDefinition : pluginDefinitions.values()) {
             String pluginClassName = pluginDefinition.getPluginClass();
             try {
-                Class pluginClass = pluginLoader.loadClass(pluginClassName);
+                Class<?> pluginClass = pluginLoader.loadClass(pluginClassName);
                 Object plugin = pluginClass.getDeclaredConstructor().newInstance();
                 plugins.add((Plugin) plugin);
             } catch (Throwable e) {
diff --git a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/plugin/PluginServiceTest.java b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/plugin/PluginServiceTest.java
index 3ce65fc..756b09e 100644
--- a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/plugin/PluginServiceTest.java
+++ b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/plugin/PluginServiceTest.java
@@ -18,6 +18,8 @@
 package org.apache.inlong.manager.service.core.plugin;
 
 import java.util.List;
+import java.util.Objects;
+
 import org.apache.inlong.manager.common.plugin.Plugin;
 import org.apache.inlong.manager.common.plugin.ProcessPlugin;
 import org.apache.inlong.manager.service.BaseTest;
@@ -32,11 +34,11 @@ public class PluginServiceTest extends BaseTest {
 
     @Test
     public void testReloadPlugin() {
-        String path = this.getClass().getClassLoader().getResource("").getPath();
+        String path = Objects.requireNonNull(this.getClass().getClassLoader().getResource("")).getPath();
         pluginService.setPluginLoc(path + "plugins");
         pluginService.pluginReload();
         List<Plugin> pluginList = pluginService.getPlugins();
-        Assert.assertTrue(pluginList.size() == 1);
+        Assert.assertTrue(pluginList.size() > 0);
         Assert.assertTrue(pluginList.get(0) instanceof ProcessPlugin);
     }
 }
diff --git a/inlong-manager/manager-service/src/test/resources/plugins/inlong-manager-plugin.jar b/inlong-manager/manager-service/src/test/resources/plugins/inlong-manager-plugin.jar
deleted file mode 100644
index 2e52e83..0000000
Binary files a/inlong-manager/manager-service/src/test/resources/plugins/inlong-manager-plugin.jar and /dev/null differ
diff --git a/inlong-manager/manager-service/src/test/resources/plugins/manager-plugin-examples.jar b/inlong-manager/manager-service/src/test/resources/plugins/manager-plugin-examples.jar
new file mode 100644
index 0000000..9eca165
Binary files /dev/null and b/inlong-manager/manager-service/src/test/resources/plugins/manager-plugin-examples.jar differ
diff --git a/pom.xml b/pom.xml
index 7451709..d77dbe5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -250,6 +250,8 @@
                         <exclude>**/tubemq-core/src/test/resources/*.keystore</exclude>
                         <!-- Test case : temporary data for test cases -->
                         <exclude>**/AgentBaseTestsHelper/**</exclude>
+                        <!-- Test case : example jar for test cases -->
+                        <exclude>**/manager-service/src/test/resources/plugins/manager-plugin-examples.jar</exclude>
 
                         <!-- Referenced 3rd codes -->
                         <exclude>**/resources/assets/lib/**</exclude>