You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by go...@apache.org on 2021/05/28 12:21:01 UTC

[incubator-inlong] 04/05: [INLONG-618] Add unit tests for metastore.dao.entity.*

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

gosonzhang pushed a commit to branch TUBEMQ-570
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git

commit a936fdf3b2557e2b3ab74645d0c0d3584c323068
Author: gosonzhang <go...@tencent.com>
AuthorDate: Thu May 27 20:30:26 2021 +0800

    [INLONG-618] Add unit tests for metastore.dao.entity.*
---
 .../server/common/utils/WebParameterUtils.java     | 17 +++-
 .../bdbentitys/BdbClusterSettingEntity.java        | 42 +++++++++-
 .../bdbentitys/BdbGroupFilterCondEntity.java       | 75 ++++++++++++-----
 .../bdbentitys/BdbGroupFlowCtrlEntity.java         | 93 ++++++++++++++--------
 .../bdbentitys/BdbTopicAuthControlEntity.java      | 75 ++++++++++++-----
 .../metamanage/metastore/TStoreConstants.java      |  4 +
 .../metastore/dao/entity/BaseEntity.java           | 33 ++++++--
 .../metastore/dao/entity/ClusterSettingEntity.java |  4 +-
 .../dao/entity/GroupConsumeCtrlEntity.java         |  4 +-
 .../metastore/dao/entity/GroupResCtrlEntity.java   |  4 +-
 .../metastore/dao/entity/TopicCtrlEntity.java      |  4 +-
 .../server/common/WebParameterUtilsTest.java       |  4 +-
 .../dao/entity/GroupConsumeCtrlEntityTest.java     | 12 +--
 .../dao/entity/GroupResCtrlEntityTest.java         | 18 +++--
 .../metastore/dao/entity/TopicCtrlEntityTest.java  | 18 +++--
 15 files changed, 298 insertions(+), 109 deletions(-)

diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/common/utils/WebParameterUtils.java b/tubemq-server/src/main/java/org/apache/tubemq/server/common/utils/WebParameterUtils.java
index b5535d8..52b7dbc 100644
--- a/tubemq-server/src/main/java/org/apache/tubemq/server/common/utils/WebParameterUtils.java
+++ b/tubemq-server/src/main/java/org/apache/tubemq/server/common/utils/WebParameterUtils.java
@@ -1538,10 +1538,25 @@ public class WebParameterUtils {
     }
 
     public static String date2yyyyMMddHHmmss(Date date) {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+        SimpleDateFormat sdf =
+                new SimpleDateFormat(TBaseConstants.META_TMP_DATE_VALUE);
         return sdf.format(date);
     }
 
+    public static Date yyyyMMddHHmmss2date(String dateStr) {
+        if (dateStr == null) {
+            return null;
+        }
+        SimpleDateFormat sdf =
+                new SimpleDateFormat(TBaseConstants.META_TMP_DATE_VALUE);
+        try {
+            return sdf.parse(dateStr);
+        } catch (Throwable e) {
+            return null;
+        }
+    }
+
+
     public static String checkParamCommonRequires(final String paramName, final String paramValue,
                                                    boolean required) throws Exception {
         String temParamValue = null;
diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbClusterSettingEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbClusterSettingEntity.java
index 892243d..530adec 100644
--- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbClusterSettingEntity.java
+++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbClusterSettingEntity.java
@@ -341,6 +341,40 @@ public class BdbClusterSettingEntity implements Serializable {
                 this.attributes, TStoreConstants.TOKEN_FLOW_CTRL_INFO);
     }
 
+    public void setCreateInfo(String creater, Date createDate) {
+        if (TStringUtils.isNotBlank(creater)) {
+            this.attributes =
+                    TStringUtils.setAttrValToAttributes(this.attributes,
+                            TStoreConstants.TOKEN_CREATE_USER, creater);
+        }
+        if (createDate != null) {
+            String dataStr = WebParameterUtils.date2yyyyMMddHHmmss(createDate);
+            this.attributes =
+                    TStringUtils.setAttrValToAttributes(this.attributes,
+                            TStoreConstants.TOKEN_CREATE_DATE, dataStr);
+        }
+    }
+
+    public String getCreateUser() {
+        return TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_USER);
+    }
+
+    public Date getCreateDate() {
+        String dateStr = TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_DATE);
+        return WebParameterUtils.yyyyMMddHHmmss2date(dateStr);
+    }
+
+    public String getStrCreateDate() {
+        return TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_DATE);
+    }
+
+    public String getStrModifyDate() {
+        return WebParameterUtils.date2yyyyMMddHHmmss(modifyDate);
+    }
+
     /**
      * Serialize field to json format
      *
@@ -373,9 +407,11 @@ public class BdbClusterSettingEntity implements Serializable {
         }
         return sBuilder.append(",\"qryPriorityId\":").append(qryPriorityId)
                 .append(",\"attributes\":\"").append(attributes).append("\"")
+                .append(",\"createUser\":\"").append(getCreateUser()).append("\"")
+                .append(",\"createDate\":\"").append(getStrCreateDate()).append("\"")
                 .append(",\"modifyUser\":\"").append(modifyUser).append("\"")
                 .append(",\"modifyDate\":\"")
-                .append(WebParameterUtils.date2yyyyMMddHHmmss(modifyDate))
+                .append(getStrModifyDate())
                 .append("\"}");
     }
 
@@ -406,8 +442,10 @@ public class BdbClusterSettingEntity implements Serializable {
         }
         return sBuilder.append("qryPriorityId", qryPriorityId)
                 .append("attributes", attributes)
+                .append("createUser", getCreateUser())
+                .append("createDate", getStrCreateDate())
                 .append("modifyUser", modifyUser)
-                .append("modifyDate", modifyDate)
+                .append("modifyDate", getStrModifyDate())
                 .toString();
     }
 }
diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbGroupFilterCondEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbGroupFilterCondEntity.java
index 5a964a4..6279ec1 100644
--- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbGroupFilterCondEntity.java
+++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbGroupFilterCondEntity.java
@@ -40,6 +40,9 @@ public class BdbGroupFilterCondEntity implements Serializable {
     private String consumerGroupName;
     private int controlStatus = -2;   // -2: undefine; 0: not started; 1:started, not limited; 2: started, limited
     private String attributes;
+    // ** Based on the data compatibility consideration of the original version:
+    //     the creation information in this example is the last modified information,
+    //     and the modified information is the creation information
     private String createUser;
     private Date createDate;
 
@@ -49,7 +52,7 @@ public class BdbGroupFilterCondEntity implements Serializable {
 
     public BdbGroupFilterCondEntity(String topicName, String consumerGroupName,
                                     int controlStatus, String filterCondStr,
-                                    String createUser, Date createDate) {
+                                    String modifyUser, Date modifyDate) {
         this.recordKey =
                 new StringBuilder(512)
                         .append(topicName)
@@ -59,13 +62,13 @@ public class BdbGroupFilterCondEntity implements Serializable {
         this.consumerGroupName = consumerGroupName;
         this.controlStatus = controlStatus;
         setFilterCondStr(filterCondStr);
-        this.createUser = createUser;
-        this.createDate = createDate;
+        this.createUser = modifyUser;
+        this.createDate = modifyDate;
     }
 
     public BdbGroupFilterCondEntity(String topicName, String consumerGroupName,
                                     int controlStatus, String filterCondStr,
-                                    String attributes, String createUser, Date createDate) {
+                                    String attributes, String modifyUser, Date modifyDate) {
         this.recordKey =
                 new StringBuilder(512)
                         .append(topicName)
@@ -74,8 +77,8 @@ public class BdbGroupFilterCondEntity implements Serializable {
         this.topicName = topicName;
         this.consumerGroupName = consumerGroupName;
         this.controlStatus = controlStatus;
-        this.createUser = createUser;
-        this.createDate = createDate;
+        this.createUser = modifyUser;
+        this.createDate = modifyDate;
         this.attributes = attributes;
         setFilterCondStr(filterCondStr);
     }
@@ -157,22 +160,14 @@ public class BdbGroupFilterCondEntity implements Serializable {
         this.controlStatus = controlStatus;
     }
 
-    public String getCreateUser() {
+    public String getModifyUser() {
         return createUser;
     }
 
-    public void setCreateUser(String createUser) {
-        this.createUser = createUser;
-    }
-
-    public Date getCreateDate() {
+    public Date getModifyDate() {
         return createDate;
     }
 
-    public void setCreateDate(Date createDate) {
-        this.createDate = createDate;
-    }
-
     public String getAttributes() {
         if (TStringUtils.isNotBlank(attributes)
                 && !attributes.contains(TokenConstants.EQ)) {
@@ -210,6 +205,41 @@ public class BdbGroupFilterCondEntity implements Serializable {
                         String.valueOf(dataVerId));
     }
 
+    // for
+    public void setCreateInfo(String createUser, Date createDate) {
+        if (TStringUtils.isNotBlank(createUser)) {
+            this.attributes =
+                    TStringUtils.setAttrValToAttributes(this.attributes,
+                            TStoreConstants.TOKEN_CREATE_USER, createUser);
+        }
+        if (createDate != null) {
+            String dataStr = WebParameterUtils.date2yyyyMMddHHmmss(createDate);
+            this.attributes =
+                    TStringUtils.setAttrValToAttributes(this.attributes,
+                            TStoreConstants.TOKEN_CREATE_DATE, dataStr);
+        }
+    }
+
+    public String getCreateUser() {
+        return TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_USER);
+    }
+
+    public Date getCreateDate() {
+        String dateStr = TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_DATE);
+        return WebParameterUtils.yyyyMMddHHmmss2date(dateStr);
+    }
+
+    public String getStrModifyDate() {
+        return WebParameterUtils.date2yyyyMMddHHmmss(createDate);
+    }
+
+    public String getStrCreateDate() {
+        return TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_DATE);
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this)
@@ -218,8 +248,10 @@ public class BdbGroupFilterCondEntity implements Serializable {
                 .append("consumerGroupName", consumerGroupName)
                 .append("controlStatus", controlStatus)
                 .append("attributes", attributes)
-                .append("createUser", createUser)
-                .append("createDate", createDate)
+                .append("createUser", getCreateUser())
+                .append("createDate", getStrCreateDate())
+                .append("modifyUser", createUser)
+                .append("modifyDate", getStrModifyDate())
                 .toString();
     }
 
@@ -230,9 +262,10 @@ public class BdbGroupFilterCondEntity implements Serializable {
                 .append("\",\"consumerGroupName\":\"").append(consumerGroupName)
                 .append("\",\"filterConds\":\"").append(attributes)
                 .append("\",\"condStatus\":").append(controlStatus)
-                .append(",\"createUser\":\"").append(createUser)
-                .append("\",\"createDate\":\"")
-                .append(WebParameterUtils.date2yyyyMMddHHmmss(createDate))
+                .append(",\"createUser\":\"").append(getCreateUser())
+                .append("\",\"createDate\":\"").append(getStrCreateDate())
+                .append("\",\"modifyUser\":\"").append(createUser)
+                .append("\",\"modifyDate\":\"").append(getStrModifyDate())
                 .append("\"}");
     }
 }
diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbGroupFlowCtrlEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbGroupFlowCtrlEntity.java
index 144b7e1..aca0f77 100644
--- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbGroupFlowCtrlEntity.java
+++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbGroupFlowCtrlEntity.java
@@ -42,6 +42,9 @@ public class BdbGroupFlowCtrlEntity implements Serializable {
     private long ssdTranslateId = System.currentTimeMillis();
     private boolean needSSDProc = false;    //ssd
     private String attributes;          //extra attributes
+    // ** Based on the data compatibility consideration of the original version:
+    //     the creation information in this example is the last modified information,
+    //     and the modified information is the creation information
     private String createUser;          //create user
     private Date createDate;            //create date
 
@@ -53,7 +56,7 @@ public class BdbGroupFlowCtrlEntity implements Serializable {
     public BdbGroupFlowCtrlEntity(final String flowCtrlInfo, final int statusId,
                                   final int ruleCnt, final int qryPriorityId,
                                   final String attributes, final boolean curNeedSSDProc,
-                                  final String createUser, final Date createDate) {
+                                  final String modifyUser, final Date modifyDate) {
         this.statusId = statusId;
         this.groupName = TServerConstants.TOKEN_DEFAULT_FLOW_CONTROL;
         this.serialId = System.currentTimeMillis();
@@ -62,8 +65,8 @@ public class BdbGroupFlowCtrlEntity implements Serializable {
         this.ruleCnt = ruleCnt;
         this.ssdTranslateId = System.currentTimeMillis();
         this.needSSDProc = curNeedSSDProc;
-        this.createUser = createUser;
-        this.createDate = createDate;
+        this.createUser = modifyUser;
+        this.createDate = modifyDate;
         this.setQryPriorityId(qryPriorityId);
     }
 
@@ -71,16 +74,16 @@ public class BdbGroupFlowCtrlEntity implements Serializable {
     public BdbGroupFlowCtrlEntity(final String groupName, final String flowCtrlInfo,
                                   final int statusId, final int ruleCnt,
                                   final int qryPriorityId, final String attributes,
-                                  final boolean needSSDProc, final String createUser,
-                                  final Date createDate) {
+                                  final boolean needSSDProc, final String modifyUser,
+                                  final Date modifyDate) {
         this.groupName = groupName;
         this.serialId = System.currentTimeMillis();
         this.statusId = statusId;
         this.flowCtrlInfo = flowCtrlInfo;
         this.attributes = attributes;
         this.ruleCnt = ruleCnt;
-        this.createUser = createUser;
-        this.createDate = createDate;
+        this.createUser = modifyUser;
+        this.createDate = modifyDate;
         this.needSSDProc = needSSDProc;
         this.ssdTranslateId = TBaseConstants.META_VALUE_UNDEFINED;
         this.setQryPriorityId(qryPriorityId);
@@ -90,16 +93,16 @@ public class BdbGroupFlowCtrlEntity implements Serializable {
     public BdbGroupFlowCtrlEntity(final String groupName, final String flowCtrlInfo,
                                   final int statusId, final int ruleCnt,
                                   final String attributes, final long ssdTranslateId,
-                                  final boolean needSSDProc, final String createUser,
-                                  final Date createDate) {
+                                  final boolean needSSDProc, final String modifyUser,
+                                  final Date modifyDate) {
         this.groupName = groupName;
         this.serialId = System.currentTimeMillis();
         this.statusId = statusId;
         this.flowCtrlInfo = flowCtrlInfo;
         this.attributes = attributes;
         this.ruleCnt = ruleCnt;
-        this.createUser = createUser;
-        this.createDate = createDate;
+        this.createUser = modifyUser;
+        this.createDate = modifyDate;
         this.needSSDProc = needSSDProc;
         this.ssdTranslateId = ssdTranslateId;
     }
@@ -107,16 +110,16 @@ public class BdbGroupFlowCtrlEntity implements Serializable {
     //Constructor
     public BdbGroupFlowCtrlEntity(long serialId, String groupName, String flowCtrlInfo,
                                   int statusId, int ruleCnt, int qryPriorityId,
-                                  String attributes, String createUser,
-                                  Date createDate) {
+                                  String attributes, String modifyUser,
+                                  Date modifyDate) {
         this.groupName = groupName;
         this.serialId = serialId;
         this.statusId = statusId;
         this.flowCtrlInfo = flowCtrlInfo;
         this.attributes = attributes;
         this.ruleCnt = ruleCnt;
-        this.createUser = createUser;
-        this.createDate = createDate;
+        this.createUser = modifyUser;
+        this.createDate = modifyDate;
         this.needSSDProc = false;
         this.ssdTranslateId = TBaseConstants.META_VALUE_UNDEFINED;
         this.setQryPriorityId(qryPriorityId);
@@ -155,14 +158,10 @@ public class BdbGroupFlowCtrlEntity implements Serializable {
         this.attributes = attributes;
     }
 
-    public String getCreateUser() {
+    public String getModifyUser() {
         return createUser;
     }
 
-    public void setCreateUser(String createUser) {
-        this.createUser = createUser;
-    }
-
     public boolean isNeedSSDProc() {
         return needSSDProc;
     }
@@ -171,14 +170,10 @@ public class BdbGroupFlowCtrlEntity implements Serializable {
         this.needSSDProc = needSSDProc;
     }
 
-    public Date getCreateDate() {
+    public Date getModifyDate() {
         return createDate;
     }
 
-    public void setCreateDate(Date createDate) {
-        this.createDate = createDate;
-    }
-
     public String getFlowCtrlInfo() {
         return flowCtrlInfo;
     }
@@ -253,9 +248,38 @@ public class BdbGroupFlowCtrlEntity implements Serializable {
                         String.valueOf(allowedBrokerClientRate));
     }
 
-    public void setModifyInfo(String modifyUser, Date modifyDate) {
-        this.createUser = modifyUser;
-        this.createDate = modifyDate;
+    public void setCreateInfo(String createUser, Date createDate) {
+        if (TStringUtils.isNotBlank(createUser)) {
+            this.attributes =
+                    TStringUtils.setAttrValToAttributes(this.attributes,
+                            TStoreConstants.TOKEN_CREATE_USER, createUser);
+        }
+        if (createDate != null) {
+            String dataStr = WebParameterUtils.date2yyyyMMddHHmmss(createDate);
+            this.attributes =
+                    TStringUtils.setAttrValToAttributes(this.attributes,
+                            TStoreConstants.TOKEN_CREATE_DATE, dataStr);
+        }
+    }
+
+    public String getCreateUser() {
+        return TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_USER);
+    }
+
+    public Date getCreateDate() {
+        String dateStr = TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_DATE);
+        return WebParameterUtils.yyyyMMddHHmmss2date(dateStr);
+    }
+
+    public String getStrModifyDate() {
+        return WebParameterUtils.date2yyyyMMddHHmmss(createDate);
+    }
+
+    public String getStrCreateDate() {
+        return TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_DATE);
     }
 
     @Override
@@ -269,8 +293,10 @@ public class BdbGroupFlowCtrlEntity implements Serializable {
                 .append("ssdTranslateId", ssdTranslateId)
                 .append("needSSDProc", needSSDProc)
                 .append("attributes", attributes)
-                .append("createUser", createUser)
-                .append("createDate", createDate)
+                .append("createUser", getCreateUser())
+                .append("createDate", getCreateUser())
+                .append("modifyUser", createUser)
+                .append("modifyDate", getStrModifyDate())
                 .toString();
     }
 
@@ -291,9 +317,10 @@ public class BdbGroupFlowCtrlEntity implements Serializable {
                 .append(",\"qryPriorityId\":").append(getQryPriorityId())
                 .append(",\"flowCtrlInfo\":").append(flowCtrlInfo)
                 .append(", \"attributes\":\"").append(attributes)
-                .append("\", \"createUser\":\"").append(createUser)
-                .append("\",\"createDate\":\"")
-                .append(WebParameterUtils.date2yyyyMMddHHmmss(createDate))
+                .append(",\"createUser\":\"").append(getCreateUser())
+                .append("\",\"createDate\":\"").append(getStrCreateDate())
+                .append("\",\"modifyUser\":\"").append(createUser)
+                .append("\",\"modifyDate\":\"").append(getStrModifyDate())
                 .append("\"}");
     }
 }
diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbTopicAuthControlEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbTopicAuthControlEntity.java
index 54aad1b..164ba40 100644
--- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbTopicAuthControlEntity.java
+++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/bdbstore/bdbentitys/BdbTopicAuthControlEntity.java
@@ -35,6 +35,9 @@ public class BdbTopicAuthControlEntity implements Serializable {
     @PrimaryKey
     private String topicName;
     private int enableAuthControl = -1; // -1 : undefine; 0:disable, 1:enable
+    // ** Based on the data compatibility consideration of the original version:
+    //     the creation information in this example is the last modified information,
+    //     and the modified information is the creation information
     private String createUser;
     private Date createDate;
     private String attributes;
@@ -44,19 +47,19 @@ public class BdbTopicAuthControlEntity implements Serializable {
     }
 
     public BdbTopicAuthControlEntity(String topicName, boolean enableAuthControl,
-                                     String createUser, Date createDate) {
+                                     String modifyUser, Date modifyDate) {
         this.topicName = topicName;
         if (enableAuthControl) {
             this.enableAuthControl = 1;
         } else {
             this.enableAuthControl = 0;
         }
-        this.createUser = createUser;
-        this.createDate = createDate;
+        this.createUser = modifyUser;
+        this.createDate = modifyDate;
     }
 
     public BdbTopicAuthControlEntity(String topicName, boolean enableAuthControl,
-                                     String attributes,  String createUser, Date createDate) {
+                                     String attributes,  String modifyUser, Date modifyDate) {
         this.topicName = topicName;
         if (enableAuthControl) {
             this.enableAuthControl = 1;
@@ -64,8 +67,8 @@ public class BdbTopicAuthControlEntity implements Serializable {
             this.enableAuthControl = 0;
         }
         this.attributes = attributes;
-        this.createUser = createUser;
-        this.createDate = createDate;
+        this.createUser = modifyUser;
+        this.createDate = modifyDate;
     }
 
 
@@ -101,22 +104,14 @@ public class BdbTopicAuthControlEntity implements Serializable {
         }
     }
 
-    public String getCreateUser() {
+    public String getModifyUser() {
         return createUser;
     }
 
-    public void setCreateUser(String createUser) {
-        this.createUser = createUser;
-    }
-
-    public Date getCreateDate() {
+    public Date getModifyDate() {
         return createDate;
     }
 
-    public void setCreateDate(Date createDate) {
-        this.createDate = createDate;
-    }
-
     public long getDataVerId() {
         String atrVal =
                 TStringUtils.getAttrValFrmAttributes(this.attributes,
@@ -169,13 +164,49 @@ public class BdbTopicAuthControlEntity implements Serializable {
                         String.valueOf(maxMsgSize));
     }
 
+
+    public void setCreateInfo(String createUser, Date createDate) {
+        if (TStringUtils.isNotBlank(createUser)) {
+            this.attributes =
+                    TStringUtils.setAttrValToAttributes(this.attributes,
+                            TStoreConstants.TOKEN_CREATE_USER, createUser);
+        }
+        if (createDate != null) {
+            String dataStr = WebParameterUtils.date2yyyyMMddHHmmss(createDate);
+            this.attributes =
+                    TStringUtils.setAttrValToAttributes(this.attributes,
+                            TStoreConstants.TOKEN_CREATE_DATE, dataStr);
+        }
+    }
+
+    public String getCreateUser() {
+        return TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_USER);
+    }
+
+    public Date getCreateDate() {
+        String dateStr = TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_DATE);
+        return WebParameterUtils.yyyyMMddHHmmss2date(dateStr);
+    }
+
+    public String getStrModifyDate() {
+        return WebParameterUtils.date2yyyyMMddHHmmss(createDate);
+    }
+
+    public String getStrCreateDate() {
+        return TStringUtils.getAttrValFrmAttributes(
+                this.attributes, TStoreConstants.TOKEN_CREATE_DATE);
+    }
+
     public StringBuilder toJsonString(final StringBuilder sBuilder) {
         return sBuilder.append("{\"type\":\"BdbConsumerGroupEntity\",")
                 .append("\"topicName\":\"").append(topicName)
                 .append("\",\"enableAuthControl\":\"").append(enableAuthControl)
-                .append("\",\"createUser\":\"").append(createUser)
-                .append("\",\"createDate\":\"")
-                .append(WebParameterUtils.date2yyyyMMddHHmmss(createDate))
+                .append("\",\"createUser\":\"").append(getCreateUser())
+                .append("\",\"createDate\":\"").append(getStrCreateDate())
+                .append("\",\"modifyUser\":\"").append(createUser)
+                .append("\",\"modifyDate\":\"").append(getStrModifyDate())
                 .append("\",\"attributes\":\"").append(attributes).append("\"}");
     }
 
@@ -184,8 +215,10 @@ public class BdbTopicAuthControlEntity implements Serializable {
         return new ToStringBuilder(this)
                 .append("topicName", topicName)
                 .append("enableAuthControl", enableAuthControl)
-                .append("createUser", createUser)
-                .append("createDate", createDate)
+                .append("createUser", getCreateUser())
+                .append("createDate", getCreateUser())
+                .append("modifyUser", createUser)
+                .append("modifyDate", getStrModifyDate())
                 .append("attributes", attributes)
                 .toString();
     }
diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/TStoreConstants.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/TStoreConstants.java
index 0263cc2..a1e58a3 100644
--- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/TStoreConstants.java
+++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/TStoreConstants.java
@@ -45,4 +45,8 @@ public final class TStoreConstants {
     public static final String TOKEN_MCACHE_MSG_CNT = "memCacheMsgCntInK";
     public static final String TOKEN_MCACHE_MSG_SIZE = "memCacheMsgSizeInMB";
     public static final String TOKEN_MCACHE_FLUSH_INTVL = "memCacheFlushIntvl";
+    public static final String TOKEN_CREATE_USER = "creater";
+    public static final String TOKEN_CREATE_DATE = "createDate";
+    public static final String TOKEN_MODIFY_USER = "modifier";
+    public static final String TOKEN_MODIFY_DATE = "modifyDate";
 }
diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java
index 24e97a8..fab9544 100644
--- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java
+++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java
@@ -29,6 +29,7 @@ import org.apache.tubemq.server.common.TServerConstants;
 import org.apache.tubemq.server.common.utils.WebParameterUtils;
 
 
+
 // AbstractEntity: entity's abstract class
 public class BaseEntity implements Serializable, Cloneable {
 
@@ -55,10 +56,8 @@ public class BaseEntity implements Serializable, Cloneable {
 
     public BaseEntity(BaseEntity other) {
         this.dataVersionId = other.dataVersionId;
-        this.createUser = other.createUser;
-        this.setCreateDate(other.createDate);
-        this.modifyUser = other.modifyUser;
-        this.setModifyDate(other.modifyDate);
+        setCreateInfo(other.createUser, other.createDate);
+        setModifyInfo(other.modifyUser, other.modifyDate);
         this.serialId.set(other.serialId.get());
         this.attributes = other.attributes;
     }
@@ -77,10 +76,8 @@ public class BaseEntity implements Serializable, Cloneable {
                       String createUser, Date createDate,
                       String modifyUser, Date modifyDate) {
         this.dataVersionId = dataVersionId;
-        this.createUser = createUser;
-        this.setCreateDate(createDate);
-        this.modifyUser = modifyUser;
-        this.setModifyDate(modifyDate);
+        setCreateInfo(createUser, createDate);
+        setModifyInfo(modifyUser, modifyDate);
         updSerialId();
     }
 
@@ -144,6 +141,20 @@ public class BaseEntity implements Serializable, Cloneable {
         return attributes;
     }
 
+    public void setCreateInfo(String creater, Date createDate) {
+        if (TStringUtils.isNotBlank(creater)) {
+            this.createUser = creater;
+        }
+        setCreateDate(createDate);
+    }
+
+    public void setModifyInfo(String modifyUser, Date modifyDate) {
+        if (TStringUtils.isNotBlank(modifyUser)) {
+            this.modifyUser = modifyUser;
+        }
+        setModifyDate(modifyDate);
+    }
+
     public void setAttributes(String attributes) {
         this.attributes = attributes;
     }
@@ -244,11 +255,17 @@ public class BaseEntity implements Serializable, Cloneable {
     }
 
     private void setModifyDate(Date date) {
+        if (date == null) {
+            return;
+        }
         this.modifyDate = date;
         this.modifyDateStr = WebParameterUtils.date2yyyyMMddHHmmss(date);
     }
 
     private void setCreateDate(Date date) {
+        if (date == null) {
+            return;
+        }
         this.createDate = date;
         this.createDateStr = WebParameterUtils.date2yyyyMMddHHmmss(date);
     }
diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/ClusterSettingEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/ClusterSettingEntity.java
index 151ff7e..39a889d 100644
--- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/ClusterSettingEntity.java
+++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/ClusterSettingEntity.java
@@ -64,7 +64,8 @@ public class ClusterSettingEntity extends BaseEntity implements Cloneable {
 
     // Constructor by BdbClusterSettingEntity
     public ClusterSettingEntity(BdbClusterSettingEntity bdbEntity) {
-        super(bdbEntity.getModifyUser(), bdbEntity.getModifyDate(),
+        super(bdbEntity.getConfigId(),
+                bdbEntity.getCreateUser(), bdbEntity.getCreateDate(),
                 bdbEntity.getModifyUser(), bdbEntity.getModifyDate());
         fillDefaultValue();
         TopicPropGroup defTopicProps =
@@ -99,6 +100,7 @@ public class ClusterSettingEntity extends BaseEntity implements Cloneable {
         if (TStringUtils.isNotBlank(clsDefTopicProps.getDataPath())) {
             bdbEntity.setDefDataPath(clsDefTopicProps.getDataPath());
         }
+        bdbEntity.setCreateInfo(getCreateUser(), getCreateDate());
         bdbEntity.setDefDataType(clsDefTopicProps.getDataStoreType());
         bdbEntity.setEnableGloFlowCtrl(enableFlowCtrl());
         bdbEntity.setGloFlowCtrlCnt(gloFlowCtrlRuleCnt);
diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntity.java
index b125257..477bab8 100644
--- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntity.java
+++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntity.java
@@ -54,7 +54,8 @@ public class GroupConsumeCtrlEntity extends BaseEntity implements Cloneable {
 
     public GroupConsumeCtrlEntity(BdbGroupFilterCondEntity bdbEntity) {
         super(bdbEntity.getDataVerId(),
-                bdbEntity.getCreateUser(), bdbEntity.getCreateDate());
+                bdbEntity.getModifyUser(), bdbEntity.getModifyDate());
+        setCreateInfo(bdbEntity.getCreateUser(), bdbEntity.getCreateDate());
         this.setGroupAndTopic(bdbEntity.getConsumerGroupName(), bdbEntity.getTopicName());
         if (bdbEntity.getControlStatus() == 2) {
             this.filterEnable = EnableStatus.STATUS_ENABLE;
@@ -74,6 +75,7 @@ public class GroupConsumeCtrlEntity extends BaseEntity implements Cloneable {
                 new BdbGroupFilterCondEntity(topicName, groupName,
                         filterEnable.getCode(), filterCondStr,
                         getAttributes(), getModifyUser(), getModifyDate());
+        bdbEntity.setCreateInfo(getCreateUser(), getCreateDate());
         bdbEntity.setDataVerId(getDataVerId());
         bdbEntity.setConsumeEnable(consumeEnable);
         bdbEntity.setDisableConsumeReason(disableReason);
diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntity.java
index 69c280c..a66fb74 100644
--- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntity.java
+++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntity.java
@@ -54,7 +54,8 @@ public class GroupResCtrlEntity extends BaseEntity implements Cloneable {
 
     public GroupResCtrlEntity(BdbGroupFlowCtrlEntity bdbEntity) {
         super(bdbEntity.getSerialId(),
-                bdbEntity.getCreateUser(), bdbEntity.getCreateDate());
+                bdbEntity.getModifyUser(), bdbEntity.getModifyDate());
+        setCreateInfo(bdbEntity.getCreateUser(), bdbEntity.getCreateDate());
         this.groupName = bdbEntity.getGroupName();
         this.qryPriorityId = bdbEntity.getQryPriorityId();
         this.ruleCnt = bdbEntity.getRuleCnt();
@@ -76,6 +77,7 @@ public class GroupResCtrlEntity extends BaseEntity implements Cloneable {
                 new BdbGroupFlowCtrlEntity(getDataVerId(), this.groupName,
                         this.flowCtrlInfo, statusId, this.ruleCnt, this.qryPriorityId,
                         getAttributes(), getModifyUser(), getModifyDate());
+        bdbEntity.setCreateInfo(getCreateUser(), getCreateDate());
         bdbEntity.setResCheckStatus(resCheckStatus);
         bdbEntity.setAllowedBrokerClientRate(allowedBrokerClientRate);
         return bdbEntity;
diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntity.java
index 0ea8559..13a01e8 100644
--- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntity.java
+++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntity.java
@@ -63,7 +63,8 @@ public class TopicCtrlEntity extends BaseEntity implements Cloneable {
 
     public TopicCtrlEntity(BdbTopicAuthControlEntity bdbEntity) {
         super(bdbEntity.getDataVerId(),
-                bdbEntity.getCreateUser(), bdbEntity.getCreateDate());
+                bdbEntity.getModifyUser(), bdbEntity.getModifyDate());
+        setCreateInfo(bdbEntity.getCreateUser(), bdbEntity.getCreateDate());
         this.topicName = bdbEntity.getTopicName();
         this.topicNameId = bdbEntity.getTopicId();
         this.fillMaxMsgSizeInB(bdbEntity.getMaxMsgSize());
@@ -79,6 +80,7 @@ public class TopicCtrlEntity extends BaseEntity implements Cloneable {
         BdbTopicAuthControlEntity bdbEntity =
                 new BdbTopicAuthControlEntity(topicName, isAuthCtrlEnable(),
                         getAttributes(), getModifyUser(), getModifyDate());
+        bdbEntity.setCreateInfo(getCreateUser(), getCreateDate());
         bdbEntity.setTopicId(topicNameId);
         bdbEntity.setDataVerId(getDataVerId());
         bdbEntity.setMaxMsgSize(maxMsgSizeInB);
diff --git a/tubemq-server/src/test/java/org/apache/tubemq/server/common/WebParameterUtilsTest.java b/tubemq-server/src/test/java/org/apache/tubemq/server/common/WebParameterUtilsTest.java
index f27772a..2d13258 100644
--- a/tubemq-server/src/test/java/org/apache/tubemq/server/common/WebParameterUtilsTest.java
+++ b/tubemq-server/src/test/java/org/apache/tubemq/server/common/WebParameterUtilsTest.java
@@ -24,6 +24,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
+import org.apache.tubemq.corebase.utils.TStringUtils;
 import org.apache.tubemq.server.common.fielddef.WebFieldDef;
 import org.apache.tubemq.server.common.utils.ProcessResult;
 import org.apache.tubemq.server.common.utils.WebParameterUtils;
@@ -242,8 +243,7 @@ public class WebParameterUtilsTest {
         retEntry = (BaseEntity) result.getRetData();
         Assert.assertEquals(String.valueOf(retEntry.getDataVerId()),
                 paramCntrMap.get(WebFieldDef.DATAVERSIONID.name));
-        Assert.assertEquals(retEntry.getCreateUser(),
-                paramCntrMap.get(WebFieldDef.CREATEUSER.name));
+        Assert.assertTrue(TStringUtils.isBlank(retEntry.getCreateUser()));
         Assert.assertEquals(retEntry.getModifyUser(),
                 paramCntrMap.get(WebFieldDef.MODIFYUSER.name));
         Assert.assertEquals(WebParameterUtils.date2yyyyMMddHHmmss(retEntry.getModifyDate()),
diff --git a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntityTest.java b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntityTest.java
index aafacb2..974419e 100644
--- a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntityTest.java
+++ b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntityTest.java
@@ -49,8 +49,8 @@ public class GroupConsumeCtrlEntityTest {
         Assert.assertEquals(bdbEntity1.getControlStatus(), 2);
         Assert.assertTrue(ctrlEntry1.getFilterEnable().isEnable());
         Assert.assertEquals(ctrlEntry1.getConsumeEnable(), bdbEntity1.getConsumeEnable());
-        Assert.assertEquals(ctrlEntry1.getCreateUser(), bdbEntity1.getCreateUser());
-        Assert.assertEquals(ctrlEntry1.getCreateDate(), bdbEntity1.getCreateDate());
+        Assert.assertEquals(ctrlEntry1.getCreateUser(), bdbEntity1.getModifyUser());
+        Assert.assertEquals(ctrlEntry1.getCreateDate(), bdbEntity1.getModifyDate());
         Assert.assertEquals(ctrlEntry1.getAttributes(), bdbEntity1.getAttributes());
         Assert.assertEquals(ctrlEntry1.getDisableReason(), bdbEntity1.getDisableConsumeReason());
         Assert.assertEquals(ctrlEntry1.getRecordKey(), bdbEntity1.getRecordKey());
@@ -80,10 +80,10 @@ public class GroupConsumeCtrlEntityTest {
         Assert.assertEquals(bdbEntity3.getControlStatus(), 2);
         Assert.assertTrue(ctrlEntry2.getFilterEnable().isEnable());
         Assert.assertEquals(ctrlEntry2.getConsumeEnable(), bdbEntity3.getConsumeEnable());
-        Assert.assertEquals(opInfoEntity.getCreateUser(), bdbEntity3.getCreateUser());
-        Assert.assertEquals(opInfoEntity.getCreateDate(), bdbEntity3.getCreateDate());
-        Assert.assertNotEquals(ctrlEntry2.getCreateDate(), bdbEntity3.getCreateDate());
-        Assert.assertNotEquals(ctrlEntry2.getCreateUser(), bdbEntity3.getCreateUser());
+        Assert.assertEquals(opInfoEntity.getCreateUser(), bdbEntity3.getModifyUser());
+        Assert.assertEquals(opInfoEntity.getCreateDate(), bdbEntity3.getModifyDate());
+        Assert.assertNotEquals(ctrlEntry2.getCreateDate(), bdbEntity3.getModifyDate());
+        Assert.assertNotEquals(ctrlEntry2.getCreateUser(), bdbEntity3.getModifyUser());
         Assert.assertEquals(ctrlEntry2.getAttributes(), bdbEntity3.getAttributes());
         Assert.assertEquals(ctrlEntry2.getDisableReason(), bdbEntity3.getDisableConsumeReason());
         Assert.assertEquals(ctrlEntry2.getRecordKey(), bdbEntity3.getRecordKey());
diff --git a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntityTest.java b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntityTest.java
index 615f13b..b04a375 100644
--- a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntityTest.java
+++ b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntityTest.java
@@ -64,8 +64,8 @@ public class GroupResCtrlEntityTest {
         Assert.assertEquals(bdbEntity2.getStatusId(), 1);
         Assert.assertEquals(bdbEntity2.getFlowCtrlInfo(), flowCtrlInfo);
         Assert.assertEquals(bdbEntity2.getRuleCnt(), ruleCnt);
-        Assert.assertEquals(bdbEntity2.getCreateUser(), createUser);
-        Assert.assertEquals(bdbEntity2.getCreateDate(), createDate);
+        Assert.assertEquals(bdbEntity2.getModifyUser(), createUser);
+        Assert.assertEquals(bdbEntity2.getModifyDate(), createDate);
         Assert.assertEquals(bdbEntity2.getSerialId(), dataVerId);
         bdbEntity2.setResCheckStatus(EnableStatus.STATUS_ENABLE);
         // case 3
@@ -78,8 +78,10 @@ public class GroupResCtrlEntityTest {
         Assert.assertTrue(resEntry3.getFlowCtrlStatus().isEnable());
         Assert.assertEquals(bdbEntity2.getFlowCtrlInfo(), resEntry3.getFlowCtrlInfo());
         Assert.assertEquals(bdbEntity2.getRuleCnt(), resEntry3.getRuleCnt());
-        Assert.assertEquals(bdbEntity2.getCreateUser(), resEntry3.getCreateUser());
-        Assert.assertEquals(bdbEntity2.getCreateDate(), resEntry3.getCreateDate());
+        Assert.assertEquals(bdbEntity2.getModifyUser(), resEntry3.getModifyUser());
+        Assert.assertEquals(bdbEntity2.getModifyDate(), resEntry3.getModifyDate());
+        Assert.assertEquals(bdbEntity2.getModifyUser(), resEntry3.getCreateUser());
+        Assert.assertEquals(bdbEntity2.getModifyDate(), resEntry3.getCreateDate());
         Assert.assertEquals(bdbEntity2.getSerialId(), resEntry3.getDataVerId());
         // case 4
         long newDataVerId = 99;
@@ -110,6 +112,8 @@ public class GroupResCtrlEntityTest {
         Assert.assertNotEquals(resEntry4.getRuleCnt(), resEntry3.getRuleCnt());
         Assert.assertEquals(resEntry4.getCreateUser(), resEntry3.getCreateUser());
         Assert.assertEquals(resEntry4.getCreateDate(), resEntry3.getCreateDate());
+        Assert.assertEquals(resEntry4.getModifyUser(), resEntry3.getModifyUser());
+        Assert.assertEquals(resEntry4.getModifyDate(), resEntry3.getModifyDate());
         Assert.assertNotEquals(resEntry4.getDataVerId(), resEntry3.getDataVerId());
         // case 5
         BdbGroupFlowCtrlEntity bdbEntity5 = resEntry4.buildBdbGroupFlowCtrlEntity();
@@ -120,7 +124,11 @@ public class GroupResCtrlEntityTest {
         Assert.assertEquals(bdbEntity5.getStatusId(), 0);
         Assert.assertEquals(bdbEntity5.getRuleCnt(), newFlowRuleCnt);
         Assert.assertEquals(bdbEntity5.getFlowCtrlInfo(), newFlowCtrlRuleInfo);
-        Assert.assertEquals(bdbEntity5.getGroupName(), resEntry3.getGroupName());
+        Assert.assertEquals(bdbEntity5.getGroupName(), bdbEntity5.getGroupName());
+        Assert.assertEquals(resEntry4.getCreateUser(), bdbEntity5.getCreateUser());
+        Assert.assertEquals(resEntry4.getCreateDateStr(), bdbEntity5.getStrCreateDate());
+        Assert.assertEquals(resEntry4.getModifyUser(), bdbEntity5.getModifyUser());
+        Assert.assertEquals(resEntry4.getModifyDateStr(), bdbEntity5.getStrModifyDate());
 
 
 
diff --git a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntityTest.java b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntityTest.java
index 243f783..f833771 100644
--- a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntityTest.java
+++ b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntityTest.java
@@ -47,8 +47,8 @@ public class TopicCtrlEntityTest {
         Assert.assertEquals(bdbEntity1.getTopicId(), TBaseConstants.META_VALUE_UNDEFINED);
         Assert.assertEquals(bdbEntity1.isEnableAuthControl(), enableAuthControl);
         Assert.assertEquals(bdbEntity1.getMaxMsgSize(), TBaseConstants.META_VALUE_UNDEFINED);
-        Assert.assertEquals(bdbEntity1.getCreateUser(), createUser);
-        Assert.assertEquals(bdbEntity1.getCreateDate(), createDate);
+        Assert.assertEquals(bdbEntity1.getModifyUser(), createUser);
+        Assert.assertEquals(bdbEntity1.getModifyDate(), createDate);
         Assert.assertEquals(bdbEntity1.getDataVerId(), TBaseConstants.META_VALUE_UNDEFINED);
         bdbEntity1.setMaxMsgSize(maxMsgSizeInB);
         Assert.assertEquals(bdbEntity1.getMaxMsgSize(), maxMsgSizeInB);
@@ -62,6 +62,8 @@ public class TopicCtrlEntityTest {
                 TBaseConstants.META_MIN_ALLOWED_MESSAGE_SIZE_MB);
         Assert.assertEquals(ctrlEntity1.getCreateUser(), createUser);
         Assert.assertEquals(ctrlEntity1.getCreateDate(), createDate);
+        Assert.assertEquals(ctrlEntity1.getModifyUser(), createUser);
+        Assert.assertEquals(ctrlEntity1.getModifyDate(), createDate);
         Assert.assertEquals(ctrlEntity1.getDataVerId(), TBaseConstants.META_VALUE_UNDEFINED);
         // case 2
         long dataVerId2 = 555;
@@ -100,8 +102,10 @@ public class TopicCtrlEntityTest {
         Assert.assertEquals(bdbEntity3.isEnableAuthControl(),
                 ctrlEntity2.getAuthCtrlStatus().isEnable());
         Assert.assertEquals(bdbEntity3.getMaxMsgSize(), ctrlEntity2.getMaxMsgSizeInB());
-        Assert.assertEquals(bdbEntity3.getCreateUser(), ctrlEntity2.getModifyUser());
-        Assert.assertEquals(bdbEntity3.getCreateDate(), ctrlEntity2.getModifyDate());
+        Assert.assertEquals(bdbEntity3.getModifyUser(), ctrlEntity2.getModifyUser());
+        Assert.assertEquals(bdbEntity3.getStrModifyDate(), ctrlEntity2.getModifyDateStr());
+        Assert.assertEquals(bdbEntity3.getCreateUser(), ctrlEntity2.getCreateUser());
+        Assert.assertEquals(bdbEntity3.getStrCreateDate(), ctrlEntity2.getCreateDateStr());
         Assert.assertEquals(bdbEntity3.getDataVerId(), ctrlEntity2.getDataVerId());
         // case 4
         TopicCtrlEntity ctrlEntity4 = new TopicCtrlEntity(bdbEntity3);
@@ -111,8 +115,10 @@ public class TopicCtrlEntityTest {
         Assert.assertEquals(ctrlEntity4.getTopicId(), ctrlEntity2.getTopicId());
         Assert.assertEquals(ctrlEntity4.getAuthCtrlStatus(), ctrlEntity2.getAuthCtrlStatus());
         Assert.assertEquals(ctrlEntity4.getMaxMsgSizeInB(), ctrlEntity2.getMaxMsgSizeInB());
-        Assert.assertEquals(ctrlEntity4.getCreateUser(), ctrlEntity2.getModifyUser());
-        Assert.assertEquals(ctrlEntity4.getCreateDate(), ctrlEntity2.getModifyDate());
+        Assert.assertEquals(ctrlEntity4.getCreateUser(), ctrlEntity2.getCreateUser());
+        Assert.assertEquals(ctrlEntity4.getCreateDateStr(), ctrlEntity2.getCreateDateStr());
+        Assert.assertEquals(ctrlEntity4.getModifyUser(), ctrlEntity2.getModifyUser());
+        Assert.assertEquals(ctrlEntity4.getModifyDateStr(), ctrlEntity2.getModifyDateStr());
         Assert.assertEquals(ctrlEntity4.getDataVerId(), ctrlEntity2.getDataVerId());
     }