Repository: alibaba/fescar (java)

Issue:
change version to 0.4.1-SNAPSHOT
- [ ] I have searched the [issues](https://github.com/alibaba/fescar/issues) of this repository and believe that this is not a duplicate.

### Ⅰ. Issue Description

change version to 0.4.1-SNAPSHOT

### Ⅱ. Describe what happened

  If there is an exception, please attach the exception trace:

```
Just paste your stack trace here!
```


### Ⅲ. Describe what you expected to happen


### Ⅳ. How to reproduce it (as minimally and precisely as possible)

1. xxx
2. xxx
3. xxx

### Ⅴ. Anything else we need to know?


### Ⅵ. Environment:

- JDK version :
- OS :
- Others:

Pull request description:
 fix #633 change version to 0.4.1-SNAPSHOT and optimization code
<!-- Please make sure you have read and understood the contributing guidelines -->

### Ⅰ. Describe what this PR did

change version to 0.4.1-SNAPSHOT and optimization code

### Ⅱ. Does this pull request fix one issue?

 fix #633 change version to 0.4.1-SNAPSHOT and optimization code

### Ⅲ. Why don't you add test cases (unit test/integration test)? 


### Ⅳ. Describe how to verify it


### Ⅴ. Special notes for reviews



Patch:
diff --git a/common/pom.xml b/common/pom.xml
index f8989a200..4cd902ef9 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-common</artifactId>
diff --git a/config/pom.xml b/config/pom.xml
index a7356d8ed..b78dbf713 100644
--- a/config/pom.xml
+++ b/config/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-config</artifactId>
diff --git a/core/pom.xml b/core/pom.xml
index 237f0684e..1364cd1ad 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-core</artifactId>
diff --git a/core/src/main/java/com/alibaba/fescar/core/service/ConfigurationKeys.java b/core/src/main/java/com/alibaba/fescar/core/constants/ConfigurationKeys.java
similarity index 96%
rename from core/src/main/java/com/alibaba/fescar/core/service/ConfigurationKeys.java
rename to core/src/main/java/com/alibaba/fescar/core/constants/ConfigurationKeys.java
index 3bd67d29b..7fb884fc5 100644
--- a/core/src/main/java/com/alibaba/fescar/core/service/ConfigurationKeys.java
+++ b/core/src/main/java/com/alibaba/fescar/core/constants/ConfigurationKeys.java
@@ -14,10 +14,12 @@
  *  limitations under the License.
  */
 
-package com.alibaba.fescar.core.service;
+package com.alibaba.fescar.core.constants;
 
 /**
  * The type Configuration keys.
+ *
+ * @author jimin.jm @alibaba-inc.com
  */
 public class ConfigurationKeys {
 
diff --git a/core/src/main/java/com/alibaba/fescar/core/protocol/Version.java b/core/src/main/java/com/alibaba/fescar/core/protocol/Version.java
index 2bfc4c7d1..de6b57431 100644
--- a/core/src/main/java/com/alibaba/fescar/core/protocol/Version.java
+++ b/core/src/main/java/com/alibaba/fescar/core/protocol/Version.java
@@ -33,7 +33,7 @@ public class Version {
     /**
      * The constant CURRENT.
      */
-    public static final String CURRENT = "0.4.0";
+    public static final String CURRENT = "0.4.1";
 
     /**
      * The constant VERSION_MAP.
diff --git a/core/src/main/java/com/alibaba/fescar/core/rpc/ClientType.java b/core/src/main/java/com/alibaba/fescar/core/rpc/ClientType.java
index c7de72c70..271d5e0bf 100644
--- a/core/src/main/java/com/alibaba/fescar/core/rpc/ClientType.java
+++ b/core/src/main/java/com/alibaba/fescar/core/rpc/ClientType.java
@@ -18,6 +18,8 @@ package com.alibaba.fescar.core.rpc;
 
 /**
  * The enum Client type.
+ *
+ * @author jimin.jm @alibaba-inc.com
  */
 public enum ClientType {
 
diff --git a/core/src/main/java/com/alibaba/fescar/core/rpc/TransactionMessageHandler.java b/core/src/main/java/com/alibaba/fescar/core/rpc/TransactionMessageHandler.java
index aee3d18e8..3e2d2e925 100644
--- a/core/src/main/java/com/alibaba/fescar/core/rpc/TransactionMessageHandler.java
+++ b/core/src/main/java/com/alibaba/fescar/core/rpc/TransactionMessageHandler.java
@@ -21,6 +21,8 @@ import com.alibaba.fescar.core.protocol.AbstractResultMessage;
 
 /**
  * To handle the received RPC message on upper level.
+ *
+ * @author jimin.jm @alibaba-inc.com
  */
 public interface TransactionMessageHandler {
 
diff --git a/core/src/main/java/com/alibaba/fescar/core/rpc/netty/AbstractRpcRemotingClient.java b/core/src/main/java/com/alibaba/fescar/core/rpc/netty/AbstractRpcRemotingClient.java
index ed86009b8..8682646be 100644
--- a/core/src/main/java/com/alibaba/fescar/core/rpc/netty/AbstractRpcRemotingClient.java
+++ b/core/src/main/java/com/alibaba/fescar/core/rpc/netty/AbstractRpcRemotingClient.java
@@ -38,8 +38,6 @@ import com.alibaba.fescar.core.rpc.ClientMessageListener;
 import com.alibaba.fescar.core.rpc.ClientMessageSender;
 import com.alibaba.fescar.core.rpc.RemotingService;
 import com.alibaba.fescar.core.rpc.netty.NettyPoolKey.TransactionRole;
-import com.alibaba.fescar.core.service.ServiceManager;
-import com.alibaba.fescar.core.service.ServiceManagerStaticConfigImpl;
 import com.alibaba.fescar.discovery.registry.RegistryFactory;
 import com.alibaba.nacos.client.naming.utils.CollectionUtils;
 
@@ -90,10 +88,6 @@ public abstract class AbstractRpcRemotingClient extends AbstractRpcRemoting
     private static final int MAX_MERGE_SEND_MILLS = 1;
     private static final String THREAD_PREFIX_SPLIT_CHAR = "_";
 
-    /**
-     * The Service manager.
-     */
-    protected ServiceManager serviceManager;
 
     /**
      * The Netty client key pool.
@@ -142,7 +136,6 @@ public abstract class AbstractRpcRemotingClient extends AbstractRpcRemoting
         NettyPoolableFactory keyPoolableFactory = new NettyPoolableFactory(this);
         nettyClientKeyPool = new GenericKeyedObjectPool(keyPoolableFactory);
         nettyClientKeyPool.setConfig(getNettyPoolConfig());
-        serviceManager = new ServiceManagerStaticConfigImpl();
         super.init();
     }
 
diff --git a/core/src/main/java/com/alibaba/fescar/core/rpc/netty/NettyClientConfig.java b/core/src/main/java/com/alibaba/fescar/core/rpc/netty/NettyClientConfig.java
index 70714e0bd..1c3cf2518 100644
--- a/core/src/main/java/com/alibaba/fescar/core/rpc/netty/NettyClientConfig.java
+++ b/core/src/main/java/com/alibaba/fescar/core/rpc/netty/NettyClientConfig.java
@@ -22,6 +22,8 @@ import io.netty.channel.Channel;
 
 /**
  * The type Netty client config.
+ *
+ * @author jimin.jm @alibaba-inc.com
  */
 public class NettyClientConfig extends NettyBaseConfig {
 
diff --git a/core/src/main/java/com/alibaba/fescar/core/rpc/netty/TmRpcClient.java b/core/src/main/java/com/alibaba/fescar/core/rpc/netty/TmRpcClient.java
index 610582fed..852dafcc5 100644
--- a/core/src/main/java/com/alibaba/fescar/core/rpc/netty/TmRpcClient.java
+++ b/core/src/main/java/com/alibaba/fescar/core/rpc/netty/TmRpcClient.java
@@ -35,6 +35,7 @@ import com.alibaba.fescar.common.thread.RejectedPolicies;
 import com.alibaba.fescar.common.util.NetUtil;
 import com.alibaba.fescar.config.Configuration;
 import com.alibaba.fescar.config.ConfigurationFactory;
+import com.alibaba.fescar.core.constants.ConfigurationKeys;
 import com.alibaba.fescar.core.context.RootContext;
 import com.alibaba.fescar.core.protocol.AbstractMessage;
 import com.alibaba.fescar.core.protocol.HeartbeatMessage;
@@ -43,7 +44,6 @@ import com.alibaba.fescar.core.protocol.RegisterTMResponse;
 import com.alibaba.fescar.core.protocol.ResultCode;
 import com.alibaba.fescar.core.protocol.transaction.GlobalBeginResponse;
 import com.alibaba.fescar.core.rpc.netty.NettyPoolKey.TransactionRole;
-import com.alibaba.fescar.core.service.ConfigurationKeys;
 import com.alibaba.fescar.discovery.loadbalance.LoadBalanceFactory;
 import com.alibaba.fescar.discovery.registry.RegistryFactory;
 import com.alibaba.nacos.client.naming.utils.CollectionUtils;
diff --git a/core/src/main/java/com/alibaba/fescar/core/service/AddressWatcher.java b/core/src/main/java/com/alibaba/fescar/core/service/AddressWatcher.java
deleted file mode 100644
index 245ceb3d9..000000000
--- a/core/src/main/java/com/alibaba/fescar/core/service/AddressWatcher.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- *  Copyright 1999-2018 Alibaba Group Holding Ltd.
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *       http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-package com.alibaba.fescar.core.service;
-
-/**
- * Watch for server address list change
- */
-public interface AddressWatcher {
-
-    /**
-     * On change.
-     *
-     * @param serverAddressArray the server address array
-     */
-    void onChange(String[] serverAddressArray);
-}
diff --git a/core/src/main/java/com/alibaba/fescar/core/service/ServiceManager.java b/core/src/main/java/com/alibaba/fescar/core/service/ServiceManager.java
deleted file mode 100644
index ef316ccca..000000000
--- a/core/src/main/java/com/alibaba/fescar/core/service/ServiceManager.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- *  Copyright 1999-2018 Alibaba Group Holding Ltd.
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *       http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-package com.alibaba.fescar.core.service;
-
-/**
- * Service Registry and Discovery
- */
-public interface ServiceManager {
-
-    /**
-     * Register address to txServiceGroup server list.
-     *
-     * @param txServiceGroup transaction service group (service name)
-     * @param address        server node address
-     */
-    void register(String txServiceGroup, String address);
-
-    /**
-     * Unregister address to txServiceGroup server list.
-     *
-     * @param txServiceGroup transaction service group (service name)
-     * @param address        server node address
-     */
-    void unregister(String txServiceGroup, String address);
-
-    /**
-     * Watch service addresses for the give txServiceGroup
-     *
-     * @param txServiceGroup transaction service group (service name)
-     * @param watcher        service address watcher
-     */
-    void watch(String txServiceGroup, AddressWatcher watcher);
-
-    /**
-     * Lookup server addresses for the given txServiceGroup
-     *
-     * @param txServiceGroup transaction service group (service name)
-     * @return available addresses
-     */
-    String[] lookup(String txServiceGroup);
-}
diff --git a/core/src/main/java/com/alibaba/fescar/core/service/ServiceManagerStaticConfigImpl.java b/core/src/main/java/com/alibaba/fescar/core/service/ServiceManagerStaticConfigImpl.java
deleted file mode 100644
index 45b638152..000000000
--- a/core/src/main/java/com/alibaba/fescar/core/service/ServiceManagerStaticConfigImpl.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- *  Copyright 1999-2018 Alibaba Group Holding Ltd.
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *       http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-package com.alibaba.fescar.core.service;
-
-import com.alibaba.fescar.common.exception.FrameworkException;
-import com.alibaba.fescar.common.exception.NotSupportYetException;
-import com.alibaba.fescar.common.util.StringUtils;
-import com.alibaba.fescar.config.Configuration;
-import com.alibaba.fescar.config.ConfigurationFactory;
-
-import static com.alibaba.fescar.common.exception.FrameworkErrorCode.InvalidConfiguration;
-import static com.alibaba.fescar.core.service.ConfigurationKeys.SERVER_NODE_SPLIT_CHAR;
-
-/**
- * The type Service manager static config.
- */
-public class ServiceManagerStaticConfigImpl implements ServiceManager {
-
-    private Configuration configuration = ConfigurationFactory.getInstance();
-
-    @Override
-    public void register(String txServiceGroup, String address) {
-        throw new NotSupportYetException("Dynamic registry");
-
-    }
-
-    @Override
-    public void unregister(String txServiceGroup, String address) {
-        throw new NotSupportYetException("Dynamic un-registry");
-
-    }
-
-    @Override
-    public void watch(String txServiceGroup, AddressWatcher watcher) {
-        throw new NotSupportYetException("Watch");
-
-    }
-
-    private String[] serverAddresses = null;
-
-    @Override
-    public String[] lookup(String txServiceGroup) {
-        if (serverAddresses != null) {
-            return serverAddresses;
-        }
-        String rGroup = configuration.getConfig(ConfigurationKeys.SERVICE_GROUP_MAPPING_PREFIX + txServiceGroup);
-        if (rGroup == null) {
-            throw new FrameworkException(InvalidConfiguration);
-        }
-        String rGroupDataId = ConfigurationKeys.SERVICE_PREFIX + rGroup + ConfigurationKeys.GROUPLIST_POSTFIX;
-        String serverListConfig = configuration.getConfig(rGroupDataId);
-        if (StringUtils.isNullOrEmpty(serverListConfig)) {
-            throw new FrameworkException(InvalidConfiguration);
-        }
-        serverAddresses = serverListConfig.split(SERVER_NODE_SPLIT_CHAR);
-        if (serverAddresses == null || serverAddresses.length == 0) {
-            throw new FrameworkException(InvalidConfiguration);
-        }
-        return serverAddresses;
-
-    }
-}
diff --git a/discovery/pom.xml b/discovery/pom.xml
index e7b715df0..81903069d 100644
--- a/discovery/pom.xml
+++ b/discovery/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>jar</packaging>
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 1f68d0432..9c6759877 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-distribution</artifactId>
diff --git a/dubbo-alibaba/pom.xml b/dubbo-alibaba/pom.xml
index eec324ed8..c15ec241f 100644
--- a/dubbo-alibaba/pom.xml
+++ b/dubbo-alibaba/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/dubbo/pom.xml b/dubbo/pom.xml
index 0cc8f7ce3..e5299e739 100644
--- a/dubbo/pom.xml
+++ b/dubbo/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-dubbo</artifactId>
diff --git a/pom.xml b/pom.xml
index 93b88cf1c..1c2a01e30 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
 
     <groupId>com.alibaba.fescar</groupId>
     <artifactId>fescar-all</artifactId>
-    <version>0.4.0</version>
+    <version>0.4.1-SNAPSHOT</version>
     <modules>
         <module>config</module>
         <module>common</module>
diff --git a/rm-datasource/pom.xml b/rm-datasource/pom.xml
index 8dc2f47d7..017756a63 100644
--- a/rm-datasource/pom.xml
+++ b/rm-datasource/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-rm-datasource</artifactId>
diff --git a/rm-datasource/src/main/java/com/alibaba/fescar/rm/datasource/AsyncWorker.java b/rm-datasource/src/main/java/com/alibaba/fescar/rm/datasource/AsyncWorker.java
index d94e77285..00702a8c5 100644
--- a/rm-datasource/src/main/java/com/alibaba/fescar/rm/datasource/AsyncWorker.java
+++ b/rm-datasource/src/main/java/com/alibaba/fescar/rm/datasource/AsyncWorker.java
@@ -40,7 +40,7 @@ import com.alibaba.fescar.rm.datasource.undo.UndoLogManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static com.alibaba.fescar.core.service.ConfigurationKeys.CLIENT_ASYNC_COMMIT_BUFFER_LIMIT;
+import static com.alibaba.fescar.core.constants.ConfigurationKeys.CLIENT_ASYNC_COMMIT_BUFFER_LIMIT;
 
 /**
  * The type Async worker.
diff --git a/rm-datasource/src/main/java/com/alibaba/fescar/rm/datasource/exec/LockRetryController.java b/rm-datasource/src/main/java/com/alibaba/fescar/rm/datasource/exec/LockRetryController.java
index cd08d11fc..6dbc6bbfe 100644
--- a/rm-datasource/src/main/java/com/alibaba/fescar/rm/datasource/exec/LockRetryController.java
+++ b/rm-datasource/src/main/java/com/alibaba/fescar/rm/datasource/exec/LockRetryController.java
@@ -17,7 +17,7 @@
 package com.alibaba.fescar.rm.datasource.exec;
 
 import com.alibaba.fescar.config.ConfigurationFactory;
-import com.alibaba.fescar.core.service.ConfigurationKeys;
+import com.alibaba.fescar.core.constants.ConfigurationKeys;
 
 /**
  * The type Lock retry controller.
diff --git a/rm/pom.xml b/rm/pom.xml
index 0a0b90595..e478e7d56 100644
--- a/rm/pom.xml
+++ b/rm/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-rm</artifactId>
diff --git a/server/pom.xml b/server/pom.xml
index 44d217f15..ef18a791d 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-server</artifactId>
diff --git a/server/src/main/java/com/alibaba/fescar/server/session/FileBasedSessionManager.java b/server/src/main/java/com/alibaba/fescar/server/session/FileBasedSessionManager.java
index 76eea6b46..b7f31825f 100644
--- a/server/src/main/java/com/alibaba/fescar/server/session/FileBasedSessionManager.java
+++ b/server/src/main/java/com/alibaba/fescar/server/session/FileBasedSessionManager.java
@@ -24,8 +24,8 @@ import java.util.Map;
 
 import com.alibaba.fescar.common.exception.ShouldNeverHappenException;
 import com.alibaba.fescar.config.ConfigurationFactory;
+import com.alibaba.fescar.core.constants.ConfigurationKeys;
 import com.alibaba.fescar.core.model.GlobalStatus;
-import com.alibaba.fescar.core.service.ConfigurationKeys;
 import com.alibaba.fescar.server.store.FileTransactionStoreManager;
 import com.alibaba.fescar.server.store.SessionStorable;
 import com.alibaba.fescar.server.store.TransactionStoreManager;
diff --git a/spring/pom.xml b/spring/pom.xml
index c19c5455a..85102a852 100644
--- a/spring/pom.xml
+++ b/spring/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-spring</artifactId>
diff --git a/tcc/pom.xml b/tcc/pom.xml
index c7fc5f18d..b71b78604 100644
--- a/tcc/pom.xml
+++ b/tcc/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-tcc</artifactId>
diff --git a/tm/pom.xml b/tm/pom.xml
index a95e9123a..2cdbc8472 100644
--- a/tm/pom.xml
+++ b/tm/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-tm</artifactId>


Test patch:
diff --git a/test/pom.xml b/test/pom.xml
index b8e2eff02..560fc470f 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>fescar-all</artifactId>
         <groupId>com.alibaba.fescar</groupId>
-        <version>0.4.0</version>
+        <version>0.4.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>fescar-test</artifactId>