diff --git a/extension/DataX/README b/extension/DataX/README
new file mode 100644
index 0000000000..687793e93c
--- /dev/null
+++ b/extension/DataX/README
@@ -0,0 +1,46 @@
+
+
+## DataX Extension Directory
+
+This directory is the doriswriter plug-in development environment of Alibaba DataX.
+
+Because the doriswriter plug-in depends on some modules in the DataX code base, and these module dependencies are not submitted to the official Maven repository, when we develop the doriswriter plug-in, we need to download the complete DataX code base to facilitate our development and compilation of the doriswriter plug-in.
+
+### Directory structure
+
+1. `doriswriter/`
+
+ This directory is the code directory of doriswriter, and this part of the code should be in the Doris code base.
+
+2. `init_env.sh`
+
+ The script mainly performs the following steps:
+
+ 1. Git clone the DataX code base to the local
+ 2. Softlink the `doriswriter/` directory to `DataX/doriswriter`.
+ 3. Add `doriswriter` to the original `DataX/pom.xml`
+
+ After that, developers can enter `DataX/` for development. And the changes in the `DataX/doriswriter` directory will be reflected in the `doriswriter/` directory, which is convenient for developers to submit code.
+
+### How to build
+
+1. Run `init_env.sh`
+2. Modify code of doriswriter in `DataX/doriswriter`
+3. Commit code of doriswriter in `doriswriter`
diff --git a/extension/DataX/doriswriter/README b/extension/DataX/doriswriter/README
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/extension/DataX/init-env.sh b/extension/DataX/init-env.sh
new file mode 100755
index 0000000000..e6a4af816f
--- /dev/null
+++ b/extension/DataX/init-env.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+# Copyright (c) 2017, Baidu.com, Inc. All Rights Reserved
+
+# Licensed 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.
+
+####################################################################
+# This script is used to initial environment of DataX
+####################################################################
+
+set -eo pipefail
+
+DATAX_EXTENSION_HOME=`dirname "$0"`
+DATAX_EXTENSION_HOME=`cd "$DATAX_EXTENSION_HOME"; pwd`
+
+export DATAX_EXTENSION_HOME
+
+DATAX_GITHUB=https://github.com/alibaba/DataX.git
+
+DORISWRITER_DIR=$DATAX_EXTENSION_HOME/doriswriter
+DATAX_GIT_DIR=$DATAX_EXTENSION_HOME/DataX/
+DATAX_POM=$DATAX_EXTENSION_HOME/DataX/pom.xml
+
+if [ ! -d $DATAX_GIT_DIR ]; then
+ echo "Clone DataX from $DATAX_GITHUB"
+ git clone $DATAX_GITHUB $DATAX_GIT_DIR
+ ln -s $DORISWRITER_DIR $DATAX_GIT_DIR/doriswriter
+else
+ echo "DataX code repo exists in $DATAX_GIT_DIR"
+fi
+
+if [ ! -f "$DATAX_POM" ]; then
+ echo "$DATAX_POM does not exist, exit"
+ exit 1
+fi
+
+if [ `grep -c "doriswriter" $DATAX_POM` -eq 0 ]; then
+ echo "No doriswriter module in $DATAX_POM, add it"
+ cp $DATAX_POM ${DATAX_POM}.orig
+ sed -i "s/<\/modules>/ doriswriter<\/module>\n <\/modules>/g" $DATAX_POM
+else
+ echo "doriswriter module exists in $DATAX_POM"
+fi
+
+echo "Finish DataX environment initialization"
diff --git a/fe/fe-core/src/test/java/org/apache/doris/common/ThreadPoolManagerTest.java b/fe/fe-core/src/test/java/org/apache/doris/common/ThreadPoolManagerTest.java
index a31b15cc39..70926302c4 100755
--- a/fe/fe-core/src/test/java/org/apache/doris/common/ThreadPoolManagerTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/common/ThreadPoolManagerTest.java
@@ -19,11 +19,12 @@ package org.apache.doris.common;
import org.apache.doris.metric.Metric;
import org.apache.doris.metric.MetricRepo;
+
import org.junit.Assert;
import org.junit.Test;
-import java.util.concurrent.ThreadPoolExecutor;
import java.util.List;
+import java.util.concurrent.ThreadPoolExecutor;
public class ThreadPoolManagerTest {
@@ -68,10 +69,10 @@ public class ThreadPoolManagerTest {
for (int i = 0; i < 4; i++) {
testFixedThreaddPool.submit(task);
}
-
+
+ Assert.assertTrue(testFixedThreaddPool.getActiveCount() <= 2);
+ Assert.assertTrue(testFixedThreaddPool.getQueue().size() > 0);
Assert.assertEquals(2, testFixedThreaddPool.getPoolSize());
- Assert.assertEquals(2, testFixedThreaddPool.getActiveCount());
- Assert.assertEquals(2, testFixedThreaddPool.getQueue().size());
Assert.assertEquals(0, testFixedThreaddPool.getCompletedTaskCount());
Thread.sleep(2000);