You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hugegraph.apache.org by je...@apache.org on 2022/11/22 12:49:43 UTC

[incubator-hugegraph-computer] branch master updated: [fix][ci] Fix loader compile error & adaptation apache loader/client (#194)

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

jermy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hugegraph-computer.git


The following commit(s) were added to refs/heads/master by this push:
     new c5f11f5d [fix][ci] Fix loader compile error & adaptation apache loader/client (#194)
c5f11f5d is described below

commit c5f11f5d68a4c3b95f420870e4453f3c2b4f3db7
Author: Cong Zhao <zh...@apache.org>
AuthorDate: Tue Nov 22 20:49:38 2022 +0800

    [fix][ci] Fix loader compile error & adaptation apache loader/client (#194)
    
    * Update commit_id
    * use apache client and adapt for client/common/loader
    * remove maven cache
    * print maven log
    * fix imports
    * Update checkstyle.xml
    * enable cache & ignore downloading message
    * improve test start & filter META-INF
    * make new loader compatible
    * sed flink scope in loader code
    * setDaemon = true
    * cache hdfs
    * fix SenderIntegrateTest
    * remove unless `RPC_REMOTE_URL`
    
    Co-authored-by: imbajin <ji...@apache.org>
---
 .github/{workflows => outdated}/release.yml        |   0
 .github/workflows/ci.yml                           |  21 +++-
 checkstyle.xml                                     |   2 +-
 computer-algorithm/pom.xml                         |  10 ++
 .../betweenness/BetweennessCentrality.java         |   2 +-
 .../centrality/betweenness/BetweennessMessage.java |   2 +-
 .../centrality/closeness/ClosenessCentrality.java  |   4 +-
 .../centrality/degree/DegreeCentrality.java        |   2 +-
 .../centrality/pagerank/PageRank4Master.java       |   2 +-
 .../algorithm/community/kcore/KcoreValue.java      |   2 +-
 .../path/rings/filter/FilterDescribe.java          |   2 +-
 computer-api/pom.xml                               |   2 +-
 .../computer/algorithm/AlgorithmParams.java        |   4 +-
 .../core/combiner/DoubleValueSumCombiner.java      |   2 +-
 .../core/combiner/FloatValueSumCombiner.java       |   2 +-
 .../core/combiner/IntValueSumCombiner.java         |   2 +-
 .../core/combiner/LongValueSumCombiner.java        |   2 +-
 .../core/combiner/MergeNewPropertiesCombiner.java  |   2 +-
 .../core/combiner/MergeOldPropertiesCombiner.java  |   2 +-
 .../computer/core/combiner/OverwriteCombiner.java  |   2 +-
 .../core/combiner/OverwritePropertiesCombiner.java |   2 +-
 .../computer/core/combiner/ValueMaxCombiner.java   |   2 +-
 .../computer/core/combiner/ValueMinCombiner.java   |   2 +-
 .../computer/core/common/ComputerContext.java      |   2 +-
 .../hugegraph/computer/core/common/Constants.java  |   2 +-
 .../hugegraph/computer/core/common/SerialEnum.java |   2 +-
 .../hugegraph/computer/core/config/Config.java     |   6 +-
 .../baidu/hugegraph/computer/core/config/Null.java |   2 +-
 .../computer/core/graph/value/BooleanValue.java    |   2 +-
 .../computer/core/graph/value/DoubleValue.java     |   2 +-
 .../computer/core/graph/value/FloatValue.java      |   2 +-
 .../computer/core/graph/value/IntValue.java        |   2 +-
 .../computer/core/graph/value/ListValue.java       |   2 +-
 .../computer/core/graph/value/LongValue.java       |   2 +-
 .../computer/core/graph/value/NullValue.java       |   2 +-
 .../computer/core/graph/value/StringValue.java     |   2 +-
 .../hugegraph/computer/core/graph/value/Value.java |   2 +-
 .../hugegraph/computer/core/input/InputFilter.java |   4 +-
 .../computer/core/worker/FilterComputation.java    |   2 +-
 computer-core/pom.xml                              |  20 ++-
 .../computer/core/aggregator/Aggregators.java      |   2 +-
 .../core/aggregator/DefaultAggregator.java         |   2 +-
 .../core/aggregator/MasterAggrManager.java         |   4 +-
 .../core/aggregator/RegisterAggregators.java       |   2 +-
 .../core/aggregator/WorkerAggrManager.java         |   2 +-
 .../hugegraph/computer/core/bsp/Bsp4Master.java    |   2 +-
 .../hugegraph/computer/core/bsp/Bsp4Worker.java    |   2 +-
 .../baidu/hugegraph/computer/core/bsp/BspBase.java |   2 +-
 .../hugegraph/computer/core/bsp/EtcdClient.java    |   6 +-
 .../computer/core/common/ContainerInfo.java        |   2 +-
 .../computer/core/compute/ComputeManager.java      |   4 +-
 .../computer/core/compute/FileGraphPartition.java  |   4 +-
 .../computer/core/config/ComputerOptions.java      |  26 ++--
 .../computer/core/config/DefaultConfig.java        |  10 +-
 .../computer/core/graph/SuperstepStat.java         |   2 +-
 .../hugegraph/computer/core/graph/id/BytesId.java  |   2 +-
 .../computer/core/graph/value/MapValue.java        |   2 +-
 .../hugegraph/computer/core/input/EdgeFetcher.java |   2 +-
 .../computer/core/input/HugeConverter.java         |   2 +-
 .../hugegraph/computer/core/input/IdUtil.java      |   8 +-
 .../computer/core/input/MasterInputManager.java    |   4 +-
 .../computer/core/input/VertexFetcher.java         |   2 +-
 .../core/input/filter/DefaultInputFilter.java      |   4 +-
 .../filter/ExtractAllPropertyInputFilter.java      |   4 +-
 .../computer/core/input/hg/HugeEdgeFetcher.java    |   6 +-
 .../computer/core/input/hg/HugeElementFetcher.java |   4 +-
 .../computer/core/input/hg/HugeGraphFetcher.java   |   4 +-
 .../core/input/hg/HugeInputSplitFetcher.java       |   8 +-
 .../computer/core/input/hg/HugeVertexFetcher.java  |   6 +-
 .../core/input/loader/FileEdgeFetcher.java         |  16 +--
 .../core/input/loader/FileElementFetcher.java      |  26 ++--
 .../computer/core/input/loader/FileInputSplit.java |   4 +-
 .../core/input/loader/FileVertxFetcher.java        |  12 +-
 .../input/loader/LoaderFileInputSplitFetcher.java  |  18 +--
 .../core/io/AbstractBufferedFileInput.java         |   2 +-
 .../core/io/AbstractBufferedFileOutput.java        |   2 +-
 .../computer/core/io/BufferedFileInput.java        |   4 +-
 .../computer/core/io/BufferedFileOutput.java       |   2 +-
 .../computer/core/io/BufferedStreamInput.java      |   2 +-
 .../computer/core/io/BufferedStreamOutput.java     |   2 +-
 .../computer/core/io/OptimizedBytesInput.java      |   4 +-
 .../computer/core/io/OptimizedBytesOutput.java     |   2 +-
 .../computer/core/io/StructRandomAccessOutput.java |   2 +-
 .../computer/core/io/UnsafeBytesInput.java         |   2 +-
 .../computer/core/io/UnsafeBytesOutput.java        |   2 +-
 .../hugegraph/computer/core/manager/Managers.java  |   4 +-
 .../computer/core/master/MasterService.java        |   6 +-
 .../computer/core/network/ConnectionId.java        |   2 +-
 .../computer/core/network/DataClientManager.java   |   4 +-
 .../computer/core/network/DataServerManager.java   |   2 +-
 .../computer/core/network/TransportConf.java       |   2 +-
 .../computer/core/network/TransportUtil.java       |   4 +-
 .../connection/TransportConnectionManager.java     |   2 +-
 .../computer/core/network/message/DataMessage.java |   2 +-
 .../computer/core/network/message/FailMessage.java |   2 +-
 .../core/network/netty/AbstractNettyHandler.java   |   2 +-
 .../netty/ChannelFutureListenerOnWrite.java        |   2 +-
 .../core/network/netty/HeartbeatHandler.java       |   2 +-
 .../core/network/netty/NettyClientFactory.java     |   4 +-
 .../core/network/netty/NettyTransportClient.java   |   2 +-
 .../core/network/netty/NettyTransportServer.java   |   4 +-
 .../core/network/netty/ServerIdleHandler.java      |   2 +-
 .../core/network/netty/codec/FrameDecoder.java     |   2 +-
 .../network/netty/codec/PreciseFrameDecoder.java   |   2 +-
 .../core/network/session/ClientSession.java        |   4 +-
 .../core/network/session/ServerSession.java        |   2 +-
 .../core/output/AbstractComputerOutput.java        |   2 +-
 .../computer/core/output/LimitedLogOutput.java     |   2 +-
 .../hugegraph/computer/core/output/LogOutput.java  |   2 +-
 .../computer/core/output/hdfs/HdfsOutput.java      |   2 +-
 .../computer/core/output/hg/HugeGraphOutput.java   |  14 +--
 .../computer/core/output/hg/metrics/Printer.java   |   4 +-
 .../core/output/hg/task/BatchInsertTask.java       |  10 +-
 .../computer/core/output/hg/task/InsertTask.java   |   4 +-
 .../core/output/hg/task/SingleInsertTask.java      |   6 +-
 .../computer/core/output/hg/task/TaskManager.java  |  10 +-
 .../computer/core/receiver/MessageRecvBuffers.java |   2 +-
 .../computer/core/receiver/MessageRecvManager.java |   4 +-
 .../core/receiver/MessageRecvPartition.java        |   2 +-
 .../computer/core/rpc/MasterRpcManager.java        |   6 +-
 .../computer/core/rpc/WorkerRpcManager.java        |   6 +-
 .../computer/core/sender/MessageQueue.java         |   2 +-
 .../computer/core/sender/MessageSendBuffers.java   |   2 +-
 .../computer/core/sender/MessageSendManager.java   |   2 +-
 .../computer/core/sender/QueuedMessageSender.java  |   6 +-
 .../computer/core/sender/WriteBuffers.java         |   2 +-
 .../core/sort/flusher/CombinableSorterFlusher.java |   2 +-
 .../sort/flusher/CombineSubKvInnerSortFlusher.java |   2 +-
 .../sort/flusher/CombineSubKvOuterSortFlusher.java |   2 +-
 .../core/sort/flusher/KvInnerSortFlusher.java      |   2 +-
 .../core/sort/flusher/KvOuterSortFlusher.java      |   2 +-
 .../core/sort/flusher/PeekableIterator.java        |   2 +-
 .../core/sort/flusher/PeekableIteratorAdaptor.java |   4 +-
 .../computer/core/sort/merge/FileMergerImpl.java   |   2 +-
 .../computer/core/sort/sorter/SubKvSorter.java     |   2 +-
 .../core/sort/sorting/AbstractInputsSorting.java   |   2 +-
 .../computer/core/sort/sorting/SortManager.java    |   4 +-
 .../computer/core/store/EntryIterator.java         |   2 +-
 .../hugegraph/computer/core/store/FileManager.java |   2 +-
 .../store/buffer/KvEntriesWithFirstSubKvInput.java |   4 +-
 .../core/store/file/hgkvfile/HgkvDirImpl.java      |   4 +-
 .../core/store/file/hgkvfile/HgkvFileImpl.java     |   2 +-
 .../file/hgkvfile/builder/HgkvDirBuilderImpl.java  |   2 +-
 .../file/hgkvfile/builder/HgkvFileBuilderImpl.java |   2 +-
 .../hgkvfile/reader/HgkvDir4SubKvReaderImpl.java   |   4 +-
 .../store/file/select/DisperseEvenlySelector.java  |   2 +-
 .../core/store/file/seqfile/ValueFile.java         |   2 +-
 .../core/store/file/seqfile/ValueFileInput.java    |   2 +-
 .../core/store/file/seqfile/ValueFileOutput.java   |   2 +-
 .../hugegraph/computer/core/util/Consumers.java    |   2 +-
 .../hugegraph/computer/core/util/JsonUtil.java     |   2 +-
 .../hugegraph/computer/core/util/ShutdownHook.java |   6 +-
 .../computer/core/util/StringEncoding.java         |   4 +-
 .../computer/core/worker/WorkerService.java        |   4 +-
 .../hugegraph/computer/core/worker/WorkerStat.java |   2 +-
 .../computer/core/worker/load/LoadService.java     |  10 +-
 computer-core/src/main/resources/log4j2.xml        |  45 +++++--
 computer-dist/src/assembly/travis/install-hdfs.sh  |   6 +-
 .../travis/install-hugegraph-from-source.sh        |   2 +-
 .../assembly/travis/load-data-into-hugegraph.sh    |   7 +-
 .../hugegraph/computer/dist/HugeGraphComputer.java |   8 +-
 computer-driver/pom.xml                            |   7 ++
 .../computer/driver/config/ComputerOptions.java    |  12 +-
 .../computer/driver/config/DriverConfigOption.java |   2 +-
 .../hugegraph/computer/driver/util/JsonUtil.java   |   2 +-
 .../computer/k8s/operator/OperatorEntrypoint.java  |  13 +-
 .../k8s/operator/common/AbstractController.java    |   6 +-
 .../k8s/operator/common/OperatorRequest.java       |   2 +-
 .../k8s/operator/config/OperatorOptions.java       |  10 +-
 .../operator/controller/ComputerJobController.java |   4 +-
 .../operator/controller/ComputerJobDeployer.java   |  24 ++--
 .../src/main/resources/log4j2.xml                  |   4 +-
 .../computer/k8s/config/KubeDriverOptions.java     |  10 +-
 .../computer/k8s/config/KubeSpecOptions.java       |  12 +-
 .../computer/k8s/driver/KubernetesDriver.java      |  10 +-
 .../hugegraph/computer/k8s/util/KubeUtil.java      |   2 +-
 computer-test/pom.xml                              |   2 +-
 .../computer/algorithm/AlgorithmTestBase.java      |  10 +-
 .../computer/algorithm/AlgorithmTestSuite.java     |   4 +-
 .../betweenness/BetweennessCentralityTest.java     |  37 +++---
 .../closeness/ClosenessCentralityTest.java         |  28 ++---
 .../centrality/degree/DegreeCentralityTest.java    |  17 ++-
 .../community/trianglecount/TriangleCountTest.java |  35 +++---
 .../algorithm/path/rings/RingsDetectionTest.java   |  22 ++--
 .../path/rings/RingsDetectionWithFilterTest.java   |  20 +--
 .../core/allocator/DefaultAllocatorTest.java       |   2 +-
 .../computer/core/allocator/RecyclersTest.java     |   2 +-
 .../hugegraph/computer/core/bsp/BspEventTest.java  |   2 +-
 .../hugegraph/computer/core/bsp/EtcdBspTest.java   |   2 +-
 .../computer/core/bsp/EtcdClientTest.java          |   2 +-
 .../core/combiner/DoubleValueSumCombinerTest.java  |   2 +-
 .../core/combiner/FloatValueSumCombinerTest.java   |   2 +-
 .../core/combiner/IntValueSumCombinerTest.java     |   2 +-
 .../core/combiner/LongValueSumCombinerTest.java    |   2 +-
 .../combiner/MergeNewPropertiesCombinerTest.java   |   2 +-
 .../combiner/MergeOldPropertiesCombinerTest.java   |   2 +-
 .../core/combiner/OverwriteCombinerTest.java       |   2 +-
 .../core/combiner/PointerCombinerTest.java         |   2 +-
 .../core/combiner/ValueMaxCombinerTest.java        |   2 +-
 .../core/combiner/ValueMinCombinerTest.java        |   2 +-
 .../computer/core/common/ContainerInfoTest.java    |   2 +-
 .../computer/core/common/ExceptionTest.java        |   2 +-
 .../computer/core/compute/ComputeManagerTest.java  |   2 +-
 .../core/compute/input/EdgesInputTest.java         |   4 +-
 .../core/compute/input/MessageInputTest.java       |   2 +-
 .../core/compute/input/ResuablePointerTest.java    |   2 +-
 .../computer/core/config/DefaultConfigTest.java    |   2 +-
 .../core/graph/BuiltinGraphFactoryTest.java        |   2 +-
 .../computer/core/graph/DefaultEdgeTest.java       |   2 +-
 .../computer/core/graph/DefaultPropertiesTest.java |   2 +-
 .../computer/core/graph/SuperstepStatTest.java     |   2 +-
 .../computer/core/graph/id/BytesIdTest.java        |   2 +-
 .../computer/core/graph/id/IdFactoryTest.java      |   2 +-
 .../computer/core/graph/id/IdTypeTest.java         |   2 +-
 .../core/graph/partition/HashPartitionerTest.java  |   4 +-
 .../core/graph/partition/PartitionStatTest.java    |   2 +-
 .../core/graph/value/BooleanValueTest.java         |   2 +-
 .../computer/core/graph/value/DoubleValueTest.java |   2 +-
 .../computer/core/graph/value/FloatValueTest.java  |   2 +-
 .../computer/core/graph/value/IdListListTest.java  |   2 +-
 .../computer/core/graph/value/IdValueListTest.java |   2 +-
 .../computer/core/graph/value/IdValueTest.java     |   2 +-
 .../computer/core/graph/value/IntValueTest.java    |   2 +-
 .../computer/core/graph/value/ListValueTest.java   |   2 +-
 .../computer/core/graph/value/LongValueTest.java   |   2 +-
 .../computer/core/graph/value/NullValueTest.java   |   2 +-
 .../computer/core/graph/value/StringValueTest.java |   2 +-
 .../computer/core/graph/value/ValueTypeTest.java   |   2 +-
 .../computer/core/input/FileInputSplitTest.java    |   6 +-
 .../computer/core/input/HugeConverterTest.java     |   2 +-
 .../computer/core/input/InputSplitDataTest.java    |   2 +-
 .../computer/core/input/InputSplitTest.java        |   2 +-
 .../core/input/MockWorkerInputManager.java         |   6 +-
 .../computer/core/io/BufferedFileTest.java         |   4 +-
 .../computer/core/io/BufferedStreamTest.java       |   2 +-
 .../computer/core/io/CsvStructGraphOutputTest.java |   2 +-
 .../core/io/JsonStructGraphOutputTest.java         |   2 +-
 .../computer/core/io/OptimizedUnsafeBytesTest.java |   2 +-
 .../core/io/StreamGraphOutputInputTest.java        |   2 +-
 .../core/io/StructRandomAccessOutputTest.java      |   2 +-
 .../computer/core/io/UnsafeBytesTest.java          |   2 +-
 .../computer/core/network/ConnectionIdTest.java    |   2 +-
 .../core/network/DataServerManagerTest.java        |   4 +-
 .../computer/core/network/MockClientHandler.java   |   2 +-
 .../computer/core/network/MockMessageHandler.java  |   2 +-
 .../computer/core/network/TransportUtilTest.java   |   2 +-
 .../core/network/buffer/NetworkBufferTest.java     |   2 +-
 .../network/connection/ConnectionManagerTest.java  |   2 +-
 .../core/network/netty/AbstractNetworkTest.java    |   6 +-
 .../core/network/netty/NettyClientFactoryTest.java |   4 +-
 .../netty/NettyEncodeDecodeHandlerTest.java        |   2 +-
 .../network/netty/NettyTransportClientTest.java    |   6 +-
 .../network/netty/NettyTransportServerTest.java    |   2 +-
 .../core/network/session/TransportSessionTest.java |   8 +-
 .../core/receiver/MessageRecvBuffersTest.java      |   2 +-
 .../core/receiver/MessageRecvManagerTest.java      |   2 +-
 .../edge/EdgeMessageRecvPartitionTest.java         |   2 +-
 .../message/ComputeMessageRecvPartitionTest.java   |   2 +-
 .../vertex/VertexMessageRecvPartitionTest.java     |   2 +-
 .../computer/core/sender/MessageQueueTest.java     |   4 +-
 .../core/sender/MessageSendBuffersTest.java        |   2 +-
 .../computer/core/sender/MultiQueueTest.java       |   2 +-
 .../core/sender/QueuedMessageSenderTest.java       |   8 +-
 .../computer/core/sender/QueuedMessageTest.java    |   2 +-
 .../computer/core/sender/WriteBufferTest.java      |   2 +-
 .../computer/core/sender/WriteBuffersTest.java     |   4 +-
 .../computer/core/sort/SorterTestUtil.java         |   2 +-
 .../core/sort/sorter/EmptyFlusherTest.java         |   2 +-
 .../computer/core/sort/sorter/FlusherTest.java     |   2 +-
 .../core/sort/sorter/SortLargeDataTest.java        |   6 +-
 .../computer/core/sort/sorter/SorterTest.java      |   4 +-
 .../computer/core/sort/sorting/TestData.java       |   2 +-
 .../hugegraph/computer/core/store/BitFileTest.java |   2 +-
 .../computer/core/store/EntriesUtilTest.java       |   2 +-
 .../computer/core/store/FileManagerTest.java       |   2 +-
 .../hugegraph/computer/core/store/HgkvDirTest.java |   2 +-
 .../computer/core/store/HgkvFileTest.java          |   2 +-
 .../computer/core/store/StoreTestUtil.java         |   2 +-
 .../computer/core/store/ValueFileTest.java         |   6 +-
 .../core/util/ComputerContextUtilTest.java         |   2 +-
 .../hugegraph/computer/core/util/JsonUtilTest.java |   2 +-
 .../computer/core/util/SerializeUtilTest.java      |   2 +-
 .../computer/core/worker/MockComputation.java      |   2 +-
 .../computer/core/worker/MockComputation2.java     |   2 +-
 .../core/worker/MockMasterComputation.java         |   2 +-
 .../core/worker/MockMasterComputation2.java        |   2 +-
 .../computer/core/worker/WorkerServiceTest.java    |  12 +-
 .../computer/core/worker/WorkerStatTest.java       |   2 +-
 .../computer/dist/HugeGraphComputerTest.java       |  19 +--
 .../computer/driver/ComputerOptionsTest.java       |  12 +-
 .../hugegraph/computer/driver/DriverTest.java      |   2 +-
 .../hugegraph/computer/driver/DriverTestSuite.java |   2 +-
 .../hugegraph/computer/k8s/AbstractK8sTest.java    |  12 +-
 .../computer/k8s/KubernetesDriverTest.java         |   6 +-
 .../baidu/hugegraph/computer/k8s/MiniKubeTest.java |   6 +-
 .../suite/integrate/IntegrateTestSuite.java        |  11 +-
 .../suite/integrate/SenderIntegrateTest.java       | 140 ++++++++++++---------
 .../computer/suite/unit/UnitTestBase.java          |  84 +++++++++++--
 .../computer/suite/unit/UnitTestSuite.java         |  70 +----------
 .../src/main/resources/computer-worker1.properties |   2 -
 pom.xml                                            |  61 +++++----
 301 files changed, 867 insertions(+), 790 deletions(-)

diff --git a/.github/workflows/release.yml b/.github/outdated/release.yml
similarity index 100%
rename from .github/workflows/release.yml
rename to .github/outdated/release.yml
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a8c4e94d..2af3f6c3 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -14,7 +14,7 @@ jobs:
     env:
       TRAVIS_DIR: computer-dist/src/assembly/travis
       KUBERNETES_VERSION: 1.20.1
-      HUGEGRAPH_SERVER_COMMIT_ID: 848b8fb17804ddc561af832dff0bdc3f6221c904
+      HUGEGRAPH_SERVER_COMMIT_ID: b1b12098feb726e46c781a2f171c77558db05fc1
 
     steps:
       - name: Checkout
@@ -32,6 +32,19 @@ jobs:
         uses: actions/setup-python@v4
         with:
           python-version: '3.8'
+
+      - name: Cache HDFS packages
+        uses: actions/cache@v3
+        id: hdfs-cache
+        with:
+          path: ~/hadoop-3.3.2.tar.gz
+          key: ${{ runner.os }}--hadoop
+          restore-keys: ${{ runner.os }}-hadoop
+
+      - name: Download HDFS
+        if: steps.hdfs-cache.outputs.cache-hit != 'true'
+        run: wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz -O ~/hadoop-3.3.2.tar.gz
+
       - name: Setup HDFS
         run: $TRAVIS_DIR/install-hdfs.sh
 
@@ -62,13 +75,13 @@ jobs:
           distribution: 'zulu'
 
       - name: Compile
-        run: mvn clean compile -Dmaven.javadoc.skip=true | grep -v "Downloading\|Downloaded"
+        run: mvn clean compile -Dmaven.javadoc.skip=true -ntp
 
       - name: Integrate test
-        run: mvn test -P integrate-test
+        run: mvn test -P integrate-test -ntp
 
       - name: Unit test
-        run: mvn test -P unit-test
+        run: mvn test -P unit-test -ntp
 
       - name: Upload coverage to Codecov
         uses: codecov/codecov-action@v3.0.0
diff --git a/checkstyle.xml b/checkstyle.xml
index 9373a70d..b954412f 100644
--- a/checkstyle.xml
+++ b/checkstyle.xml
@@ -19,7 +19,7 @@
     <module name="TreeWalker">
         <!--检查行长度-->
         <module name="LineLength">
-            <property name="max" value="80"/>
+            <property name="max" value="100"/>
             <!--可以忽略的行-->
             <property name="ignorePattern"
                       value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
diff --git a/computer-algorithm/pom.xml b/computer-algorithm/pom.xml
index 29208328..4b6781ef 100644
--- a/computer-algorithm/pom.xml
+++ b/computer-algorithm/pom.xml
@@ -43,6 +43,16 @@
                                     <include>*:*</include>
                                 </includes>
                             </artifactSet>
+                            <filters>
+                                <filter>
+                                    <artifact>*:*</artifact>
+                                    <excludes>
+                                        <exclude>META-INF/*.SF</exclude>
+                                        <exclude>META-INF/*.DSA</exclude>
+                                        <exclude>META-INF/*.RSA</exclude>
+                                    </excludes>
+                                </filter>
+                            </filters>
                         </configuration>
                     </execution>
                 </executions>
diff --git a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessCentrality.java b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessCentrality.java
index e7d849b8..094f3ea8 100644
--- a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessCentrality.java
+++ b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessCentrality.java
@@ -35,7 +35,7 @@ import com.baidu.hugegraph.computer.core.graph.value.IdSet;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
 import com.baidu.hugegraph.computer.core.worker.Computation;
 import com.baidu.hugegraph.computer.core.worker.ComputationContext;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class BetweennessCentrality implements Computation<BetweennessMessage> {
 
diff --git a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessMessage.java b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessMessage.java
index daa1d12d..9503fcfe 100644
--- a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessMessage.java
+++ b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessMessage.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.graph.value.Value.CustomizeValue;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class BetweennessMessage implements CustomizeValue<BetweennessMessage> {
 
diff --git a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/closeness/ClosenessCentrality.java b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/closeness/ClosenessCentrality.java
index bdfa493c..965462e0 100644
--- a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/closeness/ClosenessCentrality.java
+++ b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/closeness/ClosenessCentrality.java
@@ -32,8 +32,8 @@ import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
 import com.baidu.hugegraph.computer.core.worker.Computation;
 import com.baidu.hugegraph.computer.core.worker.ComputationContext;
-import com.baidu.hugegraph.util.Log;
-import com.baidu.hugegraph.util.NumericUtil;
+import org.apache.hugegraph.util.Log;
+import org.apache.hugegraph.util.NumericUtil;
 
 public class ClosenessCentrality implements Computation<ClosenessMessage> {
 
diff --git a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/degree/DegreeCentrality.java b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/degree/DegreeCentrality.java
index a52aa980..6b34884f 100644
--- a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/degree/DegreeCentrality.java
+++ b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/degree/DegreeCentrality.java
@@ -33,7 +33,7 @@ import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
 import com.baidu.hugegraph.computer.core.worker.Computation;
 import com.baidu.hugegraph.computer.core.worker.ComputationContext;
 import com.baidu.hugegraph.computer.core.worker.WorkerContext;
-import com.baidu.hugegraph.util.NumericUtil;
+import org.apache.hugegraph.util.NumericUtil;
 
 public class DegreeCentrality implements Computation<NullValue> {
 
diff --git a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/pagerank/PageRank4Master.java b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/pagerank/PageRank4Master.java
index 28d074dc..f7aeb306 100644
--- a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/pagerank/PageRank4Master.java
+++ b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/pagerank/PageRank4Master.java
@@ -29,7 +29,7 @@ import com.baidu.hugegraph.computer.core.graph.value.ValueType;
 import com.baidu.hugegraph.computer.core.master.MasterComputation;
 import com.baidu.hugegraph.computer.core.master.MasterComputationContext;
 import com.baidu.hugegraph.computer.core.master.MasterContext;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class PageRank4Master implements MasterComputation {
 
diff --git a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/community/kcore/KcoreValue.java b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/community/kcore/KcoreValue.java
index b6c721ff..45e86fef 100644
--- a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/community/kcore/KcoreValue.java
+++ b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/community/kcore/KcoreValue.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.computer.core.graph.id.Id;
 import com.baidu.hugegraph.computer.core.graph.value.Value.CustomizeValue;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class KcoreValue implements CustomizeValue<Object> {
 
diff --git a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/filter/FilterDescribe.java b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/filter/FilterDescribe.java
index caaa965a..38dbc41b 100644
--- a/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/filter/FilterDescribe.java
+++ b/computer-algorithm/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/filter/FilterDescribe.java
@@ -23,7 +23,7 @@ import java.util.List;
 
 import org.apache.commons.collections.CollectionUtils;
 
-import com.baidu.hugegraph.util.JsonUtil;
+import org.apache.hugegraph.util.JsonUtil;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.collect.ImmutableList;
diff --git a/computer-api/pom.xml b/computer-api/pom.xml
index d997d078..19f6311e 100644
--- a/computer-api/pom.xml
+++ b/computer-api/pom.xml
@@ -13,7 +13,7 @@
 
     <dependencies>
         <dependency>
-            <groupId>com.baidu.hugegraph</groupId>
+            <groupId>org.apache.hugegraph</groupId>
             <artifactId>hugegraph-client</artifactId>
         </dependency>
     </dependencies>
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmParams.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmParams.java
index 3302f939..7d531409 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmParams.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmParams.java
@@ -23,8 +23,8 @@ import java.util.Map;
 
 import org.slf4j.Logger;
 
-import com.baidu.hugegraph.config.ConfigOption;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.config.ConfigOption;
+import org.apache.hugegraph.util.Log;
 
 public interface AlgorithmParams {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/DoubleValueSumCombiner.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/DoubleValueSumCombiner.java
index bffe5c97..bbc6bc6d 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/DoubleValueSumCombiner.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/DoubleValueSumCombiner.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.computer.core.combiner;
 
 import com.baidu.hugegraph.computer.core.graph.value.DoubleValue;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class DoubleValueSumCombiner implements Combiner<DoubleValue> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/FloatValueSumCombiner.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/FloatValueSumCombiner.java
index 042f9590..d6238866 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/FloatValueSumCombiner.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/FloatValueSumCombiner.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.computer.core.combiner;
 
 import com.baidu.hugegraph.computer.core.graph.value.FloatValue;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class FloatValueSumCombiner implements Combiner<FloatValue> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/IntValueSumCombiner.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/IntValueSumCombiner.java
index 52acbccf..0395b6f6 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/IntValueSumCombiner.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/IntValueSumCombiner.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.computer.core.combiner;
 
 import com.baidu.hugegraph.computer.core.graph.value.IntValue;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class IntValueSumCombiner implements Combiner<IntValue> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/LongValueSumCombiner.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/LongValueSumCombiner.java
index 1d96e1f4..4fa72f4e 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/LongValueSumCombiner.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/LongValueSumCombiner.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.computer.core.combiner;
 
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class LongValueSumCombiner implements Combiner<LongValue> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeNewPropertiesCombiner.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeNewPropertiesCombiner.java
index 31c3780d..e9eb8a76 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeNewPropertiesCombiner.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeNewPropertiesCombiner.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.computer.core.graph.properties.Properties;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class MergeNewPropertiesCombiner implements PropertiesCombiner {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeOldPropertiesCombiner.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeOldPropertiesCombiner.java
index cf1cdb3e..6ea81a23 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeOldPropertiesCombiner.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeOldPropertiesCombiner.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.computer.core.graph.properties.Properties;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class MergeOldPropertiesCombiner implements PropertiesCombiner {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwriteCombiner.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwriteCombiner.java
index 9c7164cb..0b0f1c28 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwriteCombiner.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwriteCombiner.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.computer.core.combiner;
 
 import com.baidu.hugegraph.computer.core.graph.value.Value;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class OverwriteCombiner<T extends Value> implements Combiner<T> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwritePropertiesCombiner.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwritePropertiesCombiner.java
index 9be66b3a..c9baac7d 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwritePropertiesCombiner.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwritePropertiesCombiner.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.computer.core.combiner;
 
 import com.baidu.hugegraph.computer.core.graph.properties.Properties;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class OverwritePropertiesCombiner implements PropertiesCombiner {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMaxCombiner.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMaxCombiner.java
index a9d01dd3..41c36e74 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMaxCombiner.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMaxCombiner.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.computer.core.combiner;
 
 import com.baidu.hugegraph.computer.core.graph.value.Value;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class ValueMaxCombiner<T extends Value> implements Combiner<T> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMinCombiner.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMinCombiner.java
index 7f3a3635..c21c68fa 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMinCombiner.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMinCombiner.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.computer.core.combiner;
 
 import com.baidu.hugegraph.computer.core.graph.value.Value;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class ValueMinCombiner<T extends Value> implements Combiner<T> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/ComputerContext.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/ComputerContext.java
index 3c5208c1..f7530045 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/ComputerContext.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/ComputerContext.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.common;
 import com.baidu.hugegraph.computer.core.allocator.Allocator;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.graph.GraphFactory;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public final class ComputerContext {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/Constants.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/Constants.java
index 95e1688d..62534a6b 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/Constants.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/Constants.java
@@ -19,7 +19,7 @@
 
 package com.baidu.hugegraph.computer.core.common;
 
-import com.baidu.hugegraph.util.Bytes;
+import org.apache.hugegraph.util.Bytes;
 
 public final class Constants {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/SerialEnum.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/SerialEnum.java
index 01d06d5e..8d073c0d 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/SerialEnum.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/common/SerialEnum.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.computer.core.common;
 
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
-import com.baidu.hugegraph.util.CollectionUtil;
+import org.apache.hugegraph.util.CollectionUtil;
 import com.google.common.collect.HashBasedTable;
 import com.google.common.collect.Table;
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/config/Config.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/config/Config.java
index 9b5b5ff9..dddea7e4 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/config/Config.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/config/Config.java
@@ -19,9 +19,9 @@
 
 package com.baidu.hugegraph.computer.core.config;
 
-import com.baidu.hugegraph.config.ConfigOption;
-import com.baidu.hugegraph.config.HugeConfig;
-import com.baidu.hugegraph.config.TypedOption;
+import org.apache.hugegraph.config.ConfigOption;
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.TypedOption;
 
 public interface Config {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/config/Null.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/config/Null.java
index c9b49323..a82752f0 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/config/Null.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/config/Null.java
@@ -19,7 +19,7 @@
 
 package com.baidu.hugegraph.computer.core.config;
 
-import com.baidu.hugegraph.config.ConfigOption;
+import org.apache.hugegraph.config.ConfigOption;
 
 /**
  * Null is used in ConfigOption<Class> to indicate a null class option.
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/BooleanValue.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/BooleanValue.java
index cb62ab32..42a098d4 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/BooleanValue.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/BooleanValue.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import com.baidu.hugegraph.computer.core.graph.value.Value.Tvalue;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class BooleanValue implements Tvalue<Boolean> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/DoubleValue.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/DoubleValue.java
index 587958bf..a9e768a9 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/DoubleValue.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/DoubleValue.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import com.baidu.hugegraph.computer.core.graph.value.Value.Tvalue;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class DoubleValue extends Number implements Tvalue<Double> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/FloatValue.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/FloatValue.java
index 952166ec..7e3a30e4 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/FloatValue.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/FloatValue.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import com.baidu.hugegraph.computer.core.graph.value.Value.Tvalue;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class FloatValue extends Number implements Tvalue<Float> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IntValue.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IntValue.java
index 38a2ed64..2525157e 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IntValue.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IntValue.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import com.baidu.hugegraph.computer.core.graph.value.Value.Tvalue;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class IntValue extends Number implements Tvalue<Integer> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ListValue.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ListValue.java
index af40732d..1b78dc74 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ListValue.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ListValue.java
@@ -36,7 +36,7 @@ import com.baidu.hugegraph.computer.core.graph.GraphFactory;
 import com.baidu.hugegraph.computer.core.graph.value.Value.Tvalue;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class ListValue<T extends Tvalue<?>> implements Tvalue<List<Object>> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/LongValue.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/LongValue.java
index 800eb6ea..b2bf0107 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/LongValue.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/LongValue.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import com.baidu.hugegraph.computer.core.graph.value.Value.Tvalue;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class LongValue extends Number implements Tvalue<Long> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/NullValue.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/NullValue.java
index cdb9a61f..7973d883 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/NullValue.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/NullValue.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import com.baidu.hugegraph.computer.core.graph.value.Value.Tvalue;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class NullValue implements Tvalue<Void> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/StringValue.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/StringValue.java
index 84e9076f..3520db02 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/StringValue.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/StringValue.java
@@ -25,7 +25,7 @@ import com.baidu.hugegraph.computer.core.common.Constants;
 import com.baidu.hugegraph.computer.core.graph.value.Value.Tvalue;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class StringValue implements Tvalue<String> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/Value.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/Value.java
index 848b8b57..16f2c980 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/Value.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/graph/value/Value.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.computer.core.graph.value;
 
 import com.baidu.hugegraph.computer.core.io.Readable;
 import com.baidu.hugegraph.computer.core.io.Writable;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public interface Value extends Writable, Readable, Comparable<Value> {
 
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/input/InputFilter.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/input/InputFilter.java
index aa685924..8d679246 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/input/InputFilter.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/input/InputFilter.java
@@ -19,8 +19,8 @@
 
 package com.baidu.hugegraph.computer.core.input;
 
-import com.baidu.hugegraph.structure.graph.Edge;
-import com.baidu.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.structure.graph.Edge;
+import org.apache.hugegraph.structure.graph.Vertex;
 
 /**
  * Filter vertices or edges, user can filter vertices, edges and their
diff --git a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/worker/FilterComputation.java b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/worker/FilterComputation.java
index 1bebd15d..af246d05 100644
--- a/computer-api/src/main/java/com/baidu/hugegraph/computer/core/worker/FilterComputation.java
+++ b/computer-api/src/main/java/com/baidu/hugegraph/computer/core/worker/FilterComputation.java
@@ -24,7 +24,7 @@ import java.util.Iterator;
 
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
-import com.baidu.hugegraph.iterator.MapperIterator;
+import org.apache.hugegraph.iterator.MapperIterator;
 
 /**
  * FilterComputation is computation that can't combine the messages. When
diff --git a/computer-core/pom.xml b/computer-core/pom.xml
index 120f340c..147c6a6e 100644
--- a/computer-core/pom.xml
+++ b/computer-core/pom.xml
@@ -16,9 +16,15 @@
             <groupId>com.baidu.hugegraph</groupId>
             <artifactId>computer-api</artifactId>
             <version>${project.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.hugegraph</groupId>
+                    <artifactId>hugegraph-client</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
-            <groupId>com.baidu.hugegraph</groupId>
+            <groupId>org.apache.hugegraph</groupId>
             <artifactId>hugegraph-rpc</artifactId>
         </dependency>
         <dependency>
@@ -43,8 +49,18 @@
             <artifactId>hadoop-hdfs-client</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.baidu.hugegraph</groupId>
+            <groupId>org.apache.hugegraph</groupId>
             <artifactId>hugegraph-loader</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>spark-core_2.12</artifactId>
+                    <groupId>org.apache.spark</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.hugegraph</groupId>
+            <artifactId>hugegraph-client</artifactId>
         </dependency>
     </dependencies>
 </project>
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/Aggregators.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/Aggregators.java
index db9e91dc..c797e7f2 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/Aggregators.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/Aggregators.java
@@ -26,7 +26,7 @@ import java.util.concurrent.ConcurrentHashMap;
 
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.rpc.AggregateRpcService;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.ImmutableMap;
 
 public class Aggregators {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/DefaultAggregator.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/DefaultAggregator.java
index 98debb7b..b3bebe9d 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/DefaultAggregator.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/DefaultAggregator.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.computer.core.graph.value.IntValue;
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.graph.value.ValueType;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class DefaultAggregator<V extends Value> implements Aggregator<V> {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/MasterAggrManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/MasterAggrManager.java
index 5dc8a276..c5ad4597 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/MasterAggrManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/MasterAggrManager.java
@@ -28,8 +28,8 @@ import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.manager.Manager;
 import com.baidu.hugegraph.computer.core.rpc.AggregateRpcService;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 /**
  * Aggregator manager manages aggregators in master.
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/RegisterAggregators.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/RegisterAggregators.java
index 897e98b2..ff428578 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/RegisterAggregators.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/RegisterAggregators.java
@@ -25,7 +25,7 @@ import java.util.concurrent.ConcurrentHashMap;
 
 import com.baidu.hugegraph.computer.core.common.ComputerContext;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class RegisterAggregators {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/WorkerAggrManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/WorkerAggrManager.java
index 8059a49d..5601879f 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/WorkerAggrManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/aggregator/WorkerAggrManager.java
@@ -27,7 +27,7 @@ import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.manager.Manager;
 import com.baidu.hugegraph.computer.core.rpc.AggregateRpcService;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 /**
  * Aggregator manager manages aggregators in worker.
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/Bsp4Master.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/Bsp4Master.java
index 34c6bd73..bc640a9c 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/Bsp4Master.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/Bsp4Master.java
@@ -31,7 +31,7 @@ import com.baidu.hugegraph.computer.core.graph.SuperstepStat;
 import com.baidu.hugegraph.computer.core.graph.value.IntValue;
 import com.baidu.hugegraph.computer.core.util.SerializeUtil;
 import com.baidu.hugegraph.computer.core.worker.WorkerStat;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class Bsp4Master extends BspBase {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/Bsp4Worker.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/Bsp4Worker.java
index 50583af6..6c68ba94 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/Bsp4Worker.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/Bsp4Worker.java
@@ -30,7 +30,7 @@ import com.baidu.hugegraph.computer.core.graph.SuperstepStat;
 import com.baidu.hugegraph.computer.core.graph.value.IntValue;
 import com.baidu.hugegraph.computer.core.util.SerializeUtil;
 import com.baidu.hugegraph.computer.core.worker.WorkerStat;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class Bsp4Worker extends BspBase {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/BspBase.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/BspBase.java
index 6c52826e..32806074 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/BspBase.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/BspBase.java
@@ -24,7 +24,7 @@ import org.slf4j.Logger;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public abstract class BspBase {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdClient.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdClient.java
index a52563c9..21054b6b 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdClient.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdClient.java
@@ -32,9 +32,9 @@ import java.util.function.Consumer;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
-import com.baidu.hugegraph.concurrent.BarrierEvent;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.concurrent.BarrierEvent;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 import com.google.common.annotations.VisibleForTesting;
 
 import io.etcd.jetcd.ByteSequence;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/common/ContainerInfo.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/common/ContainerInfo.java
index 8c523147..01b3f499 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/common/ContainerInfo.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/common/ContainerInfo.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.computer.core.io.Readable;
 import com.baidu.hugegraph.computer.core.io.Writable;
 import com.baidu.hugegraph.computer.core.network.TransportUtil;
 import com.baidu.hugegraph.computer.core.util.JsonUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class ContainerInfo implements Readable, Writable {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/compute/ComputeManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/compute/ComputeManager.java
index 6517fcbb..9d0fcfb5 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/compute/ComputeManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/compute/ComputeManager.java
@@ -41,8 +41,8 @@ import com.baidu.hugegraph.computer.core.util.Consumers;
 import com.baidu.hugegraph.computer.core.worker.WorkerContext;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.worker.WorkerStat;
-import com.baidu.hugegraph.util.ExecutorUtil;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.ExecutorUtil;
+import org.apache.hugegraph.util.Log;
 
 public class ComputeManager {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/compute/FileGraphPartition.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/compute/FileGraphPartition.java
index 38f3df72..457c595c 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/compute/FileGraphPartition.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/compute/FileGraphPartition.java
@@ -50,8 +50,8 @@ import com.baidu.hugegraph.computer.core.store.entry.Pointer;
 import com.baidu.hugegraph.computer.core.worker.Computation;
 import com.baidu.hugegraph.computer.core.worker.ComputationContext;
 import com.baidu.hugegraph.computer.core.worker.WorkerContext;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 public class FileGraphPartition {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/config/ComputerOptions.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/config/ComputerOptions.java
index 6dc4ac47..f3594b4a 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/config/ComputerOptions.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/config/ComputerOptions.java
@@ -19,14 +19,10 @@
 
 package com.baidu.hugegraph.computer.core.config;
 
-import static com.baidu.hugegraph.config.OptionChecker.allowValues;
-import static com.baidu.hugegraph.config.OptionChecker.disallowEmpty;
-import static com.baidu.hugegraph.config.OptionChecker.nonNegativeInt;
-import static com.baidu.hugegraph.config.OptionChecker.positiveInt;
-
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
+import static org.apache.hugegraph.config.OptionChecker.allowValues;
+import static org.apache.hugegraph.config.OptionChecker.disallowEmpty;
+import static org.apache.hugegraph.config.OptionChecker.nonNegativeInt;
+import static org.apache.hugegraph.config.OptionChecker.positiveInt;
 import com.baidu.hugegraph.computer.core.combiner.OverwritePropertiesCombiner;
 import com.baidu.hugegraph.computer.core.graph.partition.HashPartitioner;
 import com.baidu.hugegraph.computer.core.input.filter.DefaultInputFilter;
@@ -34,14 +30,16 @@ import com.baidu.hugegraph.computer.core.master.DefaultMasterComputation;
 import com.baidu.hugegraph.computer.core.network.TransportConf;
 import com.baidu.hugegraph.computer.core.network.netty.NettyTransportProvider;
 import com.baidu.hugegraph.computer.core.output.LogOutput;
-import com.baidu.hugegraph.config.ConfigConvOption;
-import com.baidu.hugegraph.config.ConfigListOption;
-import com.baidu.hugegraph.config.ConfigOption;
-import com.baidu.hugegraph.config.OptionHolder;
-import com.baidu.hugegraph.structure.constant.Direction;
-import com.baidu.hugegraph.util.Bytes;
+import org.apache.hugegraph.structure.constant.Direction;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+import org.apache.hugegraph.config.ConfigConvOption;
+import org.apache.hugegraph.config.ConfigListOption;
+import org.apache.hugegraph.config.ConfigOption;
+import org.apache.hugegraph.config.OptionHolder;
+import org.apache.hugegraph.util.Bytes;
 
 public class ComputerOptions extends OptionHolder {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/config/DefaultConfig.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/config/DefaultConfig.java
index cc6aa08b..ddea27d0 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/config/DefaultConfig.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/config/DefaultConfig.java
@@ -22,13 +22,13 @@ package com.baidu.hugegraph.computer.core.config;
 import java.util.Map;
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.configuration.MapConfiguration;
+import org.apache.commons.configuration2.MapConfiguration;
 
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
-import com.baidu.hugegraph.config.ConfigOption;
-import com.baidu.hugegraph.config.HugeConfig;
-import com.baidu.hugegraph.config.TypedOption;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.config.ConfigOption;
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.TypedOption;
+import org.apache.hugegraph.util.E;
 
 public final class DefaultConfig implements Config {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/SuperstepStat.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/SuperstepStat.java
index 3daf18b3..d0b79af5 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/SuperstepStat.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/SuperstepStat.java
@@ -30,7 +30,7 @@ import com.baidu.hugegraph.computer.core.io.Readable;
 import com.baidu.hugegraph.computer.core.io.Writable;
 import com.baidu.hugegraph.computer.core.util.JsonUtil;
 import com.baidu.hugegraph.computer.core.worker.WorkerStat;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 /**
  * It is sent from master to workers.
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/id/BytesId.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/id/BytesId.java
index 4520a27e..9d95bbb3 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/id/BytesId.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/id/BytesId.java
@@ -35,7 +35,7 @@ import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
 import com.baidu.hugegraph.computer.core.util.BytesUtil;
 import com.baidu.hugegraph.computer.core.util.CoderUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class BytesId implements Id {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/value/MapValue.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/value/MapValue.java
index 6a6c4149..cf11f49e 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/value/MapValue.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/graph/value/MapValue.java
@@ -30,7 +30,7 @@ import com.baidu.hugegraph.computer.core.graph.GraphFactory;
 import com.baidu.hugegraph.computer.core.graph.id.Id;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class MapValue<T extends Value> implements Value {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/EdgeFetcher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/EdgeFetcher.java
index 005e03f0..08664748 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/EdgeFetcher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/EdgeFetcher.java
@@ -19,7 +19,7 @@
 
 package com.baidu.hugegraph.computer.core.input;
 
-import com.baidu.hugegraph.structure.graph.Edge;
+import org.apache.hugegraph.structure.graph.Edge;
 
 /**
  * Streamed read the data of each input split, and return one HugeEdge object
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/HugeConverter.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/HugeConverter.java
index 40d37fbe..098115d4 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/HugeConverter.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/HugeConverter.java
@@ -39,7 +39,7 @@ import com.baidu.hugegraph.computer.core.graph.value.NullValue;
 import com.baidu.hugegraph.computer.core.graph.value.StringValue;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.graph.value.Value.Tvalue;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public final class HugeConverter {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/IdUtil.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/IdUtil.java
index ba3db429..faacaa9a 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/IdUtil.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/IdUtil.java
@@ -24,10 +24,10 @@ import java.util.List;
 
 import com.baidu.hugegraph.computer.core.graph.id.Id;
 import com.baidu.hugegraph.computer.core.graph.id.IdType;
-import com.baidu.hugegraph.structure.graph.Edge;
-import com.baidu.hugegraph.structure.schema.EdgeLabel;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.SplicingIdGenerator;
+import org.apache.hugegraph.structure.graph.Edge;
+import org.apache.hugegraph.structure.schema.EdgeLabel;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.SplicingIdGenerator;
 import com.google.common.collect.ImmutableList;
 
 public class IdUtil {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/MasterInputManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/MasterInputManager.java
index 50dbcee0..8d8afc1f 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/MasterInputManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/MasterInputManager.java
@@ -23,8 +23,8 @@ import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.manager.Manager;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 public class MasterInputManager implements Manager {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/VertexFetcher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/VertexFetcher.java
index f620ef8a..7092cc7a 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/VertexFetcher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/VertexFetcher.java
@@ -19,7 +19,7 @@
 
 package com.baidu.hugegraph.computer.core.input;
 
-import com.baidu.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.structure.graph.Vertex;
 
 /**
  * Streamed read the data of each input split, and return one HugeVertex object
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/filter/DefaultInputFilter.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/filter/DefaultInputFilter.java
index a6d0dc15..3f3e318b 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/filter/DefaultInputFilter.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/filter/DefaultInputFilter.java
@@ -20,8 +20,8 @@
 package com.baidu.hugegraph.computer.core.input.filter;
 
 import com.baidu.hugegraph.computer.core.input.InputFilter;
-import com.baidu.hugegraph.structure.graph.Edge;
-import com.baidu.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.structure.graph.Edge;
+import org.apache.hugegraph.structure.graph.Vertex;
 
 public class DefaultInputFilter implements InputFilter {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/filter/ExtractAllPropertyInputFilter.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/filter/ExtractAllPropertyInputFilter.java
index 93427326..917575a0 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/filter/ExtractAllPropertyInputFilter.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/filter/ExtractAllPropertyInputFilter.java
@@ -20,8 +20,8 @@
 package com.baidu.hugegraph.computer.core.input.filter;
 
 import com.baidu.hugegraph.computer.core.input.InputFilter;
-import com.baidu.hugegraph.structure.graph.Edge;
-import com.baidu.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.structure.graph.Edge;
+import org.apache.hugegraph.structure.graph.Vertex;
 
 public class ExtractAllPropertyInputFilter implements InputFilter {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeEdgeFetcher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeEdgeFetcher.java
index 40da52b2..fc8fdacd 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeEdgeFetcher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeEdgeFetcher.java
@@ -24,9 +24,9 @@ import java.util.Iterator;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.input.EdgeFetcher;
 import com.baidu.hugegraph.computer.core.input.InputSplit;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.structure.graph.Edge;
-import com.baidu.hugegraph.structure.graph.Shard;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.structure.graph.Edge;
+import org.apache.hugegraph.structure.graph.Shard;
 
 public class HugeEdgeFetcher extends HugeElementFetcher<Edge>
                              implements EdgeFetcher {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeElementFetcher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeElementFetcher.java
index 59bf3f30..b7620479 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeElementFetcher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeElementFetcher.java
@@ -26,8 +26,8 @@ import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.input.ElementFetcher;
 import com.baidu.hugegraph.computer.core.input.InputSplit;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.structure.graph.Shard;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.structure.graph.Shard;
 
 public abstract class HugeElementFetcher<T> implements ElementFetcher<T> {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeGraphFetcher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeGraphFetcher.java
index 73f18bca..f6b84ddd 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeGraphFetcher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeGraphFetcher.java
@@ -26,8 +26,8 @@ import com.baidu.hugegraph.computer.core.input.GraphFetcher;
 import com.baidu.hugegraph.computer.core.input.InputSplit;
 import com.baidu.hugegraph.computer.core.input.VertexFetcher;
 import com.baidu.hugegraph.computer.core.rpc.InputSplitRpcService;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.driver.HugeClientBuilder;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.driver.HugeClientBuilder;
 
 public class HugeGraphFetcher implements GraphFetcher {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeInputSplitFetcher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeInputSplitFetcher.java
index 22395698..e35e16bb 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeInputSplitFetcher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeInputSplitFetcher.java
@@ -26,10 +26,10 @@ import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.input.InputSplit;
 import com.baidu.hugegraph.computer.core.input.InputSplitFetcher;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.driver.HugeClientBuilder;
-import com.baidu.hugegraph.structure.graph.Shard;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.driver.HugeClientBuilder;
+import org.apache.hugegraph.structure.graph.Shard;
+import org.apache.hugegraph.util.E;
 
 public class HugeInputSplitFetcher implements InputSplitFetcher {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeVertexFetcher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeVertexFetcher.java
index 559f420b..e06c6526 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeVertexFetcher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/hg/HugeVertexFetcher.java
@@ -24,9 +24,9 @@ import java.util.Iterator;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.input.InputSplit;
 import com.baidu.hugegraph.computer.core.input.VertexFetcher;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.structure.graph.Shard;
-import com.baidu.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.structure.graph.Shard;
+import org.apache.hugegraph.structure.graph.Vertex;
 
 public class HugeVertexFetcher extends HugeElementFetcher<Vertex>
                                implements VertexFetcher {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileEdgeFetcher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileEdgeFetcher.java
index 046ffdd2..9a7e4a69 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileEdgeFetcher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileEdgeFetcher.java
@@ -25,14 +25,14 @@ import java.util.List;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.input.EdgeFetcher;
 import com.baidu.hugegraph.computer.core.input.IdUtil;
-import com.baidu.hugegraph.loader.builder.EdgeBuilder;
-import com.baidu.hugegraph.loader.builder.ElementBuilder;
-import com.baidu.hugegraph.loader.executor.LoadContext;
-import com.baidu.hugegraph.loader.mapping.EdgeMapping;
-import com.baidu.hugegraph.loader.mapping.InputStruct;
-import com.baidu.hugegraph.loader.reader.line.Line;
-import com.baidu.hugegraph.structure.graph.Edge;
-import com.baidu.hugegraph.structure.schema.EdgeLabel;
+import org.apache.hugegraph.loader.builder.EdgeBuilder;
+import org.apache.hugegraph.loader.builder.ElementBuilder;
+import org.apache.hugegraph.loader.executor.LoadContext;
+import org.apache.hugegraph.loader.mapping.EdgeMapping;
+import org.apache.hugegraph.loader.mapping.InputStruct;
+import org.apache.hugegraph.loader.reader.line.Line;
+import org.apache.hugegraph.structure.graph.Edge;
+import org.apache.hugegraph.structure.schema.EdgeLabel;
 
 public class FileEdgeFetcher extends FileElementFetcher<Edge>
                              implements EdgeFetcher {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileElementFetcher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileElementFetcher.java
index f1c2f9f6..d2efc674 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileElementFetcher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileElementFetcher.java
@@ -32,19 +32,19 @@ import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.input.ElementFetcher;
 import com.baidu.hugegraph.computer.core.input.InputSplit;
-import com.baidu.hugegraph.iterator.FlatMapperIterator;
-import com.baidu.hugegraph.loader.builder.ElementBuilder;
-import com.baidu.hugegraph.loader.builder.SchemaCache;
-import com.baidu.hugegraph.loader.constant.Constants;
-import com.baidu.hugegraph.loader.executor.ComputerLoadOptions;
-import com.baidu.hugegraph.loader.executor.LoadContext;
-import com.baidu.hugegraph.loader.mapping.InputStruct;
-import com.baidu.hugegraph.loader.reader.InputReader;
-import com.baidu.hugegraph.loader.reader.file.FileReader;
-import com.baidu.hugegraph.loader.reader.line.Line;
-import com.baidu.hugegraph.loader.source.file.FileSource;
-import com.baidu.hugegraph.loader.util.JsonUtil;
-import com.baidu.hugegraph.structure.GraphElement;
+import org.apache.hugegraph.iterator.FlatMapperIterator;
+import org.apache.hugegraph.loader.builder.ElementBuilder;
+import org.apache.hugegraph.loader.builder.SchemaCache;
+import org.apache.hugegraph.loader.constant.Constants;
+import org.apache.hugegraph.loader.executor.ComputerLoadOptions;
+import org.apache.hugegraph.loader.executor.LoadContext;
+import org.apache.hugegraph.loader.mapping.InputStruct;
+import org.apache.hugegraph.loader.reader.InputReader;
+import org.apache.hugegraph.loader.reader.file.FileReader;
+import org.apache.hugegraph.loader.reader.line.Line;
+import org.apache.hugegraph.loader.source.file.FileSource;
+import org.apache.hugegraph.loader.util.JsonUtil;
+import org.apache.hugegraph.structure.GraphElement;
 
 public abstract class FileElementFetcher<T extends GraphElement>
                 implements ElementFetcher<T>  {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileInputSplit.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileInputSplit.java
index 62796fb3..7a84f049 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileInputSplit.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileInputSplit.java
@@ -24,8 +24,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.baidu.hugegraph.computer.core.input.InputSplit;
-import com.baidu.hugegraph.loader.constant.ElemType;
-import com.baidu.hugegraph.loader.mapping.InputStruct;
+import org.apache.hugegraph.loader.constant.ElemType;
+import org.apache.hugegraph.loader.mapping.InputStruct;
 import com.google.common.base.Objects;
 
 public class FileInputSplit extends InputSplit {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileVertxFetcher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileVertxFetcher.java
index e62684a5..32b34502 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileVertxFetcher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/FileVertxFetcher.java
@@ -24,12 +24,12 @@ import java.util.List;
 
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.input.VertexFetcher;
-import com.baidu.hugegraph.loader.builder.ElementBuilder;
-import com.baidu.hugegraph.loader.builder.VertexBuilder;
-import com.baidu.hugegraph.loader.executor.LoadContext;
-import com.baidu.hugegraph.loader.mapping.InputStruct;
-import com.baidu.hugegraph.loader.mapping.VertexMapping;
-import com.baidu.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.loader.builder.ElementBuilder;
+import org.apache.hugegraph.loader.builder.VertexBuilder;
+import org.apache.hugegraph.loader.executor.LoadContext;
+import org.apache.hugegraph.loader.mapping.InputStruct;
+import org.apache.hugegraph.loader.mapping.VertexMapping;
+import org.apache.hugegraph.structure.graph.Vertex;
 
 public class FileVertxFetcher extends FileElementFetcher<Vertex>
                               implements VertexFetcher {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/LoaderFileInputSplitFetcher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/LoaderFileInputSplitFetcher.java
index 491845c1..d63fd668 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/LoaderFileInputSplitFetcher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/input/loader/LoaderFileInputSplitFetcher.java
@@ -38,15 +38,15 @@ import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.input.InputSplit;
 import com.baidu.hugegraph.computer.core.input.InputSplitFetcher;
-import com.baidu.hugegraph.loader.constant.ElemType;
-import com.baidu.hugegraph.loader.exception.LoadException;
-import com.baidu.hugegraph.loader.mapping.InputStruct;
-import com.baidu.hugegraph.loader.mapping.LoadMapping;
-import com.baidu.hugegraph.loader.source.SourceType;
-import com.baidu.hugegraph.loader.source.file.FileFilter;
-import com.baidu.hugegraph.loader.source.file.FileSource;
-import com.baidu.hugegraph.loader.source.hdfs.HDFSSource;
-import com.baidu.hugegraph.loader.source.hdfs.KerberosConfig;
+import org.apache.hugegraph.loader.constant.ElemType;
+import org.apache.hugegraph.loader.exception.LoadException;
+import org.apache.hugegraph.loader.mapping.InputStruct;
+import org.apache.hugegraph.loader.mapping.LoadMapping;
+import org.apache.hugegraph.loader.source.SourceType;
+import org.apache.hugegraph.loader.source.file.FileFilter;
+import org.apache.hugegraph.loader.source.file.FileSource;
+import org.apache.hugegraph.loader.source.hdfs.HDFSSource;
+import org.apache.hugegraph.loader.source.hdfs.KerberosConfig;
 
 public class LoaderFileInputSplitFetcher implements InputSplitFetcher {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/AbstractBufferedFileInput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/AbstractBufferedFileInput.java
index c2397f0e..333132f0 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/AbstractBufferedFileInput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/AbstractBufferedFileInput.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.io;
 import java.io.IOException;
 
 import com.baidu.hugegraph.computer.core.util.BytesUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public abstract class AbstractBufferedFileInput extends UnsafeBytesInput {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/AbstractBufferedFileOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/AbstractBufferedFileOutput.java
index dd5abae1..9ab74ad4 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/AbstractBufferedFileOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/AbstractBufferedFileOutput.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.io;
 import java.io.IOException;
 
 import com.baidu.hugegraph.computer.core.common.Constants;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public abstract class AbstractBufferedFileOutput extends UnsafeBytesOutput {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileInput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileInput.java
index 0d3a3894..f40e8116 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileInput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileInput.java
@@ -25,8 +25,8 @@ import java.io.IOException;
 import java.io.RandomAccessFile;
 
 import com.baidu.hugegraph.computer.core.common.Constants;
-import com.baidu.hugegraph.testutil.Whitebox;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.util.E;
 
 public class BufferedFileInput extends AbstractBufferedFileInput {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileOutput.java
index 499f3387..14399654 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileOutput.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import java.io.RandomAccessFile;
 
 import com.baidu.hugegraph.computer.core.common.Constants;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 /**
  * This class acted as new DataOutputStream(new BufferedOutputStream(new File
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamInput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamInput.java
index 0eef7325..59d00474 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamInput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamInput.java
@@ -23,7 +23,7 @@ import java.io.IOException;
 import java.io.InputStream;
 
 import com.baidu.hugegraph.computer.core.common.Constants;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class BufferedStreamInput extends UnsafeBytesInput {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamOutput.java
index 8953fa79..a43ab38d 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamOutput.java
@@ -23,7 +23,7 @@ import java.io.IOException;
 import java.io.OutputStream;
 
 import com.baidu.hugegraph.computer.core.common.Constants;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 /**
  * This is used to buffer and output the buffer to output stream when buffer
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedBytesInput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedBytesInput.java
index d5b93e16..507362bb 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedBytesInput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedBytesInput.java
@@ -22,8 +22,8 @@ package com.baidu.hugegraph.computer.core.io;
 import java.io.IOException;
 
 import com.baidu.hugegraph.computer.core.util.CoderUtil;
-import com.baidu.hugegraph.util.Bytes;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.Bytes;
+import org.apache.hugegraph.util.E;
 
 public class OptimizedBytesInput implements BytesInput {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedBytesOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedBytesOutput.java
index 5caa839e..da834033 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedBytesOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedBytesOutput.java
@@ -23,7 +23,7 @@ import java.io.IOException;
 
 import com.baidu.hugegraph.computer.core.common.Constants;
 import com.baidu.hugegraph.computer.core.util.CoderUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class OptimizedBytesOutput implements BytesOutput {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/StructRandomAccessOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/StructRandomAccessOutput.java
index d23b9a70..d056b4d6 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/StructRandomAccessOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/StructRandomAccessOutput.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import org.apache.commons.lang3.StringEscapeUtils;
 
 import com.baidu.hugegraph.computer.core.util.StringEncoding;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Whitebox;
 
 @SuppressWarnings("deprecation") // StringEscapeUtils
 public class StructRandomAccessOutput implements RandomAccessOutput {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesInput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesInput.java
index cb45e888..fdeba080 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesInput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesInput.java
@@ -26,7 +26,7 @@ import com.baidu.hugegraph.computer.core.common.Constants;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.util.BytesUtil;
 import com.baidu.hugegraph.computer.core.util.CoderUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 import sun.misc.Unsafe;
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesOutput.java
index e595c7b4..dd701eca 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesOutput.java
@@ -27,7 +27,7 @@ import java.util.Arrays;
 import com.baidu.hugegraph.computer.core.common.Constants;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.util.CoderUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 import sun.misc.Unsafe;
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/manager/Managers.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/manager/Managers.java
index 9575d3d4..fc7beb22 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/manager/Managers.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/manager/Managers.java
@@ -24,8 +24,8 @@ import java.util.Iterator;
 import java.util.Map;
 
 import com.baidu.hugegraph.computer.core.config.Config;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.InsertionOrderUtil;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.InsertionOrderUtil;
 
 public class Managers implements Iterable<Manager> {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/master/MasterService.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/master/MasterService.java
index 534b9dee..1a064eaf 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/master/MasterService.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/master/MasterService.java
@@ -47,9 +47,9 @@ import com.baidu.hugegraph.computer.core.output.ComputerOutput;
 import com.baidu.hugegraph.computer.core.rpc.MasterRpcManager;
 import com.baidu.hugegraph.computer.core.util.ShutdownHook;
 import com.baidu.hugegraph.computer.core.worker.WorkerStat;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
-import com.baidu.hugegraph.util.TimeUtil;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
+import org.apache.hugegraph.util.TimeUtil;
 
 /**
  * Master service is job's controller. It controls the superstep iteration of
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/ConnectionId.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/ConnectionId.java
index a773f25f..a77747b7 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/ConnectionId.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/ConnectionId.java
@@ -25,7 +25,7 @@ import java.net.InetSocketAddress;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.Function;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 /**
  * A {@link ConnectionId} identifies a connection to a remote connection
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/DataClientManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/DataClientManager.java
index adf1403e..61efb2ec 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/DataClientManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/DataClientManager.java
@@ -28,8 +28,8 @@ import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.manager.Manager;
 import com.baidu.hugegraph.computer.core.network.connection.ConnectionManager;
 import com.baidu.hugegraph.computer.core.sender.QueuedMessageSender;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 public class DataClientManager implements Manager {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/DataServerManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/DataServerManager.java
index efcf4a36..8795483a 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/DataServerManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/DataServerManager.java
@@ -26,7 +26,7 @@ import org.slf4j.Logger;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.manager.Manager;
 import com.baidu.hugegraph.computer.core.network.connection.ConnectionManager;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class DataServerManager implements Manager {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/TransportConf.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/TransportConf.java
index 0744373c..120b9b00 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/TransportConf.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/TransportConf.java
@@ -25,7 +25,7 @@ import java.util.Locale;
 import com.baidu.hugegraph.computer.core.common.exception.IllegalArgException;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 import io.netty.channel.epoll.Epoll;
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/TransportUtil.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/TransportUtil.java
index 2667f5fc..79e78fab 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/TransportUtil.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/TransportUtil.java
@@ -30,8 +30,8 @@ import java.util.List;
 import org.slf4j.Logger;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.util.StringEncoding;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.Channel;
 import io.netty.channel.DefaultMaxBytesRecvByteBufAllocator;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/connection/TransportConnectionManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/connection/TransportConnectionManager.java
index 186b9643..9928ed1c 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/connection/TransportConnectionManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/connection/TransportConnectionManager.java
@@ -33,7 +33,7 @@ import com.baidu.hugegraph.computer.core.network.TransportClient;
 import com.baidu.hugegraph.computer.core.network.TransportConf;
 import com.baidu.hugegraph.computer.core.network.TransportProvider;
 import com.baidu.hugegraph.computer.core.network.TransportServer;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class TransportConnectionManager implements ConnectionManager {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/message/DataMessage.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/message/DataMessage.java
index d5843fbc..34872f6f 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/message/DataMessage.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/message/DataMessage.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.network.message;
 import com.baidu.hugegraph.computer.core.network.buffer.FileRegionBuffer;
 import com.baidu.hugegraph.computer.core.network.buffer.NettyBuffer;
 import com.baidu.hugegraph.computer.core.network.buffer.NetworkBuffer;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 import io.netty.buffer.ByteBuf;
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/message/FailMessage.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/message/FailMessage.java
index 770ab525..767be9da 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/message/FailMessage.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/message/FailMessage.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.computer.core.network.message;
 
 import com.baidu.hugegraph.computer.core.network.TransportUtil;
 import com.baidu.hugegraph.computer.core.network.buffer.NetworkBuffer;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 import io.netty.buffer.ByteBuf;
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/AbstractNettyHandler.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/AbstractNettyHandler.java
index 914987b2..ae8fb44d 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/AbstractNettyHandler.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/AbstractNettyHandler.java
@@ -17,7 +17,7 @@ import com.baidu.hugegraph.computer.core.network.message.PingMessage;
 import com.baidu.hugegraph.computer.core.network.message.PongMessage;
 import com.baidu.hugegraph.computer.core.network.message.StartMessage;
 import com.baidu.hugegraph.computer.core.network.session.TransportSession;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFutureListener;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/ChannelFutureListenerOnWrite.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/ChannelFutureListenerOnWrite.java
index fd0bdd86..b3811f69 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/ChannelFutureListenerOnWrite.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/ChannelFutureListenerOnWrite.java
@@ -25,7 +25,7 @@ import com.baidu.hugegraph.computer.core.common.exception.TransportException;
 import com.baidu.hugegraph.computer.core.network.ConnectionId;
 import com.baidu.hugegraph.computer.core.network.TransportHandler;
 import com.baidu.hugegraph.computer.core.network.TransportUtil;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/HeartbeatHandler.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/HeartbeatHandler.java
index f5228d5a..6fa5281c 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/HeartbeatHandler.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/HeartbeatHandler.java
@@ -23,7 +23,7 @@ import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.network.TransportUtil;
 import com.baidu.hugegraph.computer.core.network.message.PingMessage;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelDuplexHandler;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyClientFactory.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyClientFactory.java
index 10817100..13fb151c 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyClientFactory.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyClientFactory.java
@@ -32,8 +32,8 @@ import com.baidu.hugegraph.computer.core.network.ConnectionId;
 import com.baidu.hugegraph.computer.core.network.TransportClient;
 import com.baidu.hugegraph.computer.core.network.TransportConf;
 import com.baidu.hugegraph.computer.core.network.TransportUtil;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 import io.netty.bootstrap.Bootstrap;
 import io.netty.buffer.ByteBufAllocator;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportClient.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportClient.java
index b9f4715b..f94eae93 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportClient.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportClient.java
@@ -35,7 +35,7 @@ import com.baidu.hugegraph.computer.core.network.TransportState;
 import com.baidu.hugegraph.computer.core.network.message.Message;
 import com.baidu.hugegraph.computer.core.network.message.MessageType;
 import com.baidu.hugegraph.computer.core.network.session.ClientSession;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportServer.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportServer.java
index 9cff3d4a..011522a8 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportServer.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportServer.java
@@ -34,8 +34,8 @@ import com.baidu.hugegraph.computer.core.network.MessageHandler;
 import com.baidu.hugegraph.computer.core.network.TransportConf;
 import com.baidu.hugegraph.computer.core.network.TransportServer;
 import com.baidu.hugegraph.computer.core.network.TransportUtil;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 import io.netty.bootstrap.ServerBootstrap;
 import io.netty.buffer.ByteBufAllocator;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/ServerIdleHandler.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/ServerIdleHandler.java
index 44b33b35..35485fd4 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/ServerIdleHandler.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/ServerIdleHandler.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.network.netty;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.network.TransportUtil;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 import io.netty.channel.ChannelDuplexHandler;
 import io.netty.channel.ChannelHandler;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/codec/FrameDecoder.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/codec/FrameDecoder.java
index 1e579f98..276e0e1a 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/codec/FrameDecoder.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/codec/FrameDecoder.java
@@ -23,7 +23,7 @@ import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.network.TransportUtil;
 import com.baidu.hugegraph.computer.core.network.message.AbstractMessage;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.ChannelHandlerContext;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/codec/PreciseFrameDecoder.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/codec/PreciseFrameDecoder.java
index 5ea331a5..d5664bb0 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/codec/PreciseFrameDecoder.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/netty/codec/PreciseFrameDecoder.java
@@ -23,7 +23,7 @@ import java.util.List;
 import org.slf4j.Logger;
 import com.baidu.hugegraph.computer.core.network.TransportUtil;
 import com.baidu.hugegraph.computer.core.network.message.AbstractMessage;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.DefaultMaxBytesRecvByteBufAllocator;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/session/ClientSession.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/session/ClientSession.java
index 23997fc3..c83c20a2 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/session/ClientSession.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/session/ClientSession.java
@@ -43,8 +43,8 @@ import com.baidu.hugegraph.computer.core.network.message.FinishMessage;
 import com.baidu.hugegraph.computer.core.network.message.Message;
 import com.baidu.hugegraph.computer.core.network.message.MessageType;
 import com.baidu.hugegraph.computer.core.network.message.StartMessage;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 public class ClientSession extends TransportSession {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/session/ServerSession.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/session/ServerSession.java
index b4214855..68f9de61 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/session/ServerSession.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/network/session/ServerSession.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.network.session;
 import com.baidu.hugegraph.computer.core.network.TransportConf;
 import com.baidu.hugegraph.computer.core.network.TransportState;
 import com.baidu.hugegraph.computer.core.network.message.AbstractMessage;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class ServerSession extends TransportSession {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/AbstractComputerOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/AbstractComputerOutput.java
index 4cf191bc..3d4dd100 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/AbstractComputerOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/AbstractComputerOutput.java
@@ -24,7 +24,7 @@ import org.slf4j.Logger;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.worker.Computation;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public abstract class AbstractComputerOutput implements ComputerOutput {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/LimitedLogOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/LimitedLogOutput.java
index 491cb2c4..46746550 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/LimitedLogOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/LimitedLogOutput.java
@@ -23,7 +23,7 @@ import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class LimitedLogOutput extends AbstractComputerOutput {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/LogOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/LogOutput.java
index ac874594..67aac52e 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/LogOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/LogOutput.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.output;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 /**
  * LogOutput print the computation result to log file.
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hdfs/HdfsOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hdfs/HdfsOutput.java
index d6ef2207..aef45233 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hdfs/HdfsOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hdfs/HdfsOutput.java
@@ -37,7 +37,7 @@ import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
 import com.baidu.hugegraph.computer.core.output.AbstractComputerOutput;
 import com.baidu.hugegraph.computer.core.util.StringEncoding;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class HdfsOutput extends AbstractComputerOutput {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/HugeGraphOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/HugeGraphOutput.java
index fc829421..d871b126 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/HugeGraphOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/HugeGraphOutput.java
@@ -29,16 +29,16 @@ import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
 import com.baidu.hugegraph.computer.core.output.AbstractComputerOutput;
 import com.baidu.hugegraph.computer.core.output.hg.task.TaskManager;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.structure.constant.WriteType;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.structure.constant.WriteType;
+import org.apache.hugegraph.util.Log;
 
 public abstract class HugeGraphOutput<T> extends AbstractComputerOutput {
 
     private static final Logger LOG = Log.logger(HugeGraphOutput.class);
 
     private TaskManager taskManager;
-    private List<com.baidu.hugegraph.structure.graph.Vertex> localVertices;
+    private List<org.apache.hugegraph.structure.graph.Vertex> localVertices;
     private int batchSize;
     private WriteType writeType;
 
@@ -84,10 +84,10 @@ public abstract class HugeGraphOutput<T> extends AbstractComputerOutput {
         this.localVertices = new ArrayList<>(this.batchSize);
     }
 
-    protected com.baidu.hugegraph.structure.graph.Vertex constructHugeVertex(
+    protected org.apache.hugegraph.structure.graph.Vertex constructHugeVertex(
                                                          Vertex vertex) {
-        com.baidu.hugegraph.structure.graph.Vertex hugeVertex =
-                new com.baidu.hugegraph.structure.graph.Vertex(null);
+        org.apache.hugegraph.structure.graph.Vertex hugeVertex =
+                new org.apache.hugegraph.structure.graph.Vertex(null);
         hugeVertex.id(vertex.id().asObject());
         hugeVertex.property(this.name(), this.value(vertex));
         return hugeVertex;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/metrics/Printer.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/metrics/Printer.java
index ba23d26f..d67ea7c3 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/metrics/Printer.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/metrics/Printer.java
@@ -21,8 +21,8 @@ package com.baidu.hugegraph.computer.core.output.hg.metrics;
 
 import org.slf4j.Logger;
 
-import com.baidu.hugegraph.util.Log;
-import com.baidu.hugegraph.util.TimeUtil;
+import org.apache.hugegraph.util.Log;
+import org.apache.hugegraph.util.TimeUtil;
 
 public final class Printer {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/BatchInsertTask.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/BatchInsertTask.java
index 63bd0da1..ad96378f 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/BatchInsertTask.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/BatchInsertTask.java
@@ -22,16 +22,16 @@ package com.baidu.hugegraph.computer.core.output.hg.task;
 import java.util.List;
 
 import org.apache.commons.lang3.StringUtils;
+import org.apache.hugegraph.rest.ClientException;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.output.hg.metrics.LoadSummary;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.exception.ServerException;
-import com.baidu.hugegraph.rest.ClientException;
-import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.exception.ServerException;
+import org.apache.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.util.Log;
 
 public class BatchInsertTask extends InsertTask {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/InsertTask.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/InsertTask.java
index 1b60406a..f91710fd 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/InsertTask.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/InsertTask.java
@@ -25,8 +25,8 @@ import java.util.Set;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.output.hg.metrics.LoadMetrics;
 import com.baidu.hugegraph.computer.core.output.hg.metrics.LoadSummary;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.structure.graph.Vertex;
 import com.google.common.collect.ImmutableSet;
 
 public abstract class InsertTask implements Runnable {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/SingleInsertTask.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/SingleInsertTask.java
index e39f5b50..4cb893c1 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/SingleInsertTask.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/SingleInsertTask.java
@@ -25,9 +25,9 @@ import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.output.hg.metrics.LoadSummary;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.util.Log;
 import com.google.common.collect.ImmutableList;
 
 public class SingleInsertTask extends InsertTask {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/TaskManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/TaskManager.java
index bb6cc839..c715cee9 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/TaskManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/output/hg/task/TaskManager.java
@@ -34,11 +34,11 @@ import com.baidu.hugegraph.computer.core.output.hg.exceptions.WriteBackException
 
 import com.baidu.hugegraph.computer.core.output.hg.metrics.LoadSummary;
 import com.baidu.hugegraph.computer.core.output.hg.metrics.Printer;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.driver.HugeClientBuilder;
-import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.util.ExecutorUtil;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.driver.HugeClientBuilder;
+import org.apache.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.util.ExecutorUtil;
+import org.apache.hugegraph.util.Log;
 
 public final class TaskManager {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvBuffers.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvBuffers.java
index 504479cf..4e09d005 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvBuffers.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvBuffers.java
@@ -26,7 +26,7 @@ import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.UnsafeBytesInput;
 import com.baidu.hugegraph.computer.core.network.buffer.NetworkBuffer;
-import com.baidu.hugegraph.concurrent.BarrierEvent;
+import org.apache.hugegraph.concurrent.BarrierEvent;
 
 public class MessageRecvBuffers {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvManager.java
index c9438667..3b566e0a 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvManager.java
@@ -44,8 +44,8 @@ import com.baidu.hugegraph.computer.core.sort.sorting.SortManager;
 import com.baidu.hugegraph.computer.core.store.FileManager;
 import com.baidu.hugegraph.computer.core.store.SuperstepFileGenerator;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 public class MessageRecvManager implements Manager, MessageHandler {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvPartition.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvPartition.java
index 63fd6652..c708d935 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvPartition.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvPartition.java
@@ -34,7 +34,7 @@ import com.baidu.hugegraph.computer.core.sort.sorting.SortManager;
 import com.baidu.hugegraph.computer.core.store.SuperstepFileGenerator;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.util.FileUtil;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 /**
  * Manage the buffers received for a partition and the files generated by
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/rpc/MasterRpcManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/rpc/MasterRpcManager.java
index 944ca329..3d97503a 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/rpc/MasterRpcManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/rpc/MasterRpcManager.java
@@ -24,9 +24,9 @@ import java.net.InetSocketAddress;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.manager.Manager;
-import com.baidu.hugegraph.rpc.RpcProviderConfig;
-import com.baidu.hugegraph.rpc.RpcServer;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.rpc.RpcProviderConfig;
+import org.apache.hugegraph.rpc.RpcServer;
+import org.apache.hugegraph.util.E;
 
 public class MasterRpcManager implements Manager {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/rpc/WorkerRpcManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/rpc/WorkerRpcManager.java
index 4dfb1ea6..9b617a7d 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/rpc/WorkerRpcManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/rpc/WorkerRpcManager.java
@@ -21,9 +21,9 @@ package com.baidu.hugegraph.computer.core.rpc;
 
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.manager.Manager;
-import com.baidu.hugegraph.config.RpcOptions;
-import com.baidu.hugegraph.rpc.RpcClientProvider;
-import com.baidu.hugegraph.rpc.RpcConsumerConfig;
+import org.apache.hugegraph.config.RpcOptions;
+import org.apache.hugegraph.rpc.RpcClientProvider;
+import org.apache.hugegraph.rpc.RpcConsumerConfig;
 
 public class WorkerRpcManager implements Manager {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageQueue.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageQueue.java
index a27a0c57..3be2a5dd 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageQueue.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageQueue.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.sender;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 /**
  * It's not a public class, need package access
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendBuffers.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendBuffers.java
index 37abf03e..d45c4200 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendBuffers.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendBuffers.java
@@ -25,7 +25,7 @@ import com.baidu.hugegraph.computer.core.common.ComputerContext;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
-import com.baidu.hugegraph.util.InsertionOrderUtil;
+import org.apache.hugegraph.util.InsertionOrderUtil;
 
 public class MessageSendBuffers {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendManager.java
index 7a287070..b5150f99 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendManager.java
@@ -48,7 +48,7 @@ import com.baidu.hugegraph.computer.core.network.TransportConf;
 import com.baidu.hugegraph.computer.core.network.message.MessageType;
 import com.baidu.hugegraph.computer.core.receiver.MessageStat;
 import com.baidu.hugegraph.computer.core.sort.sorting.SortManager;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class MessageSendManager implements Manager {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageSender.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageSender.java
index 9b63a9c8..300d9d0d 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageSender.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageSender.java
@@ -30,9 +30,9 @@ import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.network.TransportClient;
 import com.baidu.hugegraph.computer.core.network.message.MessageType;
-import com.baidu.hugegraph.concurrent.BarrierEvent;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.concurrent.BarrierEvent;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 public class QueuedMessageSender implements MessageSender {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBuffers.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBuffers.java
index ccd2437e..94e1cc19 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBuffers.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBuffers.java
@@ -30,7 +30,7 @@ import com.baidu.hugegraph.computer.core.io.BytesOutput;
 import com.baidu.hugegraph.computer.core.io.IOFactory;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.receiver.MessageStat;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class WriteBuffers {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombinableSorterFlusher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombinableSorterFlusher.java
index c556c9ae..077e7102 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombinableSorterFlusher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombinableSorterFlusher.java
@@ -26,7 +26,7 @@ import com.baidu.hugegraph.computer.core.combiner.PointerCombiner;
 import com.baidu.hugegraph.computer.core.store.entry.DefaultKvEntry;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.store.entry.Pointer;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public abstract class CombinableSorterFlusher {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombineSubKvInnerSortFlusher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombineSubKvInnerSortFlusher.java
index 12f759f2..1b473740 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombineSubKvInnerSortFlusher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombineSubKvInnerSortFlusher.java
@@ -32,7 +32,7 @@ import com.baidu.hugegraph.computer.core.sort.sorting.SortingFactory;
 import com.baidu.hugegraph.computer.core.store.entry.EntriesUtil;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.store.entry.Pointer;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class CombineSubKvInnerSortFlusher implements InnerSortFlusher {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombineSubKvOuterSortFlusher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombineSubKvOuterSortFlusher.java
index 8233d9b7..11a3b0cc 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombineSubKvOuterSortFlusher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/CombineSubKvOuterSortFlusher.java
@@ -32,7 +32,7 @@ import com.baidu.hugegraph.computer.core.store.entry.EntriesUtil;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.store.entry.Pointer;
 import com.baidu.hugegraph.computer.core.store.KvEntryFileWriter;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class CombineSubKvOuterSortFlusher implements OuterSortFlusher {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/KvInnerSortFlusher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/KvInnerSortFlusher.java
index f296e385..c7891a1c 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/KvInnerSortFlusher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/KvInnerSortFlusher.java
@@ -24,7 +24,7 @@ import java.util.Iterator;
 
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class KvInnerSortFlusher implements InnerSortFlusher {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/KvOuterSortFlusher.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/KvOuterSortFlusher.java
index 6f9d0a8d..45307640 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/KvOuterSortFlusher.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/KvOuterSortFlusher.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import com.baidu.hugegraph.computer.core.store.EntryIterator;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.store.KvEntryFileWriter;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class KvOuterSortFlusher implements OuterSortFlusher {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/PeekableIterator.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/PeekableIterator.java
index a87b34f8..a2a197e1 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/PeekableIterator.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/PeekableIterator.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.computer.core.sort.flusher;
 
 import java.util.NoSuchElementException;
 
-import com.baidu.hugegraph.iterator.CIter;
+import org.apache.hugegraph.iterator.CIter;
 
 public interface PeekableIterator<T> extends CIter<T> {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/PeekableIteratorAdaptor.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/PeekableIteratorAdaptor.java
index 058630ca..f389c7ab 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/PeekableIteratorAdaptor.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/flusher/PeekableIteratorAdaptor.java
@@ -19,8 +19,8 @@
 
 package com.baidu.hugegraph.computer.core.sort.flusher;
 
-import com.baidu.hugegraph.iterator.CIter;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.iterator.CIter;
+import org.apache.hugegraph.util.E;
 
 public class PeekableIteratorAdaptor<T> implements PeekableIterator<T> {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/merge/FileMergerImpl.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/merge/FileMergerImpl.java
index 412b5e47..7ba7987a 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/merge/FileMergerImpl.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/merge/FileMergerImpl.java
@@ -35,7 +35,7 @@ import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvDirImpl;
 import com.baidu.hugegraph.computer.core.store.KvEntryFileWriter;
 import com.baidu.hugegraph.computer.core.store.EntryIterator;
 import com.baidu.hugegraph.computer.core.util.FileUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class FileMergerImpl implements FileMerger {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SubKvSorter.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SubKvSorter.java
index f5f2e93d..89a420d1 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SubKvSorter.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SubKvSorter.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.computer.core.sort.flusher.PeekableIterator;
 import com.baidu.hugegraph.computer.core.sort.sorting.LoserTreeInputsSorting;
 import com.baidu.hugegraph.computer.core.store.entry.EntriesUtil;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class SubKvSorter implements Iterator<KvEntry> {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/AbstractInputsSorting.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/AbstractInputsSorting.java
index 553bb6a9..50c95e86 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/AbstractInputsSorting.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/AbstractInputsSorting.java
@@ -23,7 +23,7 @@ import java.util.Collection;
 import java.util.Comparator;
 import java.util.Iterator;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public abstract class AbstractInputsSorting<T> implements InputsSorting<T> {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/SortManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/SortManager.java
index 600c2347..ca73ed28 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/SortManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/SortManager.java
@@ -56,8 +56,8 @@ import com.baidu.hugegraph.computer.core.sort.flusher.KvInnerSortFlusher;
 import com.baidu.hugegraph.computer.core.sort.flusher.OuterSortFlusher;
 import com.baidu.hugegraph.computer.core.sort.flusher.PeekableIterator;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
-import com.baidu.hugegraph.util.ExecutorUtil;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.ExecutorUtil;
+import org.apache.hugegraph.util.Log;
 
 public abstract class SortManager implements Manager {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/EntryIterator.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/EntryIterator.java
index f942a628..ecafcd94 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/EntryIterator.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/EntryIterator.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.store;
 import org.apache.commons.lang.NotImplementedException;
 
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
-import com.baidu.hugegraph.iterator.CIter;
+import org.apache.hugegraph.iterator.CIter;
 
 public interface EntryIterator extends CIter<KvEntry> {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/FileManager.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/FileManager.java
index 52193e42..194bab50 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/FileManager.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/FileManager.java
@@ -32,7 +32,7 @@ import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.manager.Manager;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class FileManager implements FileGenerator, Manager {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/buffer/KvEntriesWithFirstSubKvInput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/buffer/KvEntriesWithFirstSubKvInput.java
index 58c25df2..dd64f1ef 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/buffer/KvEntriesWithFirstSubKvInput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/buffer/KvEntriesWithFirstSubKvInput.java
@@ -23,8 +23,8 @@ import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.store.EntryIterator;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.store.entry.EntriesUtil;
-import com.baidu.hugegraph.iterator.CIter;
-import com.baidu.hugegraph.iterator.MapperIterator;
+import org.apache.hugegraph.iterator.CIter;
+import org.apache.hugegraph.iterator.MapperIterator;
 
 public class KvEntriesWithFirstSubKvInput implements EntryIterator {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/HgkvDirImpl.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/HgkvDirImpl.java
index 8c3d5ce1..fb99fed1 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/HgkvDirImpl.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/HgkvDirImpl.java
@@ -30,8 +30,8 @@ import java.util.regex.Pattern;
 
 import com.baidu.hugegraph.computer.core.io.BufferedFileOutput;
 import com.baidu.hugegraph.computer.core.util.BytesUtil;
-import com.baidu.hugegraph.exception.NotSupportException;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.exception.NotSupportException;
+import org.apache.hugegraph.util.E;
 
 public class HgkvDirImpl extends AbstractHgkvFile implements HgkvDir {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/HgkvFileImpl.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/HgkvFileImpl.java
index 5863b007..1de55e5b 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/HgkvFileImpl.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/HgkvFileImpl.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.io.IOFactory;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class HgkvFileImpl extends AbstractHgkvFile {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/builder/HgkvDirBuilderImpl.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/builder/HgkvDirBuilderImpl.java
index cc777209..4d36c678 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/builder/HgkvDirBuilderImpl.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/builder/HgkvDirBuilderImpl.java
@@ -31,7 +31,7 @@ import com.baidu.hugegraph.computer.core.store.KvEntryFileWriter;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvDir;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvDirImpl;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class HgkvDirBuilderImpl implements KvEntryFileWriter {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/builder/HgkvFileBuilderImpl.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/builder/HgkvFileBuilderImpl.java
index c06cd6e7..a94d0577 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/builder/HgkvFileBuilderImpl.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/builder/HgkvFileBuilderImpl.java
@@ -29,7 +29,7 @@ import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvFile;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvFileImpl;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class HgkvFileBuilderImpl implements HgkvFileBuilder {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/reader/HgkvDir4SubKvReaderImpl.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/reader/HgkvDir4SubKvReaderImpl.java
index bf101b3a..ff4449c6 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/reader/HgkvDir4SubKvReaderImpl.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/hgkvfile/reader/HgkvDir4SubKvReaderImpl.java
@@ -23,8 +23,8 @@ import com.baidu.hugegraph.computer.core.store.KvEntryFileReader;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.store.EntryIterator;
 import com.baidu.hugegraph.computer.core.store.entry.EntriesUtil;
-import com.baidu.hugegraph.iterator.CIter;
-import com.baidu.hugegraph.iterator.MapperIterator;
+import org.apache.hugegraph.iterator.CIter;
+import org.apache.hugegraph.iterator.MapperIterator;
 
 public class HgkvDir4SubKvReaderImpl implements KvEntryFileReader {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/select/DisperseEvenlySelector.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/select/DisperseEvenlySelector.java
index 4bf7af45..a821de0b 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/select/DisperseEvenlySelector.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/select/DisperseEvenlySelector.java
@@ -28,7 +28,7 @@ import java.util.stream.Collectors;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvDir;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvDirImpl;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvFile;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.Lists;
 
 public class DisperseEvenlySelector implements InputFilesSelector {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFile.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFile.java
index db77c993..6bf08498 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFile.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFile.java
@@ -27,7 +27,7 @@ import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.Lists;
 
 public class ValueFile {
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFileInput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFileInput.java
index 41e034f1..afaae4ae 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFileInput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFileInput.java
@@ -33,7 +33,7 @@ import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.io.AbstractBufferedFileInput;
 import com.baidu.hugegraph.computer.core.io.UnsafeBytesInput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class ValueFileInput extends AbstractBufferedFileInput {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFileOutput.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFileOutput.java
index 355ba6db..a7c5c08a 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFileOutput.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/store/file/seqfile/ValueFileOutput.java
@@ -29,7 +29,7 @@ import com.baidu.hugegraph.computer.core.common.Constants;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.io.AbstractBufferedFileOutput;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class ValueFileOutput extends AbstractBufferedFileOutput {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/Consumers.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/Consumers.java
index 278c9dd9..1e217d50 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/Consumers.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/Consumers.java
@@ -30,7 +30,7 @@ import java.util.function.Consumer;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public final class Consumers<V> {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/JsonUtil.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/JsonUtil.java
index 05261af7..c3b50ddc 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/JsonUtil.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/JsonUtil.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.computer.core.util;
 
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.PropertyAccessor;
 import com.fasterxml.jackson.core.JsonProcessingException;
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/ShutdownHook.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/ShutdownHook.java
index 308a962c..ab10a973 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/ShutdownHook.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/ShutdownHook.java
@@ -2,10 +2,10 @@ package com.baidu.hugegraph.computer.core.util;
 
 import java.io.Closeable;
 
+import org.apache.hugegraph.util.Log;
+import org.apache.logging.log4j.LogManager;
 import org.slf4j.Logger;
 
-import com.baidu.hugegraph.util.Log;
-
 public class ShutdownHook {
 
     private static final Logger LOG = Log.logger(ShutdownHook.class);
@@ -23,6 +23,8 @@ public class ShutdownHook {
             } catch (Throwable e) {
                 LOG.warn("Failed to execute shutdown hook: {}",
                           e.getMessage(), e);
+            } finally {
+                LogManager.shutdown();
             }
         });
         Runtime.getRuntime().addShutdownHook(this.threadShutdownHook);
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/StringEncoding.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/StringEncoding.java
index 610dfbfa..07a3829b 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/StringEncoding.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/util/StringEncoding.java
@@ -39,8 +39,8 @@ import java.util.Base64;
 import java.util.UUID;
 
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
-import com.baidu.hugegraph.util.Bytes;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.Bytes;
+import org.apache.hugegraph.util.E;
 import com.google.common.base.CharMatcher;
 
 /**
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerService.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerService.java
index 201a473e..515b34df 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerService.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerService.java
@@ -56,8 +56,8 @@ import com.baidu.hugegraph.computer.core.sort.sorting.SendSortManager;
 import com.baidu.hugegraph.computer.core.sort.sorting.SortManager;
 import com.baidu.hugegraph.computer.core.store.FileManager;
 import com.baidu.hugegraph.computer.core.util.ShutdownHook;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 public class WorkerService implements Closeable {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerStat.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerStat.java
index 609d6815..0f25a60c 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerStat.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerStat.java
@@ -30,7 +30,7 @@ import com.baidu.hugegraph.computer.core.io.RandomAccessOutput;
 import com.baidu.hugegraph.computer.core.io.Readable;
 import com.baidu.hugegraph.computer.core.io.Writable;
 import com.baidu.hugegraph.computer.core.util.JsonUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class WorkerStat implements Readable, Writable, Iterable<PartitionStat> {
 
diff --git a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/load/LoadService.java b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/load/LoadService.java
index 09c81f00..731203e3 100644
--- a/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/load/LoadService.java
+++ b/computer-core/src/main/java/com/baidu/hugegraph/computer/core/worker/load/LoadService.java
@@ -39,7 +39,7 @@ import com.baidu.hugegraph.computer.core.input.InputSourceFactory;
 import com.baidu.hugegraph.computer.core.input.InputSplit;
 import com.baidu.hugegraph.computer.core.input.VertexFetcher;
 import com.baidu.hugegraph.computer.core.rpc.InputSplitRpcService;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class LoadService {
 
@@ -117,12 +117,12 @@ public class LoadService {
             if (!this.hasNext()) {
                 throw new NoSuchElementException();
             }
-            com.baidu.hugegraph.structure.graph.Vertex hugeVertex;
+            org.apache.hugegraph.structure.graph.Vertex hugeVertex;
             hugeVertex = fetcher.vertexFetcher().next();
             return this.convert(hugeVertex);
         }
 
-        private Vertex convert(com.baidu.hugegraph.structure.graph.Vertex
+        private Vertex convert(org.apache.hugegraph.structure.graph.Vertex
                                vertex) {
             vertex = inputFilter.filter(vertex);
             Id id = HugeConverter.convertId(vertex.id());
@@ -182,7 +182,7 @@ public class LoadService {
                 throw new NoSuchElementException();
             }
 
-            com.baidu.hugegraph.structure.graph.Edge hugeEdge;
+            org.apache.hugegraph.structure.graph.Edge hugeEdge;
             EdgeFetcher edgeFetcher = fetcher.edgeFetcher();
             while (edgeFetcher.hasNext()) {
                 hugeEdge = edgeFetcher.next();
@@ -217,7 +217,7 @@ public class LoadService {
             return vertex;
         }
 
-        private Edge convert(com.baidu.hugegraph.structure.graph.Edge edge) {
+        private Edge convert(org.apache.hugegraph.structure.graph.Edge edge) {
             edge = inputFilter.filter(edge);
             Id targetId = HugeConverter.convertId(edge.targetId());
             Properties properties = HugeConverter.convertProperties(
diff --git a/computer-core/src/main/resources/log4j2.xml b/computer-core/src/main/resources/log4j2.xml
index d100684b..90d51e45 100644
--- a/computer-core/src/main/resources/log4j2.xml
+++ b/computer-core/src/main/resources/log4j2.xml
@@ -1,26 +1,51 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<configuration status="error">
+
+<!-- Config will be auto loaded every 60s -->
+<configuration status="error" monitorInterval="60">
+    <properties>
+        <property name="LOG_PATH">logs</property>
+        <property name="FILE_NAME">hugegraph-computer</property>
+    </properties>
+
     <appenders>
+        <!-- Container standard/console log -->
         <Console name="console" target="SYSTEM_OUT">
             <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
-            <PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} %-5r [%t] [%-5p] %c %x - %m%n"/>
+            <PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} [%t] [%p] %c{1.} - %m%n"/>
         </Console>
 
-        <RollingFile name="file" fileName="logs/hugegraph-computer.log"
-                     filePattern="logs/$${date:yyyy-MM}/hugegraph-computer-%d{yyyy-MM-dd}-%i.log">
-            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
-            <PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} %-5r [%t] [%-5p] %c %x - %m%n"/>
-            <SizeBasedTriggeringPolicy size="100MB"/>
-        </RollingFile>
+        <!-- Container file log -->
+        <RollingRandomAccessFile name="file" fileName="${LOG_PATH}/${FILE_NAME}.log"
+                                 filePattern="${LOG_PATH}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log"
+                                 immediateFlush="false">
+            <ThresholdFilter level="TRACE" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} [%t] [%p] %c{1.} - %m%n"/>
+            <!-- Trigger after exceeding 1day or 50MB -->
+            <Policies>
+                <SizeBasedTriggeringPolicy size="50MB"/>
+                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
+            </Policies>
+            <!-- Keep 5 files per day & auto delete after over 1GB or 50 files -->
+            <DefaultRolloverStrategy max="5">
+                <Delete basePath="${LOG_PATH}" maxDepth="2">
+                    <IfFileName glob="*/*.log"/>
+                    <!-- Limit log amount & size -->
+                    <IfAny>
+                        <IfAccumulatedFileSize exceeds="1GB" />
+                        <IfAccumulatedFileCount exceeds="50" />
+                    </IfAny>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingRandomAccessFile>
     </appenders>
     <loggers>
         <root level="INFO">
             <appender-ref ref="console"/>
             <appender-ref ref="file"/>
         </root>
-        <logger name="com.baidu.hugegraph" level="INFO" additivity="false">
+        <Logger name="com.baidu.hugegraph" level="INFO" additivity="false">
             <appender-ref ref="console"/>
             <appender-ref ref="file"/>
-        </logger>
+        </Logger>
     </loggers>
 </configuration>
diff --git a/computer-dist/src/assembly/travis/install-hdfs.sh b/computer-dist/src/assembly/travis/install-hdfs.sh
index a81832d2..b15719ce 100755
--- a/computer-dist/src/assembly/travis/install-hdfs.sh
+++ b/computer-dist/src/assembly/travis/install-hdfs.sh
@@ -10,8 +10,7 @@ chmod 0600 ~/.ssh/known_hosts
 eval `ssh-agent`
 ssh-add ~/.ssh/id_rsa
 
-sudo wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz
-
+cd ~/
 tar -zxf hadoop-3.3.2.tar.gz -C /opt
 cd /opt
 mv hadoop-3.3.2 hadoop
@@ -46,5 +45,6 @@ tee etc/hadoop/hdfs-site.xml <<EOF
 EOF
 
 bin/hdfs namenode -format
-sbin/start-dfs.sh
+sbin/hadoop-daemon.sh start namenode
+sbin/hadoop-daemon.sh start datanode
 jps
diff --git a/computer-dist/src/assembly/travis/install-hugegraph-from-source.sh b/computer-dist/src/assembly/travis/install-hugegraph-from-source.sh
index cbc2024d..46261320 100755
--- a/computer-dist/src/assembly/travis/install-hugegraph-from-source.sh
+++ b/computer-dist/src/assembly/travis/install-hugegraph-from-source.sh
@@ -10,7 +10,7 @@ fi
 COMMIT_ID=$1
 HUGEGRAPH_GIT_URL="https://github.com/apache/hugegraph.git"
 
-git clone --depth 100 ${HUGEGRAPH_GIT_URL}
+git clone --depth 300 ${HUGEGRAPH_GIT_URL}
 cd hugegraph
 git checkout ${COMMIT_ID}
 mvn package -DskipTests
diff --git a/computer-dist/src/assembly/travis/load-data-into-hugegraph.sh b/computer-dist/src/assembly/travis/load-data-into-hugegraph.sh
index f43b6871..5f21e31e 100755
--- a/computer-dist/src/assembly/travis/load-data-into-hugegraph.sh
+++ b/computer-dist/src/assembly/travis/load-data-into-hugegraph.sh
@@ -9,9 +9,10 @@ HUGEGRAPH_LOADER_GIT_URL="https://github.com/apache/hugegraph-toolchain.git"
 
 git clone --depth 10 ${HUGEGRAPH_LOADER_GIT_URL}
 
-cd hugegraph-toolchain/hugegraph-loader
-mvn install:install-file -Dfile=assembly/static/lib/ojdbc8-12.2.0.1.jar -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=12.2.0.1 -Dpackaging=jar || exit 1
-mvn package -DskipTests || exit 1
+cd hugegraph-toolchain
+mvn install -pl hugegraph-client,hugegraph-loader -am -DskipTests -ntp
+
+cd hugegraph-loader
 tar -zxf hugegraph-loader-*.tar.gz || exit 1
 cd ../../
 
diff --git a/computer-dist/src/main/java/com/baidu/hugegraph/computer/dist/HugeGraphComputer.java b/computer-dist/src/main/java/com/baidu/hugegraph/computer/dist/HugeGraphComputer.java
index 0b3413ba..9b2a60f2 100644
--- a/computer-dist/src/main/java/com/baidu/hugegraph/computer/dist/HugeGraphComputer.java
+++ b/computer-dist/src/main/java/com/baidu/hugegraph/computer/dist/HugeGraphComputer.java
@@ -34,9 +34,9 @@ import com.baidu.hugegraph.computer.core.master.MasterService;
 import com.baidu.hugegraph.computer.core.network.message.MessageType;
 import com.baidu.hugegraph.computer.core.util.ComputerContextUtil;
 import com.baidu.hugegraph.computer.core.worker.WorkerService;
-import com.baidu.hugegraph.config.OptionSpace;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.config.OptionSpace;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 public class HugeGraphComputer {
 
@@ -139,6 +139,6 @@ public class HugeGraphComputer {
                              "com.baidu.hugegraph.computer.core.config." +
                              "ComputerOptions");
         OptionSpace.register("computer-rpc",
-                             "com.baidu.hugegraph.config.RpcOptions");
+                             "org.apache.hugegraph.config.RpcOptions");
     }
 }
diff --git a/computer-driver/pom.xml b/computer-driver/pom.xml
index ee9d0e76..ac2fff7b 100644
--- a/computer-driver/pom.xml
+++ b/computer-driver/pom.xml
@@ -11,4 +11,11 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>computer-driver</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.hugegraph</groupId>
+            <artifactId>hugegraph-client</artifactId>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/config/ComputerOptions.java b/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/config/ComputerOptions.java
index 06ad81a9..9e367845 100644
--- a/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/config/ComputerOptions.java
+++ b/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/config/ComputerOptions.java
@@ -19,15 +19,15 @@
 
 package com.baidu.hugegraph.computer.driver.config;
 
-import static com.baidu.hugegraph.config.OptionChecker.allowValues;
-import static com.baidu.hugegraph.config.OptionChecker.disallowEmpty;
-import static com.baidu.hugegraph.config.OptionChecker.nonNegativeInt;
-import static com.baidu.hugegraph.config.OptionChecker.positiveInt;
-import static com.baidu.hugegraph.config.OptionChecker.rangeInt;
+import static org.apache.hugegraph.config.OptionChecker.allowValues;
+import static org.apache.hugegraph.config.OptionChecker.disallowEmpty;
+import static org.apache.hugegraph.config.OptionChecker.nonNegativeInt;
+import static org.apache.hugegraph.config.OptionChecker.positiveInt;
+import static org.apache.hugegraph.config.OptionChecker.rangeInt;
 
 import java.util.Set;
 
-import com.baidu.hugegraph.config.OptionHolder;
+import org.apache.hugegraph.config.OptionHolder;
 import com.google.common.collect.ImmutableSet;
 
 public class ComputerOptions extends OptionHolder {
diff --git a/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/config/DriverConfigOption.java b/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/config/DriverConfigOption.java
index 4ed93bac..14d002ea 100644
--- a/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/config/DriverConfigOption.java
+++ b/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/config/DriverConfigOption.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.computer.driver.config;
 
 import org.apache.commons.lang3.StringUtils;
 
-import com.baidu.hugegraph.config.ConfigOption;
+import org.apache.hugegraph.config.ConfigOption;
 import com.google.common.base.Predicate;
 
 /**
diff --git a/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/util/JsonUtil.java b/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/util/JsonUtil.java
index 64269d19..ab1d2638 100644
--- a/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/util/JsonUtil.java
+++ b/computer-driver/src/main/java/com/baidu/hugegraph/computer/driver/util/JsonUtil.java
@@ -19,7 +19,7 @@
 
 package com.baidu.hugegraph.computer.driver.util;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.PropertyAccessor;
 import com.fasterxml.jackson.core.JsonProcessingException;
diff --git a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/OperatorEntrypoint.java b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/OperatorEntrypoint.java
index 2d783c65..631c8158 100644
--- a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/OperatorEntrypoint.java
+++ b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/OperatorEntrypoint.java
@@ -36,9 +36,14 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 
-import org.apache.commons.configuration.MapConfiguration;
+import org.apache.commons.configuration2.MapConfiguration;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.HttpStatus;
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.OptionSpace;
+import org.apache.hugegraph.util.ExecutorUtil;
+import org.apache.hugegraph.util.Log;
+import org.apache.logging.log4j.LogManager;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.k8s.Constants;
@@ -46,10 +51,6 @@ import com.baidu.hugegraph.computer.k8s.operator.common.AbstractController;
 import com.baidu.hugegraph.computer.k8s.operator.config.OperatorOptions;
 import com.baidu.hugegraph.computer.k8s.operator.controller.ComputerJobController;
 import com.baidu.hugegraph.computer.k8s.util.KubeUtil;
-import com.baidu.hugegraph.config.HugeConfig;
-import com.baidu.hugegraph.config.OptionSpace;
-import com.baidu.hugegraph.util.ExecutorUtil;
-import com.baidu.hugegraph.util.Log;
 import com.sun.net.httpserver.HttpServer;
 
 import io.fabric8.kubernetes.api.model.ConfigMap;
@@ -182,6 +183,8 @@ public class OperatorEntrypoint {
             this.httpServer.stop(0);
             this.httpServer = null;
         }
+
+        LogManager.shutdown();
     }
 
     private HugeConfig configFromSysPropsOrEnvVars() {
diff --git a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/common/AbstractController.java b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/common/AbstractController.java
index 97e38358..2910b38f 100644
--- a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/common/AbstractController.java
+++ b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/common/AbstractController.java
@@ -42,9 +42,9 @@ import org.slf4j.Logger;
 import com.baidu.hugegraph.computer.k8s.crd.model.EventType;
 import com.baidu.hugegraph.computer.k8s.operator.config.OperatorOptions;
 import com.baidu.hugegraph.computer.k8s.util.KubeUtil;
-import com.baidu.hugegraph.config.HugeConfig;
-import com.baidu.hugegraph.util.ExecutorUtil;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.util.ExecutorUtil;
+import org.apache.hugegraph.util.Log;
 import com.google.common.collect.Sets;
 
 import io.fabric8.kubernetes.api.model.Event;
diff --git a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/common/OperatorRequest.java b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/common/OperatorRequest.java
index bae3bde3..79ed08b4 100644
--- a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/common/OperatorRequest.java
+++ b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/common/OperatorRequest.java
@@ -25,7 +25,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.commons.lang3.StringUtils;
 
 import com.baidu.hugegraph.computer.driver.util.JsonUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 import io.fabric8.kubernetes.api.model.ObjectMeta;
 import io.fabric8.kubernetes.client.CustomResource;
diff --git a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/config/OperatorOptions.java b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/config/OperatorOptions.java
index 7f79deb9..f112743f 100644
--- a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/config/OperatorOptions.java
+++ b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/config/OperatorOptions.java
@@ -19,13 +19,13 @@
 
 package com.baidu.hugegraph.computer.k8s.operator.config;
 
-import static com.baidu.hugegraph.config.OptionChecker.allowValues;
-import static com.baidu.hugegraph.config.OptionChecker.disallowEmpty;
-import static com.baidu.hugegraph.config.OptionChecker.positiveInt;
+import static org.apache.hugegraph.config.OptionChecker.allowValues;
+import static org.apache.hugegraph.config.OptionChecker.disallowEmpty;
+import static org.apache.hugegraph.config.OptionChecker.positiveInt;
 
 import com.baidu.hugegraph.computer.k8s.Constants;
-import com.baidu.hugegraph.config.ConfigOption;
-import com.baidu.hugegraph.config.OptionHolder;
+import org.apache.hugegraph.config.ConfigOption;
+import org.apache.hugegraph.config.OptionHolder;
 
 public class OperatorOptions extends OptionHolder {
 
diff --git a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/controller/ComputerJobController.java b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/controller/ComputerJobController.java
index 5849c638..fa219f48 100644
--- a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/controller/ComputerJobController.java
+++ b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/controller/ComputerJobController.java
@@ -49,8 +49,8 @@ import com.baidu.hugegraph.computer.k8s.operator.common.OperatorRequest;
 import com.baidu.hugegraph.computer.k8s.operator.common.OperatorResult;
 import com.baidu.hugegraph.computer.k8s.operator.config.OperatorOptions;
 import com.baidu.hugegraph.computer.k8s.util.KubeUtil;
-import com.baidu.hugegraph.config.HugeConfig;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.util.Log;
 import com.google.common.base.Throwables;
 
 import io.fabric8.kubernetes.api.model.ConfigMap;
diff --git a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/controller/ComputerJobDeployer.java b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/controller/ComputerJobDeployer.java
index e2c5b677..76a35b56 100644
--- a/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/controller/ComputerJobDeployer.java
+++ b/computer-k8s-operator/src/main/java/com/baidu/hugegraph/computer/k8s/operator/controller/ComputerJobDeployer.java
@@ -31,6 +31,9 @@ import java.util.Set;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.driver.config.ComputerOptions;
@@ -40,9 +43,6 @@ import com.baidu.hugegraph.computer.k8s.crd.model.HugeGraphComputerJob;
 import com.baidu.hugegraph.computer.k8s.crd.model.ResourceName;
 import com.baidu.hugegraph.computer.k8s.operator.config.OperatorOptions;
 import com.baidu.hugegraph.computer.k8s.util.KubeUtil;
-import com.baidu.hugegraph.config.HugeConfig;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 
@@ -93,9 +93,8 @@ public class ComputerJobDeployer {
     private static final String TRANSPORT_PORT_NAME = "transport-port";
     private static final String RPC_PORT_NAME = "rpc-port";
     private static final int DEFAULT_TRANSPORT_PORT = 8099;
-    private static final int DEFAULT_RPC_PORT = 8090;
-    private static final String COMPUTER_CONFIG_MAP_VOLUME =
-            "computer-config-map-volume";
+    private static final int DEFAULT_RPC_PORT = 8190;
+    private static final String COMPUTER_CONFIG_MAP_VOLUME = "computer-config-map-volume";
 
     private static final String POD_IP_KEY = "status.podIP";
     private static final String POD_NAMESPACE_KEY = "metadata.namespace";
@@ -198,19 +197,18 @@ public class ComputerJobDeployer {
             config.put(ComputerOptions.TRANSPORT_SERVER_PORT.name(),
                        transportPort);
         }
+        ContainerPort transportContainerPort = new ContainerPortBuilder()
+                .withName(TRANSPORT_PORT_NAME)
+                .withContainerPort(Integer.valueOf(transportPort))
+                .withProtocol(PROTOCOL)
+                .build();
 
         String rpcPort = config.get(
-                         ComputerOptions.RPC_SERVER_PORT.name());
+                ComputerOptions.RPC_SERVER_PORT.name());
         if (StringUtils.isBlank(rpcPort) || RANDOM_PORT.equals(rpcPort)) {
             rpcPort = String.valueOf(DEFAULT_RPC_PORT);
             config.put(ComputerOptions.RPC_SERVER_PORT.name(), rpcPort);
         }
-
-        ContainerPort transportContainerPort = new ContainerPortBuilder()
-                .withName(TRANSPORT_PORT_NAME)
-                .withContainerPort(Integer.valueOf(transportPort))
-                .withProtocol(PROTOCOL)
-                .build();
         ContainerPort rpcContainerPort = new ContainerPortBuilder()
                 .withName(RPC_PORT_NAME)
                 .withContainerPort(Integer.valueOf(rpcPort))
diff --git a/computer-k8s-operator/src/main/resources/log4j2.xml b/computer-k8s-operator/src/main/resources/log4j2.xml
index e4d760c4..3d90bb89 100644
--- a/computer-k8s-operator/src/main/resources/log4j2.xml
+++ b/computer-k8s-operator/src/main/resources/log4j2.xml
@@ -9,13 +9,13 @@
     <appenders>
         <Console name="console" target="SYSTEM_OUT">
             <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
-            <PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} %-5r [%t] [%-5p] %c %x - %m%n"/>
+            <PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} [%t] [%p] %c{1.} - %m%n"/>
         </Console>
 
         <RollingFile name="file" fileName="${LOG_PATH}/${FILE_NAME}.log"
                      filePattern="${LOG_PATH}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log">
             <ThresholdFilter level="${env:LOG_LEVEL:-INFO}" onMatch="ACCEPT" onMismatch="DENY"/>
-            <PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} %-5r [%t] [%-5p] %c %x - %m%n"/>
+            <PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} [%t] [%p] %c{1.} - %m%n"/>
             <SizeBasedTriggeringPolicy size="100MB"/>
         </RollingFile>
     </appenders>
diff --git a/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/config/KubeDriverOptions.java b/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/config/KubeDriverOptions.java
index fe5e0b44..ef59cf39 100644
--- a/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/config/KubeDriverOptions.java
+++ b/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/config/KubeDriverOptions.java
@@ -19,15 +19,15 @@
 
 package com.baidu.hugegraph.computer.k8s.config;
 
-import static com.baidu.hugegraph.config.OptionChecker.allowValues;
-import static com.baidu.hugegraph.config.OptionChecker.disallowEmpty;
+import static org.apache.hugegraph.config.OptionChecker.allowValues;
+import static org.apache.hugegraph.config.OptionChecker.disallowEmpty;
 
 import org.apache.commons.io.FileUtils;
 
 import com.baidu.hugegraph.computer.k8s.Constants;
-import com.baidu.hugegraph.config.ConfigListOption;
-import com.baidu.hugegraph.config.ConfigOption;
-import com.baidu.hugegraph.config.OptionHolder;
+import org.apache.hugegraph.config.ConfigListOption;
+import org.apache.hugegraph.config.ConfigOption;
+import org.apache.hugegraph.config.OptionHolder;
 
 public class KubeDriverOptions extends OptionHolder {
 
diff --git a/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/config/KubeSpecOptions.java b/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/config/KubeSpecOptions.java
index abae9a04..ffc6e354 100644
--- a/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/config/KubeSpecOptions.java
+++ b/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/config/KubeSpecOptions.java
@@ -19,18 +19,18 @@
 
 package com.baidu.hugegraph.computer.k8s.config;
 
-import static com.baidu.hugegraph.config.OptionChecker.allowValues;
-import static com.baidu.hugegraph.config.OptionChecker.disallowEmpty;
-import static com.baidu.hugegraph.config.OptionChecker.rangeInt;
+import static org.apache.hugegraph.config.OptionChecker.allowValues;
+import static org.apache.hugegraph.config.OptionChecker.disallowEmpty;
+import static org.apache.hugegraph.config.OptionChecker.rangeInt;
 
 import java.util.Map;
 import java.util.Set;
 
 import com.baidu.hugegraph.computer.driver.config.DriverConfigOption;
 import com.baidu.hugegraph.computer.k8s.Constants;
-import com.baidu.hugegraph.config.ConfigListOption;
-import com.baidu.hugegraph.config.ConfigOption;
-import com.baidu.hugegraph.config.OptionHolder;
+import org.apache.hugegraph.config.ConfigListOption;
+import org.apache.hugegraph.config.ConfigOption;
+import org.apache.hugegraph.config.OptionHolder;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/driver/KubernetesDriver.java b/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/driver/KubernetesDriver.java
index 0b73d999..1b392319 100644
--- a/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/driver/KubernetesDriver.java
+++ b/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/driver/KubernetesDriver.java
@@ -63,11 +63,11 @@ import com.baidu.hugegraph.computer.k8s.crd.model.ComputerJobStatus;
 import com.baidu.hugegraph.computer.k8s.crd.model.HugeGraphComputerJob;
 import com.baidu.hugegraph.computer.k8s.crd.model.HugeGraphComputerJobList;
 import com.baidu.hugegraph.computer.k8s.util.KubeUtil;
-import com.baidu.hugegraph.config.ConfigListOption;
-import com.baidu.hugegraph.config.HugeConfig;
-import com.baidu.hugegraph.config.TypedOption;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.config.ConfigListOption;
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.TypedOption;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 import io.fabric8.kubernetes.api.model.Event;
 import io.fabric8.kubernetes.api.model.LocalObjectReference;
diff --git a/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/util/KubeUtil.java b/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/util/KubeUtil.java
index cb1667c4..1369347a 100644
--- a/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/util/KubeUtil.java
+++ b/computer-k8s/src/main/java/com/baidu/hugegraph/computer/k8s/util/KubeUtil.java
@@ -39,7 +39,7 @@ import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.k8s.Constants;
 import com.baidu.hugegraph.computer.k8s.crd.model.EventType;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 import io.fabric8.kubernetes.api.model.Event;
 import io.fabric8.kubernetes.api.model.EventBuilder;
diff --git a/computer-test/pom.xml b/computer-test/pom.xml
index 07dd9d1f..155b0973 100644
--- a/computer-test/pom.xml
+++ b/computer-test/pom.xml
@@ -39,7 +39,7 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>com.baidu.hugegraph</groupId>
+            <groupId>org.apache.hugegraph</groupId>
             <artifactId>hugegraph-common</artifactId>
         </dependency>
         <dependency>
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmTestBase.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmTestBase.java
index d28e79c3..84147345 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmTestBase.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmTestBase.java
@@ -26,6 +26,9 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
+import org.apache.hugegraph.config.RpcOptions;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.util.Log;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
@@ -35,9 +38,6 @@ import com.baidu.hugegraph.computer.core.util.ComputerContextUtil;
 import com.baidu.hugegraph.computer.core.worker.MockWorkerService;
 import com.baidu.hugegraph.computer.core.worker.WorkerService;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.config.RpcOptions;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.util.Log;
 
 public class AlgorithmTestBase extends UnitTestBase {
 
@@ -54,8 +54,6 @@ public class AlgorithmTestBase extends UnitTestBase {
             WorkerService workerService = null;
             try {
                 Map<String, String> params = new HashMap<>();
-                params.put(RpcOptions.RPC_REMOTE_URL.name(),
-                           "127.0.0.1:8090");
                 params.put(ComputerOptions.JOB_ID.name(),
                            "algo_test_job1");
                 params.put(ComputerOptions.JOB_WORKERS_COUNT.name(),
@@ -101,8 +99,6 @@ public class AlgorithmTestBase extends UnitTestBase {
                 Map<String, String> params = new HashMap<>();
                 params.put(RpcOptions.RPC_SERVER_HOST.name(),
                            "localhost");
-                params.put(RpcOptions.RPC_SERVER_PORT.name(),
-                           "8090");
                 params.put(ComputerOptions.JOB_ID.name(),
                            "algo_test_job1");
                 params.put(ComputerOptions.JOB_WORKERS_COUNT.name(),
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmTestSuite.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmTestSuite.java
index 7b26c3e0..e6fb5d18 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmTestSuite.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/AlgorithmTestSuite.java
@@ -33,7 +33,7 @@ import com.baidu.hugegraph.computer.algorithm.community.trianglecount.TriangleCo
 import com.baidu.hugegraph.computer.algorithm.community.wcc.WccTest;
 import com.baidu.hugegraph.computer.algorithm.path.rings.RingsDetectionTest;
 import com.baidu.hugegraph.computer.algorithm.path.rings.RingsDetectionWithFilterTest;
-import com.baidu.hugegraph.config.OptionSpace;
+import org.apache.hugegraph.config.OptionSpace;
 
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
@@ -57,6 +57,6 @@ public class AlgorithmTestSuite {
                              "com.baidu.hugegraph.computer.core.config." +
                              "ComputerOptions");
         OptionSpace.register("computer-rpc",
-                             "com.baidu.hugegraph.config.RpcOptions");
+                             "org.apache.hugegraph.config.RpcOptions");
     }
 }
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessCentralityTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessCentralityTest.java
index 535d213c..4a6f6827 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessCentralityTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/betweenness/BetweennessCentralityTest.java
@@ -28,12 +28,14 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.algorithm.AlgorithmTestBase;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.output.hg.HugeGraphDoubleOutput;
-import com.baidu.hugegraph.driver.GraphManager;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.driver.SchemaManager;
-import com.baidu.hugegraph.structure.constant.T;
-import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+
+import org.apache.hugegraph.driver.GraphManager;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.driver.SchemaManager;
+import org.apache.hugegraph.structure.constant.T;
+import org.apache.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.testutil.Assert;
+
 import com.google.common.collect.ImmutableMap;
 
 public class BetweennessCentralityTest extends AlgorithmTestBase {
@@ -68,14 +70,14 @@ public class BetweennessCentralityTest extends AlgorithmTestBase {
               .create();
 
         GraphManager graph = client.graph();
-        Vertex v0 = graph.addVertex(T.label, "user", T.id, "0");
-        Vertex v1 = graph.addVertex(T.label, "user", T.id, "1");
-        Vertex v2 = graph.addVertex(T.label, "user", T.id, "2");
-        Vertex v3 = graph.addVertex(T.label, "user", T.id, "3");
-        Vertex v4 = graph.addVertex(T.label, "user", T.id, "4");
-        Vertex v5 = graph.addVertex(T.label, "user", T.id, "5");
-        Vertex v6 = graph.addVertex(T.label, "user", T.id, "6");
-        Vertex v7 = graph.addVertex(T.label, "user", T.id, "7");
+        Vertex v0 = graph.addVertex(T.LABEL, "user", T.ID, "0");
+        Vertex v1 = graph.addVertex(T.LABEL, "user", T.ID, "1");
+        Vertex v2 = graph.addVertex(T.LABEL, "user", T.ID, "2");
+        Vertex v3 = graph.addVertex(T.LABEL, "user", T.ID, "3");
+        Vertex v4 = graph.addVertex(T.LABEL, "user", T.ID, "4");
+        Vertex v5 = graph.addVertex(T.LABEL, "user", T.ID, "5");
+        Vertex v6 = graph.addVertex(T.LABEL, "user", T.ID, "6");
+        Vertex v7 = graph.addVertex(T.LABEL, "user", T.ID, "7");
 
         v0.addEdge("link", v1);
         v0.addEdge("link", v2);
@@ -130,13 +132,10 @@ public class BetweennessCentralityTest extends AlgorithmTestBase {
 
     }
 
-    public static class BetweennessCentralityTestOutput
-                  extends HugeGraphDoubleOutput {
+    public static class BetweennessCentralityTestOutput extends HugeGraphDoubleOutput {
 
         @Override
-        protected Double value(
-                  com.baidu.hugegraph.computer.core.graph.vertex.Vertex
-                  vertex) {
+        protected Double value(com.baidu.hugegraph.computer.core.graph.vertex.Vertex vertex) {
             Double result = super.value(vertex);
             Double expect = EXPECT_RESULTS.get(vertex.id().string());
             Assert.assertNotNull(expect);
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/closeness/ClosenessCentralityTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/closeness/ClosenessCentralityTest.java
index eaaec5ae..7315ad13 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/closeness/ClosenessCentralityTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/closeness/ClosenessCentralityTest.java
@@ -28,12 +28,12 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.algorithm.AlgorithmTestBase;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.output.hg.HugeGraphDoubleOutput;
-import com.baidu.hugegraph.driver.GraphManager;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.driver.SchemaManager;
-import com.baidu.hugegraph.structure.constant.T;
-import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.driver.GraphManager;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.driver.SchemaManager;
+import org.apache.hugegraph.structure.constant.T;
+import org.apache.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableMap;
 
 public class ClosenessCentralityTest extends AlgorithmTestBase {
@@ -59,12 +59,12 @@ public class ClosenessCentralityTest extends AlgorithmTestBase {
               .create();
 
         GraphManager graph = client.graph();
-        Vertex vA = graph.addVertex(T.label, "user", T.id, "A");
-        Vertex vB = graph.addVertex(T.label, "user", T.id, "B");
-        Vertex vC = graph.addVertex(T.label, "user", T.id, "C");
-        Vertex vD = graph.addVertex(T.label, "user", T.id, "D");
-        Vertex vE = graph.addVertex(T.label, "user", T.id, "E");
-        Vertex vF = graph.addVertex(T.label, "user", T.id, "F");
+        Vertex vA = graph.addVertex(T.LABEL, "user", T.ID, "A");
+        Vertex vB = graph.addVertex(T.LABEL, "user", T.ID, "B");
+        Vertex vC = graph.addVertex(T.LABEL, "user", T.ID, "C");
+        Vertex vD = graph.addVertex(T.LABEL, "user", T.ID, "D");
+        Vertex vE = graph.addVertex(T.LABEL, "user", T.ID, "E");
+        Vertex vF = graph.addVertex(T.LABEL, "user", T.ID, "F");
 
         vA.addEdge("link", vB, "rate", 1);
         vB.addEdge("link", vA, "rate", 1);
@@ -154,9 +154,7 @@ public class ClosenessCentralityTest extends AlgorithmTestBase {
                             .build();
 
         @Override
-        protected Double value(
-                  com.baidu.hugegraph.computer.core.graph.vertex.Vertex
-                  vertex) {
+        protected Double value(com.baidu.hugegraph.computer.core.graph.vertex.Vertex vertex) {
             Double result = super.value(vertex);
             Double expect = expectResults.get(vertex.id().string());
             Assert.assertNotNull(expect);
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/degree/DegreeCentralityTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/degree/DegreeCentralityTest.java
index 4a8f9e2c..b3311edb 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/degree/DegreeCentralityTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/degree/DegreeCentralityTest.java
@@ -82,15 +82,14 @@ public class DegreeCentralityTest extends AlgorithmTestBase {
             } else {
                 Iterator<Edge> edges = vertex.edges().iterator();
                 double totalValue = Streams.stream(edges).map(
-                                    (edge) -> {
-                                        DoubleValue weightValue =
-                                                    edge.property(this.weight);
-                                        if (weightValue == null) {
-                                            return 1.0;
-                                        } else {
-                                            return weightValue.value();
-                                        }
-                                    }).reduce(Double::sum).orElse(0.0);
+                        (edge) -> {
+                            DoubleValue weightValue = edge.property(this.weight);
+                            if (weightValue == null) {
+                                return 1.0;
+                            } else {
+                                return weightValue.value();
+                            }
+                        }).reduce(Double::sum).orElse(0.0);
                 Assert.assertEquals(totalValue, value, 0.000001);
             }
             return value;
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/community/trianglecount/TriangleCountTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/community/trianglecount/TriangleCountTest.java
index 25df59b3..3c33ee1e 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/community/trianglecount/TriangleCountTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/community/trianglecount/TriangleCountTest.java
@@ -21,6 +21,11 @@ package com.baidu.hugegraph.computer.algorithm.community.trianglecount;
 
 import java.util.Map;
 
+import org.apache.hugegraph.driver.GraphManager;
+import org.apache.hugegraph.driver.SchemaManager;
+import org.apache.hugegraph.structure.constant.T;
+import org.apache.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.testutil.Assert;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -28,13 +33,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.algorithm.AlgorithmTestBase;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.output.hg.HugeGraphIntOutput;
-import com.baidu.hugegraph.driver.GraphManager;
-import com.baidu.hugegraph.driver.SchemaManager;
-import com.baidu.hugegraph.structure.constant.T;
-import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
-
-import jersey.repackaged.com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap;
 
 public class TriangleCountTest extends AlgorithmTestBase {
 
@@ -42,10 +41,11 @@ public class TriangleCountTest extends AlgorithmTestBase {
     private static final String EDGE_LABEL = "tc_know";
     private static final String PROPERTY_KEY = "tc_weight";
 
-    protected static final Map<Object, Integer> EXPECTED_RESULTS =
-              ImmutableMap.of("tc_A", 2, "tc_B", 1,
-                              "tc_C", 3, "tc_D", 2,
-                              "tc_E", 1);
+    protected static final Map<Object, Integer> EXPECTED_RESULTS = ImmutableMap.of("tc_A", 2,
+                                                                                   "tc_B", 1,
+                                                                                   "tc_C", 3,
+                                                                                   "tc_D", 2,
+                                                                                   "tc_E", 1);
 
     @BeforeClass
     public static void setup() {
@@ -69,15 +69,15 @@ public class TriangleCountTest extends AlgorithmTestBase {
               .create();
 
         GraphManager graph = client().graph();
-        Vertex vA = graph.addVertex(T.label, VERTX_LABEL, T.id, "tc_A",
+        Vertex vA = graph.addVertex(T.LABEL, VERTX_LABEL, T.ID, "tc_A",
                                     PROPERTY_KEY, 1);
-        Vertex vB = graph.addVertex(T.label, VERTX_LABEL, T.id, "tc_B",
+        Vertex vB = graph.addVertex(T.LABEL, VERTX_LABEL, T.ID, "tc_B",
                                     PROPERTY_KEY, 1);
-        Vertex vC = graph.addVertex(T.label, VERTX_LABEL, T.id, "tc_C",
+        Vertex vC = graph.addVertex(T.LABEL, VERTX_LABEL, T.ID, "tc_C",
                                     PROPERTY_KEY, 1);
-        Vertex vD = graph.addVertex(T.label, VERTX_LABEL, T.id, "tc_D",
+        Vertex vD = graph.addVertex(T.LABEL, VERTX_LABEL, T.ID, "tc_D",
                                     PROPERTY_KEY, 1);
-        Vertex vE = graph.addVertex(T.label, VERTX_LABEL, T.id, "tc_E",
+        Vertex vE = graph.addVertex(T.LABEL, VERTX_LABEL, T.ID, "tc_E",
                                     PROPERTY_KEY, 1);
 
         vA.addEdge(EDGE_LABEL, vB, PROPERTY_KEY, 1);
@@ -121,8 +121,7 @@ public class TriangleCountTest extends AlgorithmTestBase {
     public static class TriangleCountIntOutputTest extends HugeGraphIntOutput {
 
         @Override
-        public Integer value(
-               com.baidu.hugegraph.computer.core.graph.vertex.Vertex vertex) {
+        public Integer value(com.baidu.hugegraph.computer.core.graph.vertex.Vertex vertex) {
             Integer value = super.value(vertex);
             Integer expected = EXPECTED_RESULTS.get(vertex.id());
             if (expected != null) {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/RingsDetectionTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/RingsDetectionTest.java
index d03061e9..3144a0c2 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/RingsDetectionTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/RingsDetectionTest.java
@@ -31,12 +31,12 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.algorithm.AlgorithmTestBase;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.graph.id.Id;
-import com.baidu.hugegraph.driver.GraphManager;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.driver.SchemaManager;
-import com.baidu.hugegraph.structure.constant.T;
-import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.driver.GraphManager;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.driver.SchemaManager;
+import org.apache.hugegraph.structure.constant.T;
+import org.apache.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 
@@ -71,11 +71,11 @@ public class RingsDetectionTest extends AlgorithmTestBase {
               .create();
 
         GraphManager graph = client.graph();
-        Vertex vA = graph.addVertex(T.label, "user", T.id, "A");
-        Vertex vB = graph.addVertex(T.label, "user", T.id, "B");
-        Vertex vC = graph.addVertex(T.label, "user", T.id, "C");
-        Vertex vD = graph.addVertex(T.label, "user", T.id, "D");
-        Vertex vE = graph.addVertex(T.label, "user", T.id, "E");
+        Vertex vA = graph.addVertex(T.LABEL, "user", T.ID, "A");
+        Vertex vB = graph.addVertex(T.LABEL, "user", T.ID, "B");
+        Vertex vC = graph.addVertex(T.LABEL, "user", T.ID, "C");
+        Vertex vD = graph.addVertex(T.LABEL, "user", T.ID, "D");
+        Vertex vE = graph.addVertex(T.LABEL, "user", T.ID, "E");
 
         vA.addEdge("know", vB);
         vA.addEdge("know", vC);
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/RingsDetectionWithFilterTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/RingsDetectionWithFilterTest.java
index 627c0b81..d837c4af 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/RingsDetectionWithFilterTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/path/rings/RingsDetectionWithFilterTest.java
@@ -31,11 +31,11 @@ import com.baidu.hugegraph.computer.algorithm.path.rings.RingsDetectionTest.Ring
 import com.baidu.hugegraph.computer.algorithm.path.rings.filter.RingsDetectionWithFilter;
 import com.baidu.hugegraph.computer.algorithm.path.rings.filter.RingsDetectionWithFilterParams;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
-import com.baidu.hugegraph.driver.GraphManager;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.driver.SchemaManager;
-import com.baidu.hugegraph.structure.constant.T;
-import com.baidu.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.driver.GraphManager;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.driver.SchemaManager;
+import org.apache.hugegraph.structure.constant.T;
+import org.apache.hugegraph.structure.graph.Vertex;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 
@@ -74,11 +74,11 @@ public class RingsDetectionWithFilterTest extends AlgorithmTestBase {
               .create();
 
         GraphManager graph = client.graph();
-        Vertex vA = graph.addVertex(T.label, "user", T.id, "A", "weight", 1);
-        Vertex vB = graph.addVertex(T.label, "user", T.id, "B", "weight", 1);
-        Vertex vC = graph.addVertex(T.label, "user", T.id, "C", "weight", 1);
-        Vertex vD = graph.addVertex(T.label, "user", T.id, "D", "weight", 1);
-        Vertex vE = graph.addVertex(T.label, "user", T.id, "E", "weight", 3);
+        Vertex vA = graph.addVertex(T.LABEL, "user", T.ID, "A", "weight", 1);
+        Vertex vB = graph.addVertex(T.LABEL, "user", T.ID, "B", "weight", 1);
+        Vertex vC = graph.addVertex(T.LABEL, "user", T.ID, "C", "weight", 1);
+        Vertex vD = graph.addVertex(T.LABEL, "user", T.ID, "D", "weight", 1);
+        Vertex vE = graph.addVertex(T.LABEL, "user", T.ID, "E", "weight", 3);
 
         vA.addEdge("know", vB, "weight", 1);
         vA.addEdge("know", vC, "weight", 1);
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/allocator/DefaultAllocatorTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/allocator/DefaultAllocatorTest.java
index 6dedcc49..9c1a4529 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/allocator/DefaultAllocatorTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/allocator/DefaultAllocatorTest.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.graph.edge.Edge;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class DefaultAllocatorTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/allocator/RecyclersTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/allocator/RecyclersTest.java
index 99600b71..e962ed85 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/allocator/RecyclersTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/allocator/RecyclersTest.java
@@ -27,7 +27,7 @@ import java.util.Random;
 
 import org.junit.Test;
 
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 import io.netty.util.Recycler;
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/BspEventTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/BspEventTest.java
index 4949fb74..a3956206 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/BspEventTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/BspEventTest.java
@@ -24,7 +24,7 @@ import java.util.Map;
 
 import org.junit.Test;
 
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class BspEventTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdBspTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdBspTest.java
index 497c3e97..3892c2d9 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdBspTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdBspTest.java
@@ -35,7 +35,7 @@ import com.baidu.hugegraph.computer.core.graph.SuperstepStat;
 import com.baidu.hugegraph.computer.core.graph.partition.PartitionStat;
 import com.baidu.hugegraph.computer.core.worker.WorkerStat;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class EtcdBspTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdClientTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdClientTest.java
index 94e210c8..0ef5bf64 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdClientTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/bsp/EtcdClientTest.java
@@ -32,7 +32,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 import io.etcd.jetcd.ByteSequence;
 import io.etcd.jetcd.KV;
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/DoubleValueSumCombinerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/DoubleValueSumCombinerTest.java
index 2362aa28..df471127 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/DoubleValueSumCombinerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/DoubleValueSumCombinerTest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.combiner;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.graph.value.DoubleValue;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class DoubleValueSumCombinerTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/FloatValueSumCombinerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/FloatValueSumCombinerTest.java
index edb0dd8e..c2bbd1de 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/FloatValueSumCombinerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/FloatValueSumCombinerTest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.combiner;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.graph.value.FloatValue;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class FloatValueSumCombinerTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/IntValueSumCombinerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/IntValueSumCombinerTest.java
index e068613e..8eaf6860 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/IntValueSumCombinerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/IntValueSumCombinerTest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.combiner;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.graph.value.IntValue;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class IntValueSumCombinerTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/LongValueSumCombinerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/LongValueSumCombinerTest.java
index 0337fdf9..c85b2b0a 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/LongValueSumCombinerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/LongValueSumCombinerTest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.combiner;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class LongValueSumCombinerTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeNewPropertiesCombinerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeNewPropertiesCombinerTest.java
index 9cf19fa0..ec31bde5 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeNewPropertiesCombinerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeNewPropertiesCombinerTest.java
@@ -24,7 +24,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.core.graph.id.BytesId;
 import com.baidu.hugegraph.computer.core.graph.properties.Properties;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class MergeNewPropertiesCombinerTest extends UnitTestBase {
     @Test
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeOldPropertiesCombinerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeOldPropertiesCombinerTest.java
index 2eab0bc6..9b69668b 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeOldPropertiesCombinerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/MergeOldPropertiesCombinerTest.java
@@ -24,7 +24,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.core.graph.id.BytesId;
 import com.baidu.hugegraph.computer.core.graph.properties.Properties;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class MergeOldPropertiesCombinerTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwriteCombinerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwriteCombinerTest.java
index ad9ebd1f..1445e5cc 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwriteCombinerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/OverwriteCombinerTest.java
@@ -23,7 +23,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class OverwriteCombinerTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/PointerCombinerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/PointerCombinerTest.java
index 8cb827b0..987e78ec 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/PointerCombinerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/PointerCombinerTest.java
@@ -40,7 +40,7 @@ import com.baidu.hugegraph.computer.core.sort.SorterTestUtil;
 import com.baidu.hugegraph.computer.core.store.entry.InlinePointer;
 import com.baidu.hugegraph.computer.core.store.entry.Pointer;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class PointerCombinerTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMaxCombinerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMaxCombinerTest.java
index 494074d8..0d91b74c 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMaxCombinerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMaxCombinerTest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.combiner;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class ValueMaxCombinerTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMinCombinerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMinCombinerTest.java
index 030ebeaf..881147d9 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMinCombinerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/combiner/ValueMinCombinerTest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.combiner;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class ValueMinCombinerTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/common/ContainerInfoTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/common/ContainerInfoTest.java
index a3ae895a..7b174c53 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/common/ContainerInfoTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/common/ContainerInfoTest.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class ContainerInfoTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/common/ExceptionTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/common/ExceptionTest.java
index 483ac5ba..65009d43 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/common/ExceptionTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/common/ExceptionTest.java
@@ -25,7 +25,7 @@ import java.nio.charset.IllegalCharsetNameException;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class ExceptionTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/ComputeManagerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/ComputeManagerTest.java
index 8ff418f0..3a341a48 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/ComputeManagerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/ComputeManagerTest.java
@@ -59,7 +59,7 @@ import com.baidu.hugegraph.computer.core.store.FileManager;
 import com.baidu.hugegraph.computer.core.store.entry.EntryOutput;
 import com.baidu.hugegraph.computer.core.store.entry.EntryOutputImpl;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class ComputeManagerTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/EdgesInputTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/EdgesInputTest.java
index 9b582852..9a77198b 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/EdgesInputTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/EdgesInputTest.java
@@ -63,8 +63,8 @@ import com.baidu.hugegraph.computer.core.store.FileManager;
 import com.baidu.hugegraph.computer.core.store.entry.EntryOutput;
 import com.baidu.hugegraph.computer.core.store.entry.EntryOutputImpl;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class EdgesInputTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/MessageInputTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/MessageInputTest.java
index 69ffd1e8..d19d29bd 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/MessageInputTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/MessageInputTest.java
@@ -53,7 +53,7 @@ import com.baidu.hugegraph.computer.core.sort.sorting.SortManager;
 import com.baidu.hugegraph.computer.core.store.FileManager;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class MessageInputTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/ResuablePointerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/ResuablePointerTest.java
index 9ee36484..3e92da5c 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/ResuablePointerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/compute/input/ResuablePointerTest.java
@@ -26,7 +26,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.core.common.Constants;
 import com.baidu.hugegraph.computer.core.io.BytesOutput;
 import com.baidu.hugegraph.computer.core.io.IOFactory;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class ResuablePointerTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/config/DefaultConfigTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/config/DefaultConfigTest.java
index f6900ea9..ed6fede9 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/config/DefaultConfigTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/config/DefaultConfigTest.java
@@ -30,7 +30,7 @@ import com.baidu.hugegraph.computer.core.common.FakeMasterComputation;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.master.DefaultMasterComputation;
 import com.baidu.hugegraph.computer.core.master.MasterComputation;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class DefaultConfigTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/BuiltinGraphFactoryTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/BuiltinGraphFactoryTest.java
index ae78fbd7..8ca25cc9 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/BuiltinGraphFactoryTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/BuiltinGraphFactoryTest.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.computer.core.graph.id.Id;
 import com.baidu.hugegraph.computer.core.graph.id.IdType;
 import com.baidu.hugegraph.computer.core.graph.value.ValueType;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class BuiltinGraphFactoryTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/DefaultEdgeTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/DefaultEdgeTest.java
index 65fc812e..b7b5792a 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/DefaultEdgeTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/DefaultEdgeTest.java
@@ -29,7 +29,7 @@ import com.baidu.hugegraph.computer.core.graph.properties.Properties;
 import com.baidu.hugegraph.computer.core.graph.value.DoubleValue;
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class DefaultEdgeTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/DefaultPropertiesTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/DefaultPropertiesTest.java
index 03a214c9..2be296e0 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/DefaultPropertiesTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/DefaultPropertiesTest.java
@@ -29,7 +29,7 @@ import com.baidu.hugegraph.computer.core.graph.value.DoubleValue;
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class DefaultPropertiesTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/SuperstepStatTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/SuperstepStatTest.java
index 7ed90864..9f86a216 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/SuperstepStatTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/SuperstepStatTest.java
@@ -27,7 +27,7 @@ import com.baidu.hugegraph.computer.core.graph.partition.PartitionStat;
 import com.baidu.hugegraph.computer.core.receiver.MessageStat;
 import com.baidu.hugegraph.computer.core.worker.WorkerStat;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class SuperstepStatTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/BytesIdTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/BytesIdTest.java
index e37fb9f1..7bf87fba 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/BytesIdTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/BytesIdTest.java
@@ -28,7 +28,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.core.common.Constants;
 import com.baidu.hugegraph.computer.core.graph.value.ValueType;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class BytesIdTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/IdFactoryTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/IdFactoryTest.java
index 9d7767e3..91995019 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/IdFactoryTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/IdFactoryTest.java
@@ -25,7 +25,7 @@ import java.util.UUID;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.common.Constants;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class IdFactoryTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/IdTypeTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/IdTypeTest.java
index 86170f93..82e24880 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/IdTypeTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/id/IdTypeTest.java
@@ -24,7 +24,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.common.SerialEnum;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class IdTypeTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/partition/HashPartitionerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/partition/HashPartitionerTest.java
index 6b053443..3a5f3eb7 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/partition/HashPartitionerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/partition/HashPartitionerTest.java
@@ -31,8 +31,8 @@ import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.graph.id.BytesId;
 import com.baidu.hugegraph.computer.core.graph.id.Id;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.util.Log;
 
 public class HashPartitionerTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/partition/PartitionStatTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/partition/PartitionStatTest.java
index 5c32fc15..21c8669b 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/partition/PartitionStatTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/partition/PartitionStatTest.java
@@ -25,7 +25,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.receiver.MessageStat;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class PartitionStatTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/BooleanValueTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/BooleanValueTest.java
index f1710efe..ba757f52 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/BooleanValueTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/BooleanValueTest.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class BooleanValueTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/DoubleValueTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/DoubleValueTest.java
index 9b1815bd..8cdc2139 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/DoubleValueTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/DoubleValueTest.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class DoubleValueTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/FloatValueTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/FloatValueTest.java
index 357f6b4c..2e9c573e 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/FloatValueTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/FloatValueTest.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class FloatValueTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdListListTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdListListTest.java
index 21fd7ce6..f3a29953 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdListListTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdListListTest.java
@@ -27,7 +27,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.core.graph.id.BytesId;
 import com.baidu.hugegraph.computer.core.graph.id.Id;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.Lists;
 
 public class IdListListTest extends UnitTestBase {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdValueListTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdValueListTest.java
index f60dada6..09a71b9c 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdValueListTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdValueListTest.java
@@ -27,7 +27,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.core.graph.id.BytesId;
 import com.baidu.hugegraph.computer.core.graph.id.Id;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.Lists;
 
 public class IdValueListTest extends UnitTestBase {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdValueTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdValueTest.java
index ee33f70e..dd87d8e6 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdValueTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IdValueTest.java
@@ -31,7 +31,7 @@ import com.baidu.hugegraph.computer.core.io.BytesInput;
 import com.baidu.hugegraph.computer.core.io.BytesOutput;
 import com.baidu.hugegraph.computer.core.io.IOFactory;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class IdValueTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IntValueTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IntValueTest.java
index f8aac8aa..309704a0 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IntValueTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/IntValueTest.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class IntValueTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ListValueTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ListValueTest.java
index 15792e0b..3257e567 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ListValueTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ListValueTest.java
@@ -27,7 +27,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.core.graph.id.BytesId;
 import com.baidu.hugegraph.computer.core.graph.value.Value.Tvalue;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class ListValueTest extends UnitTestBase {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/LongValueTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/LongValueTest.java
index c6dc3911..2bf7b76f 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/LongValueTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/LongValueTest.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class LongValueTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/NullValueTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/NullValueTest.java
index 330e7d8d..9d25f603 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/NullValueTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/NullValueTest.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class NullValueTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/StringValueTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/StringValueTest.java
index 322a88af..3a182f74 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/StringValueTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/StringValueTest.java
@@ -27,7 +27,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.common.Constants;
 import com.baidu.hugegraph.computer.core.graph.id.BytesId;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class StringValueTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ValueTypeTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ValueTypeTest.java
index d09747a6..92129dab 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ValueTypeTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/graph/value/ValueTypeTest.java
@@ -24,7 +24,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.common.SerialEnum;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class ValueTypeTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/FileInputSplitTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/FileInputSplitTest.java
index c1fd9b8f..f18d9f83 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/FileInputSplitTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/FileInputSplitTest.java
@@ -23,9 +23,9 @@ import org.junit.Test;
 import org.mockito.Mockito;
 
 import com.baidu.hugegraph.computer.core.input.loader.FileInputSplit;
-import com.baidu.hugegraph.loader.constant.ElemType;
-import com.baidu.hugegraph.loader.mapping.InputStruct;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.loader.constant.ElemType;
+import org.apache.hugegraph.loader.mapping.InputStruct;
+import org.apache.hugegraph.testutil.Assert;
 
 public class FileInputSplitTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/HugeConverterTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/HugeConverterTest.java
index 92b2575c..99710d1e 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/HugeConverterTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/HugeConverterTest.java
@@ -39,7 +39,7 @@ import com.baidu.hugegraph.computer.core.graph.value.NullValue;
 import com.baidu.hugegraph.computer.core.graph.value.StringValue;
 import com.baidu.hugegraph.computer.core.graph.value.ValueType;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class HugeConverterTest extends UnitTestBase {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/InputSplitDataTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/InputSplitDataTest.java
index 5e6a85e1..091a490f 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/InputSplitDataTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/InputSplitDataTest.java
@@ -25,7 +25,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
 import com.baidu.hugegraph.computer.core.config.Config;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class InputSplitDataTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/InputSplitTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/InputSplitTest.java
index d32e1bd7..5656b074 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/InputSplitTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/InputSplitTest.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.computer.core.input;
 
 import org.junit.Test;
 
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class InputSplitTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/MockWorkerInputManager.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/MockWorkerInputManager.java
index f060202a..d3cca00c 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/MockWorkerInputManager.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/input/MockWorkerInputManager.java
@@ -22,9 +22,9 @@ package com.baidu.hugegraph.computer.core.input;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.manager.Manager;
-import com.baidu.hugegraph.structure.graph.Edge;
-import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.structure.graph.Edge;
+import org.apache.hugegraph.structure.graph.Vertex;
+import org.apache.hugegraph.testutil.Assert;
 
 public class MockWorkerInputManager implements Manager {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileTest.java
index 0f227819..07a33265 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedFileTest.java
@@ -40,8 +40,8 @@ import org.slf4j.Logger;
 import com.baidu.hugegraph.computer.core.common.Constants;
 import com.baidu.hugegraph.computer.core.store.entry.EntriesUtil;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.util.Log;
 
 public class BufferedFileTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamTest.java
index 8ab53b93..8e20fa61 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/BufferedStreamTest.java
@@ -33,7 +33,7 @@ import org.apache.commons.io.FileUtils;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class BufferedStreamTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/CsvStructGraphOutputTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/CsvStructGraphOutputTest.java
index 69d4b8c2..ec67131a 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/CsvStructGraphOutputTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/CsvStructGraphOutputTest.java
@@ -40,7 +40,7 @@ import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class CsvStructGraphOutputTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/JsonStructGraphOutputTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/JsonStructGraphOutputTest.java
index 5e4c841b..fcd8da66 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/JsonStructGraphOutputTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/JsonStructGraphOutputTest.java
@@ -40,7 +40,7 @@ import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class JsonStructGraphOutputTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedUnsafeBytesTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedUnsafeBytesTest.java
index d8b16a6c..cb992684 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedUnsafeBytesTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/OptimizedUnsafeBytesTest.java
@@ -28,7 +28,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.common.Constants;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 @SuppressWarnings("resource")
 public class OptimizedUnsafeBytesTest {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/StreamGraphOutputInputTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/StreamGraphOutputInputTest.java
index 2473cc0f..87fb7990 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/StreamGraphOutputInputTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/StreamGraphOutputInputTest.java
@@ -38,7 +38,7 @@ import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class StreamGraphOutputInputTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/StructRandomAccessOutputTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/StructRandomAccessOutputTest.java
index 0d47cdc3..f5dfdbdf 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/StructRandomAccessOutputTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/StructRandomAccessOutputTest.java
@@ -27,7 +27,7 @@ import org.apache.commons.io.FileUtils;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.common.Constants;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class StructRandomAccessOutputTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesTest.java
index 73822210..ba99467d 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/io/UnsafeBytesTest.java
@@ -30,7 +30,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.core.common.Constants;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 @SuppressWarnings("resource")
 public class UnsafeBytesTest {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/ConnectionIdTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/ConnectionIdTest.java
index 91c8a3fb..c368d4e1 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/ConnectionIdTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/ConnectionIdTest.java
@@ -25,7 +25,7 @@ import java.net.UnknownHostException;
 
 import org.junit.Test;
 
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class ConnectionIdTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/DataServerManagerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/DataServerManagerTest.java
index 8a854afd..284d69c7 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/DataServerManagerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/DataServerManagerTest.java
@@ -21,6 +21,7 @@ package com.baidu.hugegraph.computer.core.network;
 
 import java.net.InetSocketAddress;
 
+import org.apache.hugegraph.testutil.Assert;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.common.exception.TransportException;
@@ -35,15 +36,12 @@ import com.baidu.hugegraph.computer.core.store.FileManager;
 import com.baidu.hugegraph.computer.core.worker.MockComputation;
 import com.baidu.hugegraph.computer.core.worker.MockMasterComputation;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.config.RpcOptions;
-import com.baidu.hugegraph.testutil.Assert;
 
 public class DataServerManagerTest extends UnitTestBase {
 
     @Test
     public void test() {
         Config config = UnitTestBase.updateWithRequiredOptions(
-            RpcOptions.RPC_REMOTE_URL, "127.0.0.1:8090",
             ComputerOptions.JOB_ID, "local_001",
             ComputerOptions.JOB_WORKERS_COUNT, "1",
             ComputerOptions.BSP_LOG_INTERVAL, "30000",
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/MockClientHandler.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/MockClientHandler.java
index 59b710b6..87a9576d 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/MockClientHandler.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/MockClientHandler.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.core.network;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.common.exception.TransportException;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class MockClientHandler implements ClientHandler {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/MockMessageHandler.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/MockMessageHandler.java
index da73a30d..cc83b29d 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/MockMessageHandler.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/MockMessageHandler.java
@@ -29,7 +29,7 @@ import com.baidu.hugegraph.computer.core.common.exception.TransportException;
 import com.baidu.hugegraph.computer.core.network.buffer.FileRegionBuffer;
 import com.baidu.hugegraph.computer.core.network.buffer.NetworkBuffer;
 import com.baidu.hugegraph.computer.core.network.message.MessageType;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class MockMessageHandler implements MessageHandler {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/TransportUtilTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/TransportUtilTest.java
index 1761b3ec..0e201785 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/TransportUtilTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/TransportUtilTest.java
@@ -24,7 +24,7 @@ import java.net.InetSocketAddress;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.util.StringEncoding;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/buffer/NetworkBufferTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/buffer/NetworkBufferTest.java
index ad2b4419..38c8b2ee 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/buffer/NetworkBufferTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/buffer/NetworkBufferTest.java
@@ -24,7 +24,7 @@ import java.nio.ByteBuffer;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.util.StringEncoding;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/connection/ConnectionManagerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/connection/ConnectionManagerTest.java
index 57feb828..583e914e 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/connection/ConnectionManagerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/connection/ConnectionManagerTest.java
@@ -35,7 +35,7 @@ import com.baidu.hugegraph.computer.core.network.MockClientHandler;
 import com.baidu.hugegraph.computer.core.network.MockMessageHandler;
 import com.baidu.hugegraph.computer.core.network.TransportClient;
 import com.baidu.hugegraph.computer.core.network.TransportServer;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class ConnectionManagerTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/AbstractNetworkTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/AbstractNetworkTest.java
index 2e5d9457..890f7418 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/AbstractNetworkTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/AbstractNetworkTest.java
@@ -45,9 +45,9 @@ import com.baidu.hugegraph.computer.core.network.TransportUtil;
 import com.baidu.hugegraph.computer.core.network.connection.ConnectionManager;
 import com.baidu.hugegraph.computer.core.network.connection.TransportConnectionManager;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.config.ConfigOption;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.config.ConfigOption;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 import io.netty.bootstrap.ServerBootstrap;
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyClientFactoryTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyClientFactoryTest.java
index 7ee7a234..fd6bc455 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyClientFactoryTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyClientFactoryTest.java
@@ -33,8 +33,8 @@ import com.baidu.hugegraph.computer.core.network.MockClientHandler;
 import com.baidu.hugegraph.computer.core.network.MockMessageHandler;
 import com.baidu.hugegraph.computer.core.network.TransportClient;
 import com.baidu.hugegraph.computer.core.network.TransportConf;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class NettyClientFactoryTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyEncodeDecodeHandlerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyEncodeDecodeHandlerTest.java
index 3e6de20a..00d33c37 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyEncodeDecodeHandlerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyEncodeDecodeHandlerTest.java
@@ -35,7 +35,7 @@ import com.baidu.hugegraph.computer.core.network.message.StartMessage;
 import com.baidu.hugegraph.computer.core.network.netty.codec.FrameDecoder;
 import com.baidu.hugegraph.computer.core.util.StringEncoding;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportClientTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportClientTest.java
index 3975fd60..0f60267c 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportClientTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportClientTest.java
@@ -45,9 +45,9 @@ import com.baidu.hugegraph.computer.core.network.message.Message;
 import com.baidu.hugegraph.computer.core.network.message.MessageType;
 import com.baidu.hugegraph.computer.core.util.StringEncoding;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
-import com.baidu.hugegraph.util.Bytes;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.util.Bytes;
 
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportServerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportServerTest.java
index a52cadac..9ff58b1d 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportServerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/netty/NettyTransportServerTest.java
@@ -36,7 +36,7 @@ import com.baidu.hugegraph.computer.core.network.MockMessageHandler;
 import com.baidu.hugegraph.computer.core.network.TransportConf;
 import com.baidu.hugegraph.computer.core.network.TransportUtil;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 import io.netty.channel.epoll.Epoll;
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/session/TransportSessionTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/session/TransportSessionTest.java
index 595df72c..28c1b6bb 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/session/TransportSessionTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/network/session/TransportSessionTest.java
@@ -35,10 +35,10 @@ import com.baidu.hugegraph.computer.core.network.message.AbstractMessage;
 import com.baidu.hugegraph.computer.core.network.message.MessageType;
 import com.baidu.hugegraph.computer.core.network.netty.AbstractNetworkTest;
 import com.baidu.hugegraph.computer.core.util.StringEncoding;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
-import com.baidu.hugegraph.util.ExecutorUtil;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.util.ExecutorUtil;
+import org.apache.hugegraph.util.Log;
 
 public class TransportSessionTest extends AbstractNetworkTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvBuffersTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvBuffersTest.java
index afc3bc7e..bf92e041 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvBuffersTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvBuffersTest.java
@@ -30,7 +30,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.io.RandomAccessInput;
 import com.baidu.hugegraph.computer.core.network.buffer.NetworkBuffer;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class MessageRecvBuffersTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvManagerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvManagerTest.java
index e09ce562..806997a4 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvManagerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/MessageRecvManagerTest.java
@@ -44,7 +44,7 @@ import com.baidu.hugegraph.computer.core.sort.sorting.SortManager;
 import com.baidu.hugegraph.computer.core.store.FileManager;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class MessageRecvManagerTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/edge/EdgeMessageRecvPartitionTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/edge/EdgeMessageRecvPartitionTest.java
index d83241bf..354d3441 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/edge/EdgeMessageRecvPartitionTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/edge/EdgeMessageRecvPartitionTest.java
@@ -56,7 +56,7 @@ import com.baidu.hugegraph.computer.core.store.entry.EntryOutputImpl;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntryWriter;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class EdgeMessageRecvPartitionTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/message/ComputeMessageRecvPartitionTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/message/ComputeMessageRecvPartitionTest.java
index b81eab37..37090817 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/message/ComputeMessageRecvPartitionTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/message/ComputeMessageRecvPartitionTest.java
@@ -43,7 +43,7 @@ import com.baidu.hugegraph.computer.core.store.FileManager;
 import com.baidu.hugegraph.computer.core.store.SuperstepFileGenerator;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class ComputeMessageRecvPartitionTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/vertex/VertexMessageRecvPartitionTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/vertex/VertexMessageRecvPartitionTest.java
index a10a7f45..5ddcca20 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/vertex/VertexMessageRecvPartitionTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/receiver/vertex/VertexMessageRecvPartitionTest.java
@@ -54,7 +54,7 @@ import com.baidu.hugegraph.computer.core.store.entry.EntryOutputImpl;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.store.entry.Pointer;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class VertexMessageRecvPartitionTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageQueueTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageQueueTest.java
index daaeae3d..9ee9d6c1 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageQueueTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageQueueTest.java
@@ -26,8 +26,8 @@ import java.util.concurrent.atomic.AtomicInteger;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.network.message.MessageType;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class MessageQueueTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendBuffersTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendBuffersTest.java
index becc53e3..9ebee9c3 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendBuffersTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MessageSendBuffersTest.java
@@ -27,7 +27,7 @@ import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
 import com.baidu.hugegraph.computer.core.common.ComputerContext;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class MessageSendBuffersTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MultiQueueTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MultiQueueTest.java
index d3bcca74..3843204b 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MultiQueueTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/MultiQueueTest.java
@@ -24,7 +24,7 @@ import java.util.concurrent.CountDownLatch;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.network.message.MessageType;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableSet;
 
 public class MultiQueueTest {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageSenderTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageSenderTest.java
index 959e4757..b91b3c11 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageSenderTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageSenderTest.java
@@ -19,6 +19,8 @@
 
 package com.baidu.hugegraph.computer.core.sender;
 
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -26,19 +28,15 @@ import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.worker.MockComputation2;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.config.RpcOptions;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
 import com.google.common.collect.ImmutableSet;
 
-public class QueuedMessageSenderTest {
+public class QueuedMessageSenderTest extends UnitTestBase {
 
     private Config config;
 
     @Before
     public void setup() {
         this.config = UnitTestBase.updateWithRequiredOptions(
-            RpcOptions.RPC_REMOTE_URL, "127.0.0.1:8090",
             ComputerOptions.JOB_ID, "local_002",
             ComputerOptions.JOB_WORKERS_COUNT, "2",
             ComputerOptions.JOB_PARTITIONS_COUNT, "2",
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageTest.java
index 2fc58b95..fd4db882 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/QueuedMessageTest.java
@@ -24,7 +24,7 @@ import java.nio.ByteBuffer;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.network.message.MessageType;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class QueuedMessageTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBufferTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBufferTest.java
index ece32bad..90bea37f 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBufferTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBufferTest.java
@@ -34,7 +34,7 @@ import com.baidu.hugegraph.computer.core.graph.value.ListValue;
 import com.baidu.hugegraph.computer.core.graph.value.ValueType;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class WriteBufferTest extends UnitTestBase {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBuffersTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBuffersTest.java
index 201eacd3..b606f640 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBuffersTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sender/WriteBuffersTest.java
@@ -38,8 +38,8 @@ import com.baidu.hugegraph.computer.core.io.StreamGraphInput;
 import com.baidu.hugegraph.computer.core.store.entry.EntryInput;
 import com.baidu.hugegraph.computer.core.store.entry.EntryInputImpl;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 import com.google.common.collect.ImmutableList;
 
 public class WriteBuffersTest extends UnitTestBase {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/SorterTestUtil.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/SorterTestUtil.java
index 146ec79a..cfd51531 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/SorterTestUtil.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/SorterTestUtil.java
@@ -41,7 +41,7 @@ import com.baidu.hugegraph.computer.core.io.Writable;
 import com.baidu.hugegraph.computer.core.store.StoreTestUtil;
 import com.baidu.hugegraph.computer.core.store.entry.EntriesUtil;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class SorterTestUtil {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/EmptyFlusherTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/EmptyFlusherTest.java
index 7ae41382..e3f420fc 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/EmptyFlusherTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/EmptyFlusherTest.java
@@ -24,7 +24,7 @@ import java.util.NoSuchElementException;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.sort.flusher.PeekableIterator;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class EmptyFlusherTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/FlusherTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/FlusherTest.java
index 1d8436a9..0bb88efd 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/FlusherTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/FlusherTest.java
@@ -48,7 +48,7 @@ import com.baidu.hugegraph.computer.core.store.buffer.KvEntriesInput;
 import com.baidu.hugegraph.computer.core.store.entry.EntriesUtil;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class FlusherTest {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SortLargeDataTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SortLargeDataTest.java
index ed375b0d..972f73dc 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SortLargeDataTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SortLargeDataTest.java
@@ -62,9 +62,9 @@ import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvDir;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvDirImpl;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.builder.HgkvDirBuilderImpl;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.util.Bytes;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.util.Bytes;
+import org.apache.hugegraph.util.Log;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SorterTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SorterTest.java
index fcd359c0..3c7ae869 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SorterTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorter/SorterTest.java
@@ -60,8 +60,8 @@ import com.baidu.hugegraph.computer.core.store.file.select.DisperseEvenlySelecto
 import com.baidu.hugegraph.computer.core.store.file.select.InputFilesSelector;
 import com.baidu.hugegraph.computer.core.util.FileUtil;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.iterator.CIter;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.iterator.CIter;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/TestData.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/TestData.java
index cc3c01fa..85055187 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/TestData.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/sort/sorting/TestData.java
@@ -28,7 +28,7 @@ import java.util.NoSuchElementException;
 import java.util.Random;
 import java.util.stream.Collectors;
 
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class TestData {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/BitFileTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/BitFileTest.java
index 65492d1d..85e18c5c 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/BitFileTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/BitFileTest.java
@@ -35,7 +35,7 @@ import com.baidu.hugegraph.computer.core.store.file.seqfile.BitsFileReader;
 import com.baidu.hugegraph.computer.core.store.file.seqfile.BitsFileReaderImpl;
 import com.baidu.hugegraph.computer.core.store.file.seqfile.BitsFileWriter;
 import com.baidu.hugegraph.computer.core.store.file.seqfile.BitsFileWriterImpl;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class BitFileTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/EntriesUtilTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/EntriesUtilTest.java
index de61a9a3..353de020 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/EntriesUtilTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/EntriesUtilTest.java
@@ -35,7 +35,7 @@ import com.baidu.hugegraph.computer.core.store.entry.EntryOutput;
 import com.baidu.hugegraph.computer.core.store.entry.EntryOutputImpl;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntry;
 import com.baidu.hugegraph.computer.core.store.entry.KvEntryWriter;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class EntriesUtilTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/FileManagerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/FileManagerTest.java
index 1483450e..fa8d47f6 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/FileManagerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/FileManagerTest.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.Config;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class FileManagerTest extends UnitTestBase {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/HgkvDirTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/HgkvDirTest.java
index 5b6f2335..ca838bb7 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/HgkvDirTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/HgkvDirTest.java
@@ -39,7 +39,7 @@ import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvFileImpl;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.builder.HgkvDirBuilderImpl;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.reader.HgkvDirReaderImpl;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class HgkvDirTest {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/HgkvFileTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/HgkvFileTest.java
index a3d0e816..f09d9651 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/HgkvFileTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/HgkvFileTest.java
@@ -39,7 +39,7 @@ import com.baidu.hugegraph.computer.core.store.file.hgkvfile.builder.HgkvFileBui
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.builder.HgkvFileBuilderImpl;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.reader.HgkvFileReaderImpl;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class HgkvFileTest {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/StoreTestUtil.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/StoreTestUtil.java
index db331db8..4aec225b 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/StoreTestUtil.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/StoreTestUtil.java
@@ -45,7 +45,7 @@ import com.baidu.hugegraph.computer.core.store.file.hgkvfile.HgkvDirImpl;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.builder.HgkvDirBuilderImpl;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.builder.HgkvFileBuilder;
 import com.baidu.hugegraph.computer.core.store.file.hgkvfile.builder.HgkvFileBuilderImpl;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class StoreTestUtil {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/ValueFileTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/ValueFileTest.java
index fdc06285..437c4f92 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/ValueFileTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/store/ValueFileTest.java
@@ -36,9 +36,9 @@ import com.baidu.hugegraph.computer.core.io.UnsafeBytesOutput;
 import com.baidu.hugegraph.computer.core.store.file.seqfile.ValueFileInput;
 import com.baidu.hugegraph.computer.core.store.file.seqfile.ValueFileOutput;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.util.E;
 
 public class ValueFileTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/ComputerContextUtilTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/ComputerContextUtilTest.java
index 34b2c843..1afab65c 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/ComputerContextUtilTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/ComputerContextUtilTest.java
@@ -27,7 +27,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.core.common.ComputerContext;
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.worker.MockComputationParams;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableMap;
 
 public class ComputerContextUtilTest {
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/JsonUtilTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/JsonUtilTest.java
index 6405e350..a57d59e9 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/JsonUtilTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/JsonUtilTest.java
@@ -25,7 +25,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.common.exception.ComputerException;
 import com.baidu.hugegraph.computer.core.graph.partition.PartitionStat;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class JsonUtilTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/SerializeUtilTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/SerializeUtilTest.java
index 23a7854b..8e38139f 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/SerializeUtilTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/util/SerializeUtilTest.java
@@ -26,7 +26,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.graph.id.BytesId;
 import com.baidu.hugegraph.computer.core.graph.id.Id;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class SerializeUtilTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockComputation.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockComputation.java
index 5e03b764..c9c53eee 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockComputation.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockComputation.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.computer.core.graph.value.IntValue;
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.graph.vertex.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class MockComputation implements Computation<DoubleValue> {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockComputation2.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockComputation2.java
index 1e665b8a..9d3267c8 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockComputation2.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockComputation2.java
@@ -23,7 +23,7 @@ import com.baidu.hugegraph.computer.core.graph.value.DoubleValue;
 import com.baidu.hugegraph.computer.core.graph.value.FloatValue;
 import com.baidu.hugegraph.computer.core.graph.value.IntValue;
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class MockComputation2 extends MockComputation {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockMasterComputation.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockMasterComputation.java
index 79afbc8a..b06e2d9a 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockMasterComputation.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockMasterComputation.java
@@ -35,7 +35,7 @@ import com.baidu.hugegraph.computer.core.graph.value.ValueType;
 import com.baidu.hugegraph.computer.core.master.DefaultMasterComputation;
 import com.baidu.hugegraph.computer.core.master.MasterComputationContext;
 import com.baidu.hugegraph.computer.core.master.MasterContext;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class MockMasterComputation extends DefaultMasterComputation {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockMasterComputation2.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockMasterComputation2.java
index 140c641b..e6076e9e 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockMasterComputation2.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/MockMasterComputation2.java
@@ -24,7 +24,7 @@ import com.baidu.hugegraph.computer.core.graph.value.FloatValue;
 import com.baidu.hugegraph.computer.core.graph.value.IntValue;
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.core.master.MasterComputationContext;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class MockMasterComputation2 extends MockMasterComputation {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerServiceTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerServiceTest.java
index dae3077d..772bf7cc 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerServiceTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerServiceTest.java
@@ -24,6 +24,9 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
+import org.apache.hugegraph.config.RpcOptions;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.util.Log;
 import org.junit.Test;
 import org.slf4j.Logger;
 
@@ -34,9 +37,6 @@ import com.baidu.hugegraph.computer.core.graph.value.DoubleValue;
 import com.baidu.hugegraph.computer.core.master.MasterService;
 import com.baidu.hugegraph.computer.core.output.LimitedLogOutput;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.config.RpcOptions;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.util.Log;
 
 public class WorkerServiceTest extends UnitTestBase {
 
@@ -50,7 +50,6 @@ public class WorkerServiceTest extends UnitTestBase {
 
         pool.submit(() -> {
             Config config = UnitTestBase.updateWithRequiredOptions(
-                RpcOptions.RPC_REMOTE_URL, "127.0.0.1:8090",
                 ComputerOptions.JOB_ID, "local_002",
                 ComputerOptions.JOB_WORKERS_COUNT, "1",
                 ComputerOptions.TRANSPORT_SERVER_PORT, "8086",
@@ -87,7 +86,6 @@ public class WorkerServiceTest extends UnitTestBase {
         pool.submit(() -> {
             Config config = UnitTestBase.updateWithRequiredOptions(
                 RpcOptions.RPC_SERVER_HOST, "localhost",
-                RpcOptions.RPC_SERVER_PORT, "8090",
                 ComputerOptions.JOB_ID, "local_002",
                 ComputerOptions.JOB_WORKERS_COUNT, "1",
                 ComputerOptions.BSP_REGISTER_TIMEOUT, "100000",
@@ -138,7 +136,6 @@ public class WorkerServiceTest extends UnitTestBase {
 
         pool.submit(() -> {
             Config config = UnitTestBase.updateWithRequiredOptions(
-                RpcOptions.RPC_REMOTE_URL, "127.0.0.1:8090",
                 ComputerOptions.JOB_ID, "local_003",
                 ComputerOptions.JOB_WORKERS_COUNT, "2",
                 ComputerOptions.JOB_PARTITIONS_COUNT, "2",
@@ -169,7 +166,6 @@ public class WorkerServiceTest extends UnitTestBase {
 
         pool.submit(() -> {
             Config config = UnitTestBase.updateWithRequiredOptions(
-                RpcOptions.RPC_REMOTE_URL, "127.0.0.1:8090",
                 ComputerOptions.JOB_ID, "local_003",
                 ComputerOptions.JOB_WORKERS_COUNT, "2",
                 ComputerOptions.JOB_PARTITIONS_COUNT, "2",
@@ -201,7 +197,6 @@ public class WorkerServiceTest extends UnitTestBase {
         pool.submit(() -> {
             Config config = UnitTestBase.updateWithRequiredOptions(
                 RpcOptions.RPC_SERVER_HOST, "localhost",
-                RpcOptions.RPC_SERVER_PORT, "8090",
                 ComputerOptions.JOB_ID, "local_003",
                 ComputerOptions.JOB_WORKERS_COUNT, "2",
                 ComputerOptions.JOB_PARTITIONS_COUNT, "2",
@@ -238,7 +233,6 @@ public class WorkerServiceTest extends UnitTestBase {
     @Test
     public void testFailToConnectEtcd() {
         Config config = UnitTestBase.updateWithRequiredOptions(
-            RpcOptions.RPC_REMOTE_URL, "127.0.0.1:8090",
             // Unavailable etcd endpoints
             ComputerOptions.BSP_ETCD_ENDPOINTS, "http://abc:8098",
             ComputerOptions.JOB_ID, "local_004",
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerStatTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerStatTest.java
index 18ab1889..774f0fe8 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerStatTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/core/worker/WorkerStatTest.java
@@ -26,7 +26,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.computer.core.graph.partition.PartitionStat;
 import com.baidu.hugegraph.computer.core.receiver.MessageStat;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class WorkerStatTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/dist/HugeGraphComputerTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/dist/HugeGraphComputerTest.java
index a02331b1..c84181ce 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/dist/HugeGraphComputerTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/dist/HugeGraphComputerTest.java
@@ -6,13 +6,14 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.util.Log;
 import org.junit.Test;
 import org.slf4j.Logger;
 
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.util.Log;
+import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
 
-public class HugeGraphComputerTest {
+public class HugeGraphComputerTest extends UnitTestBase {
 
     private static final Logger LOG = Log.logger(HugeGraphComputerTest.class);
 
@@ -84,16 +85,4 @@ public class HugeGraphComputerTest {
         t.join();
         Assert.assertTrue(isRun.get());
     }
-
-    private boolean existError(Throwable[] exceptions) {
-        boolean error = false;
-        for (Throwable e : exceptions) {
-            if (e != null) {
-                error = true;
-                LOG.warn("There exist error:", e);
-                break;
-            }
-        }
-        return error;
-    }
 }
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/ComputerOptionsTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/ComputerOptionsTest.java
index ea22f5ab..940b9b1d 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/ComputerOptionsTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/ComputerOptionsTest.java
@@ -19,23 +19,23 @@
 
 package com.baidu.hugegraph.computer.driver;
 
-import static com.baidu.hugegraph.config.OptionChecker.disallowEmpty;
+import static org.apache.hugegraph.config.OptionChecker.disallowEmpty;
 
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.commons.configuration.MapConfiguration;
+import org.apache.commons.configuration2.MapConfiguration;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.driver.config.ComputerOptions;
 import com.baidu.hugegraph.computer.driver.config.DriverConfigOption;
-import com.baidu.hugegraph.config.ConfigException;
-import com.baidu.hugegraph.config.HugeConfig;
-import com.baidu.hugegraph.config.TypedOption;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.config.ConfigException;
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.TypedOption;
+import org.apache.hugegraph.testutil.Assert;
 
 public class ComputerOptionsTest {
     private static Map<String, String> options;
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/DriverTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/DriverTest.java
index 6d280c2e..e8e685d7 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/DriverTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/DriverTest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.computer.driver;
 import org.junit.Test;
 
 import com.baidu.hugegraph.computer.driver.util.JsonUtil;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class DriverTest {
 
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/DriverTestSuite.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/DriverTestSuite.java
index 7d0e13d4..c65dfbdd 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/DriverTestSuite.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/driver/DriverTestSuite.java
@@ -23,7 +23,7 @@ import org.junit.BeforeClass;
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite;
 
-import com.baidu.hugegraph.config.OptionSpace;
+import org.apache.hugegraph.config.OptionSpace;
 
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/AbstractK8sTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/AbstractK8sTest.java
index 9acfb176..00cddab0 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/AbstractK8sTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/AbstractK8sTest.java
@@ -29,7 +29,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.configuration.MapConfiguration;
+import org.apache.commons.configuration2.MapConfiguration;
 import org.junit.After;
 import org.junit.Before;
 
@@ -44,11 +44,11 @@ import com.baidu.hugegraph.computer.k8s.operator.OperatorEntrypoint;
 import com.baidu.hugegraph.computer.k8s.operator.config.OperatorOptions;
 import com.baidu.hugegraph.computer.k8s.util.KubeUtil;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.config.HugeConfig;
-import com.baidu.hugegraph.config.OptionSpace;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
-import com.baidu.hugegraph.util.ExecutorUtil;
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.OptionSpace;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.util.ExecutorUtil;
 import com.google.common.collect.Lists;
 
 import io.fabric8.kubernetes.api.model.NamespaceBuilder;
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/KubernetesDriverTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/KubernetesDriverTest.java
index 825ab304..ddd03e21 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/KubernetesDriverTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/KubernetesDriverTest.java
@@ -52,9 +52,9 @@ import com.baidu.hugegraph.computer.k8s.crd.model.HugeGraphComputerJob;
 import com.baidu.hugegraph.computer.k8s.driver.KubernetesDriver;
 import com.baidu.hugegraph.computer.k8s.util.KubeUtil;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.config.HugeConfig;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 import io.fabric8.kubernetes.api.model.NamedCluster;
 import io.fabric8.kubernetes.api.model.NamedClusterBuilder;
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/MiniKubeTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/MiniKubeTest.java
index 4cc3ee41..c3af273c 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/MiniKubeTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/k8s/MiniKubeTest.java
@@ -52,9 +52,9 @@ import com.baidu.hugegraph.computer.k8s.driver.KubernetesDriver;
 import com.baidu.hugegraph.computer.k8s.operator.common.AbstractController;
 import com.baidu.hugegraph.computer.k8s.util.KubeUtil;
 import com.baidu.hugegraph.computer.suite.unit.UnitTestBase;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.util.Log;
 import com.google.common.collect.Lists;
 
 import io.fabric8.kubernetes.api.model.ConfigMap;
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/integrate/IntegrateTestSuite.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/integrate/IntegrateTestSuite.java
index 260fa005..a1908766 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/integrate/IntegrateTestSuite.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/integrate/IntegrateTestSuite.java
@@ -19,15 +19,16 @@
 
 package com.baidu.hugegraph.computer.suite.integrate;
 
+import org.apache.hugegraph.config.OptionSpace;
+import org.apache.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.util.Log;
+import org.apache.logging.log4j.LogManager;
 import org.junit.BeforeClass;
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.config.ComputerOptions;
-import com.baidu.hugegraph.config.OptionSpace;
-import com.baidu.hugegraph.testutil.Whitebox;
-import com.baidu.hugegraph.util.Log;
 
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
@@ -39,6 +40,8 @@ public class IntegrateTestSuite {
 
     @BeforeClass
     public static void setup() {
+        Runtime.getRuntime().addShutdownHook(new Thread(LogManager::shutdown));
+
         LOG.info("Setup for IntegrateTestSuite of hugegraph-computer");
 
         // Don't forget to register options
@@ -46,7 +49,7 @@ public class IntegrateTestSuite {
                              "com.baidu.hugegraph.computer.core.config." +
                              "ComputerOptions");
         OptionSpace.register("computer-rpc",
-                             "com.baidu.hugegraph.config.RpcOptions");
+                             "org.apache.hugegraph.config.RpcOptions");
 
         Whitebox.setInternalState(ComputerOptions.BSP_ETCD_ENDPOINTS,
                                   "defaultValue", "http://localhost:2579");
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/integrate/SenderIntegrateTest.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/integrate/SenderIntegrateTest.java
index f4e3d8ef..786c33bb 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/integrate/SenderIntegrateTest.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/integrate/SenderIntegrateTest.java
@@ -20,10 +20,16 @@
 package com.baidu.hugegraph.computer.suite.integrate;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.Future;
 import java.util.function.Function;
 
+import org.apache.hugegraph.config.RpcOptions;
+import org.apache.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.util.Log;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -43,10 +49,6 @@ import com.baidu.hugegraph.computer.core.network.netty.NettyTransportClient;
 import com.baidu.hugegraph.computer.core.network.session.ClientSession;
 import com.baidu.hugegraph.computer.core.util.ComputerContextUtil;
 import com.baidu.hugegraph.computer.core.worker.WorkerService;
-import com.baidu.hugegraph.config.RpcOptions;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
-import com.baidu.hugegraph.util.Log;
 
 public class SenderIntegrateTest {
 
@@ -65,7 +67,8 @@ public class SenderIntegrateTest {
     }
 
     @Test
-    public void testOneWorker() throws InterruptedException {
+    public void testOneWorker() {
+        CompletableFuture<Void> masterFuture = new CompletableFuture<>();
         Thread masterThread = new Thread(() -> {
             String[] args = OptionsBuilder.newInstance()
                                           .withJobId("local_002")
@@ -79,14 +82,21 @@ public class SenderIntegrateTest {
                                           .withBufferThreshold(50)
                                           .withBufferCapacity(60)
                                           .withRpcServerHost("127.0.0.1")
-                                          .withRpcServerPort(8090)
+                                          .withRpcServerPort(8611)
+                                          .withRpcServerPort(0)
                                           .build();
             try (MasterService service = initMaster(args)) {
                 service.execute();
+                service.close();
+                masterFuture.complete(null);
             } catch (Exception e) {
-                Assert.fail(e.getMessage());
+                LOG.error("Failed to execute master service", e);
+                masterFuture.completeExceptionally(e);
             }
         });
+        masterThread.setDaemon(true);
+
+        CompletableFuture<Void> workerFuture = new CompletableFuture<>();
         Thread workerThread = new Thread(() -> {
             String[] args = OptionsBuilder.newInstance()
                                           .withJobId("local_002")
@@ -99,26 +109,29 @@ public class SenderIntegrateTest {
                                           .withWorkerCount(1)
                                           .withBufferThreshold(50)
                                           .withBufferCapacity(60)
-                                          .withTransoprtServerPort(8091)
-                                          .withRpcServerRemote("127.0.0.1:8090")
+                                          .withTransoprtServerPort(0)
                                           .build();
             try (WorkerService service = initWorker(args)) {
                 service.execute();
-            } catch (Exception e) {
-                Assert.fail(e.getMessage());
+                service.close();
+                workerFuture.complete(null);
+            } catch (Throwable e) {
+                LOG.error("Failed to execute worker service", e);
+                workerFuture.completeExceptionally(e);
             }
         });
+        workerThread.setDaemon(true);
         masterThread.start();
         workerThread.start();
 
-        workerThread.join();
-        masterThread.join();
+        CompletableFuture.allOf(workerFuture, masterFuture).join();
     }
 
     @Test
-    public void testMultiWorkers() throws InterruptedException {
+    public void testMultiWorkers() {
         int workerCount = 3;
         int partitionCount = 3;
+        CompletableFuture<Void> masterFuture = new CompletableFuture<>();
         Thread masterThread = new Thread(() -> {
             String[] args = OptionsBuilder.newInstance()
                                           .withJobId("local_003")
@@ -131,59 +144,67 @@ public class SenderIntegrateTest {
                                           .withWorkerCount(workerCount)
                                           .withPartitionCount(partitionCount)
                                           .withRpcServerHost("127.0.0.1")
-                                          .withRpcServerPort(8090)
+                                          .withRpcServerPort(0)
                                           .build();
             try {
                 MasterService service = initMaster(args);
                 service.execute();
                 service.close();
-            } catch (Exception e) {
-                Assert.fail(e.getMessage());
+                masterFuture.complete(null);
+            } catch (Throwable e) {
+                LOG.error("Failed to execute master service", e);
+                masterFuture.completeExceptionally(e);
             }
         });
+        masterThread.setDaemon(true);
 
-        List<Thread> workers = new ArrayList<>(workerCount);
+        Map<Thread, CompletableFuture<Void>> workers = new HashMap<>(workerCount);
         for (int i = 1; i <= workerCount; i++) {
-            int port = 8090 + i;
             String dir = "[jobs-" + i + "]";
-            workers.add(new Thread(() -> {
+
+            CompletableFuture<Void> workerFuture = new CompletableFuture<>();
+            Thread thread = new Thread(() -> {
                 String[] args;
                 args = OptionsBuilder.newInstance()
-                                     .withJobId("local_003")
-                                     .withAlgorithm(PageRankParams.class)
-                                     .withResultName("rank")
-                                     .withResultClass(DoubleValue.class)
-                                     .withMessageClass(DoubleValue.class)
-                                     .withMaxSuperStep(3)
-                                     .withComputationClass(COMPUTATION)
-                                     .withWorkerCount(workerCount)
-                                     .withPartitionCount(partitionCount)
-                                     .withTransoprtServerPort(port)
-                                     .withRpcServerRemote("127.0.0.1:8090")
-                                     .withDataDirs(dir)
-                                     .build();
+                        .withJobId("local_003")
+                        .withAlgorithm(PageRankParams.class)
+                        .withResultName("rank")
+                        .withResultClass(DoubleValue.class)
+                        .withMessageClass(DoubleValue.class)
+                        .withMaxSuperStep(3)
+                        .withComputationClass(COMPUTATION)
+                        .withWorkerCount(workerCount)
+                        .withPartitionCount(partitionCount)
+                        .withTransoprtServerPort(0)
+                        .withDataDirs(dir)
+                        .build();
                 try {
                     WorkerService service = initWorker(args);
                     service.execute();
                     service.close();
-                } catch (Exception e) {
-                    Assert.fail(e.getMessage());
+                    workerFuture.complete(null);
+                } catch (Throwable e) {
+                    LOG.error("Failed to execute worker service", e);
+                    workerFuture.completeExceptionally(e);
                 }
-            }));
+            });
+            thread.setDaemon(true);
+            workers.put(thread, workerFuture);
         }
 
         masterThread.start();
-        for (Thread worker : workers) {
+        for (Thread worker : workers.keySet()) {
             worker.start();
         }
-        for (Thread worker : workers) {
-            worker.join();
-        }
-        masterThread.join();
+
+        List<CompletableFuture<Void>> futures = new ArrayList<>(workers.values());
+        futures.add(masterFuture);
+        CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join();
     }
 
     @Test
     public void testOneWorkerWithBusyClient() throws InterruptedException {
+        CompletableFuture<Void> masterFuture = new CompletableFuture<>();
         Thread masterThread = new Thread(() -> {
             String[] args = OptionsBuilder.newInstance()
                                           .withJobId("local_002")
@@ -197,15 +218,21 @@ public class SenderIntegrateTest {
                                           .withWriteBufferHighMark(10)
                                           .withWriteBufferLowMark(5)
                                           .withRpcServerHost("127.0.0.1")
-                                          .withRpcServerPort(8090)
+                                          .withRpcServerPort(0)
                                           .build();
             try (MasterService service = initMaster(args)) {
                 service.execute();
-            } catch (Exception e) {
+                service.close();
+                masterFuture.complete(null);
+            } catch (Throwable e) {
                 LOG.error("Failed to execute master service", e);
-                Assert.fail(e.getMessage());
+                masterFuture.completeExceptionally(e);
             }
         });
+        masterThread.setDaemon(true);
+
+        CompletableFuture<Void> workerFuture = new CompletableFuture<>();
+        int transoprtServerPort = 8998;
         Thread workerThread = new Thread(() -> {
             String[] args = OptionsBuilder.newInstance()
                                           .withJobId("local_002")
@@ -216,28 +243,29 @@ public class SenderIntegrateTest {
                                           .withMaxSuperStep(3)
                                           .withComputationClass(COMPUTATION)
                                           .withWorkerCount(1)
-                                          .withTransoprtServerPort(8091)
                                           .withWriteBufferHighMark(20)
                                           .withWriteBufferLowMark(10)
-                                          .withRpcServerRemote("127.0.0.1:8090")
+                                          .withTransoprtServerPort(transoprtServerPort)
                                           .build();
             try (WorkerService service = initWorker(args)) {
                 // Let send rate slowly
-                this.slowSendFunc(service);
+                this.slowSendFunc(service, transoprtServerPort);
                 service.execute();
-            } catch (Exception e) {
+                service.close();
+                workerFuture.complete(null);
+            } catch (Throwable e) {
                 LOG.error("Failed to execute worker service", e);
-                Assert.fail(e.getMessage());
+                workerFuture.completeExceptionally(e);
             }
         });
+        workerThread.setDaemon(true);
         masterThread.start();
         workerThread.start();
 
-        workerThread.join();
-        masterThread.join();
+        CompletableFuture.allOf(workerFuture, masterFuture).join();
     }
 
-    private void slowSendFunc(WorkerService service) throws TransportException {
+    private void slowSendFunc(WorkerService service, int port) throws TransportException {
         Managers managers = Whitebox.getInternalState(service, "managers");
         DataClientManager clientManager = managers.get(
                                           DataClientManager.NAME);
@@ -245,7 +273,7 @@ public class SenderIntegrateTest {
                                         clientManager, "connManager");
         NettyTransportClient client = (NettyTransportClient)
                                       connManager.getOrCreateClient(
-                                      "127.0.0.1", 8091);
+                                      "127.0.0.1", port);
         ClientSession clientSession = Whitebox.invoke(client.getClass(),
                                                       "clientSession", client);
         Function<Message, Future<Void>> sendFuncBak = Whitebox.getInternalState(
@@ -394,12 +422,6 @@ public class SenderIntegrateTest {
             return this;
         }
 
-        public OptionsBuilder withRpcServerRemote(String remoteUrl) {
-            this.options.add(RpcOptions.RPC_REMOTE_URL.name());
-            this.options.add(remoteUrl);
-            return this;
-        }
-
         public OptionsBuilder withDataDirs(String dataDirs) {
             this.options.add(ComputerOptions.WORKER_DATA_DIRS.name());
             this.options.add(String.valueOf(dataDirs));
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/unit/UnitTestBase.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/unit/UnitTestBase.java
index 70cdc2db..27d48d0f 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/unit/UnitTestBase.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/unit/UnitTestBase.java
@@ -24,6 +24,15 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Random;
 
+import org.apache.hugegraph.config.OptionSpace;
+import org.apache.hugegraph.config.TypedOption;
+import org.apache.hugegraph.driver.HugeClient;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
+import org.apache.logging.log4j.LogManager;
+import org.junit.BeforeClass;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.computer.core.common.ComputerContext;
@@ -34,6 +43,8 @@ import com.baidu.hugegraph.computer.core.config.Config;
 import com.baidu.hugegraph.computer.core.graph.GraphFactory;
 import com.baidu.hugegraph.computer.core.graph.id.Id;
 import com.baidu.hugegraph.computer.core.graph.id.IdFactory;
+import com.baidu.hugegraph.computer.core.graph.id.IdType;
+import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.core.graph.value.Value;
 import com.baidu.hugegraph.computer.core.io.BytesInput;
 import com.baidu.hugegraph.computer.core.io.BytesOutput;
@@ -49,11 +60,6 @@ import com.baidu.hugegraph.computer.core.store.entry.EntryInput;
 import com.baidu.hugegraph.computer.core.store.entry.EntryInputImpl;
 import com.baidu.hugegraph.computer.core.util.ComputerContextUtil;
 import com.baidu.hugegraph.computer.core.worker.MockComputationParams;
-import com.baidu.hugegraph.config.TypedOption;
-import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
 
 public class UnitTestBase {
 
@@ -63,16 +69,76 @@ public class UnitTestBase {
                                         "0123456789" +
                                         "abcdefghijklmnopqrstuvxyz";
 
-    private static final String URL = ComputerOptions.HUGEGRAPH_URL
-                                                     .defaultValue();
-    private static final String GRAPH = ComputerOptions.HUGEGRAPH_GRAPH_NAME
-                                                       .defaultValue();
+    private static String URL;
+    private static String GRAPH;
     private static HugeClient CLIENT = null;
 
     protected static void clearAll() {
         client().graphs().clearGraph(GRAPH, "I'm sure to delete all data");
     }
 
+    @BeforeClass
+    public static void step() throws ClassNotFoundException {
+        Runtime.getRuntime().addShutdownHook(new Thread(LogManager::shutdown));
+
+        LOG.info("Setup for UnitTestSuite of hugegraph-computer");
+
+        Whitebox.setInternalState(ComputerOptions.BSP_ETCD_ENDPOINTS,
+                "defaultValue",
+                "http://localhost:2579");
+        Whitebox.setInternalState(ComputerOptions.HUGEGRAPH_URL,
+                "defaultValue",
+                "http://127.0.0.1:8080");
+        Whitebox.setInternalState(ComputerOptions.HUGEGRAPH_GRAPH_NAME,
+                "defaultValue",
+                "hugegraph");
+        Whitebox.setInternalState(ComputerOptions.OUTPUT_HDFS_URL,
+                "defaultValue",
+                "hdfs://127.0.0.1:9000");
+        Whitebox.setInternalState(ComputerOptions.OUTPUT_HDFS_USER,
+                "defaultValue",
+                System.getProperty("user.name"));
+        Whitebox.setInternalState(ComputerOptions.OUTPUT_HDFS_KERBEROS_ENABLE,
+                "defaultValue",
+                false);
+        Whitebox.setInternalState(ComputerOptions.OUTPUT_HDFS_KRB5_CONF,
+                "defaultValue",
+                "/etc/krb5.conf");
+        Whitebox.setInternalState(ComputerOptions.OUTPUT_HDFS_KERBEROS_KEYTAB,
+                "defaultValue",
+                "");
+        Whitebox.setInternalState(
+                ComputerOptions.OUTPUT_HDFS_KERBEROS_PRINCIPAL,
+                "defaultValue",
+                "");
+        Whitebox.setInternalState(
+                ComputerOptions.INPUT_LOADER_SCHEMA_PATH,
+                "defaultValue",
+                "src/main/resources/hdfs_input_test/schema.json");
+        Whitebox.setInternalState(
+                ComputerOptions.INPUT_LOADER_STRUCT_PATH,
+                "defaultValue",
+                "src/main/resources/hdfs_input_test/struct.json");
+
+        URL = ComputerOptions.HUGEGRAPH_URL
+                .defaultValue();
+
+        GRAPH = ComputerOptions.HUGEGRAPH_GRAPH_NAME
+                .defaultValue();
+
+        Class.forName(IdType.class.getName());
+        // Don't forget to register options
+        OptionSpace.register("computer",
+                "com.baidu.hugegraph.computer.core.config." +
+                        "ComputerOptions");
+        OptionSpace.register("computer-rpc",
+                "org.apache.hugegraph.config.RpcOptions");
+
+        UnitTestBase.updateOptions(
+                ComputerOptions.ALGORITHM_RESULT_CLASS, LongValue.class.getName()
+        );
+    }
+
     public static void assertIdEqualAfterWriteAndRead(Id oldId)
                                                       throws IOException {
         byte[] bytes;
diff --git a/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/unit/UnitTestSuite.java b/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/unit/UnitTestSuite.java
index 1bb7cf25..7107ce76 100644
--- a/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/unit/UnitTestSuite.java
+++ b/computer-test/src/main/java/com/baidu/hugegraph/computer/suite/unit/UnitTestSuite.java
@@ -19,22 +19,14 @@
 
 package com.baidu.hugegraph.computer.suite.unit;
 
-import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.slf4j.Logger;
-
 import com.baidu.hugegraph.computer.algorithm.AlgorithmTestSuite;
 import com.baidu.hugegraph.computer.core.allocator.AllocatorTestSuite;
 import com.baidu.hugegraph.computer.core.bsp.BspTestSuite;
 import com.baidu.hugegraph.computer.core.combiner.CombinerTestSuite;
 import com.baidu.hugegraph.computer.core.common.CommonTestSuite;
 import com.baidu.hugegraph.computer.core.compute.ComputeTestSuite;
-import com.baidu.hugegraph.computer.core.config.ComputerOptions;
 import com.baidu.hugegraph.computer.core.config.ConfigTestSuite;
 import com.baidu.hugegraph.computer.core.graph.GraphTestSuite;
-import com.baidu.hugegraph.computer.core.graph.id.IdType;
-import com.baidu.hugegraph.computer.core.graph.value.LongValue;
 import com.baidu.hugegraph.computer.core.input.InputTestSuite;
 import com.baidu.hugegraph.computer.core.io.IOTestSuite;
 import com.baidu.hugegraph.computer.core.network.NetworkTestSuite;
@@ -48,9 +40,8 @@ import com.baidu.hugegraph.computer.core.worker.WorkerTestSuite;
 import com.baidu.hugegraph.computer.dist.ComputerDistTestSuite;
 import com.baidu.hugegraph.computer.driver.DriverTestSuite;
 import com.baidu.hugegraph.computer.k8s.K8sTestSuite;
-import com.baidu.hugegraph.config.OptionSpace;
-import com.baidu.hugegraph.testutil.Whitebox;
-import com.baidu.hugegraph.util.Log;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
 
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
@@ -77,61 +68,4 @@ import com.baidu.hugegraph.util.Log;
     AlgorithmTestSuite.class,
 })
 public class UnitTestSuite {
-
-    private static final Logger LOG = Log.logger(UnitTestSuite.class);
-
-    static {
-        Whitebox.setInternalState(ComputerOptions.BSP_ETCD_ENDPOINTS,
-                                  "defaultValue",
-                                  "http://localhost:2579");
-        Whitebox.setInternalState(ComputerOptions.HUGEGRAPH_URL,
-                                  "defaultValue",
-                                  "http://127.0.0.1:8080");
-        Whitebox.setInternalState(ComputerOptions.HUGEGRAPH_GRAPH_NAME,
-                                  "defaultValue",
-                                  "hugegraph");
-        Whitebox.setInternalState(ComputerOptions.OUTPUT_HDFS_URL,
-                                  "defaultValue",
-                                  "hdfs://127.0.0.1:9000");
-        Whitebox.setInternalState(ComputerOptions.OUTPUT_HDFS_USER,
-                                  "defaultValue",
-                                  System.getProperty("user.name"));
-        Whitebox.setInternalState(ComputerOptions.OUTPUT_HDFS_KERBEROS_ENABLE,
-                                  "defaultValue",
-                                  false);
-        Whitebox.setInternalState(ComputerOptions.OUTPUT_HDFS_KRB5_CONF,
-                                  "defaultValue",
-                                  "/etc/krb5.conf");
-        Whitebox.setInternalState(ComputerOptions.OUTPUT_HDFS_KERBEROS_KEYTAB,
-                                  "defaultValue",
-                                  "");
-        Whitebox.setInternalState(
-                 ComputerOptions.OUTPUT_HDFS_KERBEROS_PRINCIPAL,
-                 "defaultValue",
-                 "");
-        Whitebox.setInternalState(
-                 ComputerOptions.INPUT_LOADER_SCHEMA_PATH,
-                 "defaultValue",
-                 "src/main/resources/hdfs_input_test/schema.json");
-        Whitebox.setInternalState(
-                 ComputerOptions.INPUT_LOADER_STRUCT_PATH,
-                 "defaultValue",
-                 "src/main/resources/hdfs_input_test/struct.json");
-    }
-
-    @BeforeClass
-    public static void setup() throws ClassNotFoundException {
-        LOG.info("Setup for UnitTestSuite of hugegraph-computer");
-        Class.forName(IdType.class.getName());
-        // Don't forget to register options
-        OptionSpace.register("computer",
-                             "com.baidu.hugegraph.computer.core.config." +
-                             "ComputerOptions");
-        OptionSpace.register("computer-rpc",
-                             "com.baidu.hugegraph.config.RpcOptions");
-
-        UnitTestBase.updateOptions(
-            ComputerOptions.ALGORITHM_RESULT_CLASS, LongValue.class.getName()
-        );
-    }
 }
diff --git a/computer-test/src/main/resources/computer-worker1.properties b/computer-test/src/main/resources/computer-worker1.properties
index d5acd63c..8852515b 100644
--- a/computer-test/src/main/resources/computer-worker1.properties
+++ b/computer-test/src/main/resources/computer-worker1.properties
@@ -1,5 +1,3 @@
-rpc.remote_url=127.0.0.1:8090
-
 job.id=local_002
 job.workers_count=1
 
diff --git a/pom.xml b/pom.xml
index cbb1eba4..c0bb5dde 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
         <maven>3.3.9</maven>
     </prerequisites>
     <name>hugegraph-computer</name>
-    <url>https://github.com/hugegraph/hugegraph-computer</url>
+    <url>https://github.com/apache/hugegraph-computer</url>
     <description>
         hugegraph-computer is a fast-speed, highly-scalable, fault-tolerance graph processing system developed by baidu.
     </description>
@@ -26,15 +26,15 @@
     </licenses>
 
     <parent>
-        <groupId>org.sonatype.oss</groupId>
-        <artifactId>oss-parent</artifactId>
-        <version>7</version>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>23</version>
     </parent>
 
     <scm>
-        <url>https://github.com/hugegraph/hugegraph-computer</url>
-        <connection>https://github.com/hugegraph/hugegraph-computer</connection>
-        <developerConnection>https://github.com/hugegraph/hugegraph-computer</developerConnection>
+        <url>https://github.com/apache/hugegraph-computer</url>
+        <connection>https://github.com/apache/hugegraph-computer</connection>
+        <developerConnection>https://github.com/apache/hugegraph-computer</developerConnection>
     </scm>
 
     <properties>
@@ -42,8 +42,8 @@
         <top.level.dir>${project.basedir}/..</top.level.dir>
         <release.name>hugegraph-computer</release.name>
         <final.name>${release.name}-${project.version}</final.name>
-        <compiler.source>1.8</compiler.source>
-        <compiler.target>1.8</compiler.target>
+        <compiler.source>11</compiler.source>
+        <compiler.target>11</compiler.target>
         <shell-executable>bash</shell-executable>
         <etcd.version>0.5.4</etcd.version>
         <hadoop-version>3.1.2</hadoop-version>
@@ -64,26 +64,30 @@
     <dependencyManagement>
         <dependencies>
             <dependency>
-                <groupId>com.baidu.hugegraph</groupId>
+                <groupId>org.apache.hugegraph</groupId>
                 <artifactId>hugegraph-common</artifactId>
-                <version>2.0.1</version>
+                <version>1.0.0</version>
             </dependency>
             <dependency>
-                <groupId>com.baidu.hugegraph</groupId>
+                <groupId>org.apache.hugegraph</groupId>
                 <artifactId>hugegraph-rpc</artifactId>
-                <version>2.0.1</version>
+                <version>1.0.0</version>
                 <exclusions>
                     <!-- conflict with etcd -->
                     <exclusion>
                         <groupId>io.grpc</groupId>
                         <artifactId>grpc-netty-shaded</artifactId>
                     </exclusion>
+                    <exclusion>
+                        <groupId>org.apache.hugegraph</groupId>
+                        <artifactId>hugegraph-common</artifactId>
+                    </exclusion>
                 </exclusions>
             </dependency>
             <dependency>
-                <groupId>com.baidu.hugegraph</groupId>
+                <groupId>org.apache.hugegraph</groupId>
                 <artifactId>hugegraph-client</artifactId>
-                <version>2.0.1</version>
+                <version>1.0.0</version>
             </dependency>
             <dependency>
                 <groupId>io.netty</groupId>
@@ -149,9 +153,9 @@
                 </exclusions>
             </dependency>
             <dependency>
-                <groupId>com.baidu.hugegraph</groupId>
+                <groupId>org.apache.hugegraph</groupId>
                 <artifactId>hugegraph-loader</artifactId>
-                <version>0.12.0</version>
+                <version>1.0.0</version>
                 <exclusions>
                     <exclusion>
                         <groupId>org.apache.hive</groupId>
@@ -162,7 +166,7 @@
                         <artifactId>httpclient</artifactId>
                     </exclusion>
                     <exclusion>
-                        <groupId>com.baidu.hugegraph</groupId>
+                        <groupId>org.apache.hugegraph</groupId>
                         <artifactId>hugegraph-client</artifactId>
                     </exclusion>
                     <exclusion>
@@ -198,13 +202,6 @@
         </dependencies>
     </dependencyManagement>
 
-    <dependencies>
-        <dependency>
-            <groupId>com.baidu.hugegraph</groupId>
-            <artifactId>hugegraph-common</artifactId>
-        </dependency>
-    </dependencies>
-
     <build>
         <plugins>
             <plugin>
@@ -402,4 +399,18 @@
             </build>
         </profile>
     </profiles>
+    <repositories>
+        <repository>
+            <id>staged-releases</id>
+            <name>staged-releases</name>
+            <url>https://repository.apache.org/content/groups/staging/</url>
+            <layout>default</layout>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
 </project>