You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/07/12 02:18:21 UTC

[shardingsphere] branch master updated: Improve scaling IT (#19032)

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

zhonghongsheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 61e9b1a749b Improve scaling IT (#19032)
61e9b1a749b is described below

commit 61e9b1a749b9a8d5ec1c425c0a695f06b6f2a6c7
Author: azexcy <10...@users.noreply.github.com>
AuthorDate: Tue Jul 12 10:18:14 2022 +0800

    Improve scaling IT (#19032)
    
    * Split sharding rule
    
    * Random set null
    
    * Fix ci error
    
    * Add weak sql_mode, use some irregular data
---
 .../data/pipeline/cases/base/BaseITCase.java       | 31 ++++++++++++----------
 .../pipeline/cases/command/CommonSQLCommand.java   |  8 +++---
 .../pipeline/cases/command/ExtraSQLCommand.java    |  3 ---
 .../cases/general/MySQLGeneralScalingIT.java       |  5 ++--
 .../cases/general/PostgreSQLGeneralScalingIT.java  |  6 +++--
 .../cases/primarykey/TextPrimaryKeyScalingIT.java  |  2 +-
 .../pipeline/cases/task/MySQLIncrementTask.java    |  9 ++++---
 .../cases/task/PostgreSQLIncrementTask.java        |  8 +++---
 .../container/database/OpenGaussContainer.java     |  3 ++-
 .../src/test/resources/env/common/command.xml      | 19 +++++--------
 .../test/resources/env/postgresql/postgresql.conf  |  1 +
 .../resources/env/scenario/general/postgresql.xml  |  4 ---
 12 files changed, 50 insertions(+), 49 deletions(-)

diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java
index e3695ee84a0..002f0cd8e84 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java
@@ -230,7 +230,7 @@ public abstract class BaseITCase {
                 .replace("${ds2}", getActualJdbcUrlTemplate(DS_2))
                 .replace("${ds3}", getActualJdbcUrlTemplate(DS_3))
                 .replace("${ds4}", getActualJdbcUrlTemplate(DS_4));
-        executeWithLog(addTargetResource);
+        executeWithLog(addTargetResource, 1);
         List<Map<String, Object>> resources = queryForListWithLog("SHOW DATABASE RESOURCES from sharding_db");
         assertThat(resources.size(), is(5));
         assertBeforeApplyScalingMetadataCorrectly();
@@ -246,18 +246,17 @@ public abstract class BaseITCase {
     }
     
     protected void initShardingAlgorithm() {
-        executeWithLog(getCommonSQLCommand().getCreateDatabaseShardingAlgorithm());
-        executeWithLog(getCommonSQLCommand().getCreateOrderShardingAlgorithm());
-        executeWithLog(getCommonSQLCommand().getCreateOrderItemShardingAlgorithm());
+        executeWithLog(getCommonSQLCommand().getCreateDatabaseShardingAlgorithm(), 1);
+        executeWithLog(getCommonSQLCommand().getCreateOrderShardingAlgorithm(), 1);
+        executeWithLog(getCommonSQLCommand().getCreateOrderItemShardingAlgorithm(), 1);
     }
     
-    protected void getCreateOrderWithItemSharingTableRule() {
-        executeWithLog(commonSQLCommand.getCreateOrderWithItemSharingTableRule());
-        assertBeforeApplyScalingMetadataCorrectly();
+    protected void createOrderTableRule() {
+        executeWithLog(commonSQLCommand.getCreateOrderTableRule(), 0);
     }
     
-    protected void createOrderSharingTableRule() {
-        executeWithLog(commonSQLCommand.getCreateOrderShardingTableRule());
+    protected void createOrderItemTableRule() {
+        executeWithLog(commonSQLCommand.getCreateOrderItemTableRule(), 0);
     }
     
     protected void bindingShardingRule() {
@@ -270,17 +269,17 @@ public abstract class BaseITCase {
                 List<Map<String, Object>> scalingList = jdbcTemplate.queryForList("SHOW SCALING LIST");
                 for (Map<String, Object> each : scalingList) {
                     String id = each.get("id").toString();
-                    jdbcTemplate.execute(String.format("DROP SCALING %s", id));
+                    executeWithLog(String.format("DROP SCALING %s", id), 0);
                 }
             } catch (final DataAccessException ex) {
                 log.error("Failed to show scaling list. {}", ex.getMessage());
             }
         }
-        executeWithLog("CREATE SHARDING SCALING RULE scaling_manual (INPUT(SHARDING_SIZE=1000), DATA_CONSISTENCY_CHECKER(TYPE(NAME=DATA_MATCH)))");
+        executeWithLog("CREATE SHARDING SCALING RULE scaling_manual (INPUT(SHARDING_SIZE=1000), DATA_CONSISTENCY_CHECKER(TYPE(NAME=DATA_MATCH)))", 1);
     }
     
     protected void createSchema(final String schemaName) {
-        executeWithLog(String.format("CREATE SCHEMA %s", schemaName));
+        executeWithLog(String.format("CREATE SCHEMA %s", schemaName), 0);
     }
     
     protected void executeWithLog(final Connection connection, final String sql) throws SQLException {
@@ -289,10 +288,14 @@ public abstract class BaseITCase {
         ThreadUtil.sleep(1, TimeUnit.SECONDS);
     }
     
-    protected void executeWithLog(final String sql) {
+    protected void executeWithLog(final String sql, final Integer sleepSeconds) {
         log.info("jdbcTemplate execute:{}", sql);
         jdbcTemplate.execute(sql);
-        ThreadUtil.sleep(2, TimeUnit.SECONDS);
+        ThreadUtil.sleep(Math.max(sleepSeconds, 0), TimeUnit.SECONDS);
+    }
+    
+    protected void executeWithLog(final String sql) {
+        executeWithLog(sql, 2);
     }
     
     protected List<Map<String, Object>> queryForListWithLog(final String sql) {
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/command/CommonSQLCommand.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/command/CommonSQLCommand.java
index 67abf9253bd..bbd0ae9c217 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/command/CommonSQLCommand.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/command/CommonSQLCommand.java
@@ -38,11 +38,11 @@ public final class CommonSQLCommand {
     @XmlElement(name = "create-order-item-sharding-algorithm")
     private String createOrderItemShardingAlgorithm;
     
-    @XmlElement(name = "create-order-with-item-sharding-table-rule")
-    private String createOrderWithItemSharingTableRule;
+    @XmlElement(name = "create-order-table-rule")
+    private String createOrderTableRule;
     
-    @XmlElement(name = "create-order-sharding-table-rule")
-    private String createOrderShardingTableRule;
+    @XmlElement(name = "create-order-item-table-rule")
+    private String createOrderItemTableRule;
     
     @XmlElement(name = "alter-sharding-algorithm")
     private String alterShardingAlgorithm;
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/command/ExtraSQLCommand.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/command/ExtraSQLCommand.java
index e4165ad94f8..ad3ba38cfd9 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/command/ExtraSQLCommand.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/command/ExtraSQLCommand.java
@@ -45,9 +45,6 @@ public final class ExtraSQLCommand {
     @XmlElement(name = "create-table-index")
     private List<String> createTableIndexList;
     
-    @XmlElement(name = "create-column-comment")
-    private List<String> createColumnCommentList;
-    
     @XmlElement(name = "update-table-order-status")
     private String updateTableOrderStatus;
     
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/general/MySQLGeneralScalingIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/general/MySQLGeneralScalingIT.java
index f0ee0c4e8e8..3ace86a2432 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/general/MySQLGeneralScalingIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/general/MySQLGeneralScalingIT.java
@@ -77,7 +77,8 @@ public final class MySQLGeneralScalingIT extends BaseExtraSQLITCase {
         initShardingAlgorithm();
         assertTrue(waitShardingAlgorithmEffect(15));
         createScalingRule();
-        getCreateOrderWithItemSharingTableRule();
+        createOrderTableRule();
+        createOrderItemTableRule();
         createNoUseTable();
         createOrderTable();
         createOrderItemTable();
@@ -87,8 +88,8 @@ public final class MySQLGeneralScalingIT extends BaseExtraSQLITCase {
             getJdbcTemplate().batchUpdate(getExtraSQLCommand().getFullInsertOrder(), dataPair.getLeft());
             getJdbcTemplate().batchUpdate(getExtraSQLCommand().getFullInsertOrderItem(), dataPair.getRight());
         }
-        startIncrementTask(new MySQLIncrementTask(getJdbcTemplate(), keyGenerateAlgorithm, true));
         addTargetResource();
+        startIncrementTask(new MySQLIncrementTask(getJdbcTemplate(), keyGenerateAlgorithm, true));
         executeWithLog(getCommonSQLCommand().getAutoAlterOrderWithItemShardingTableRule());
         String jobId = getScalingJobId();
         waitScalingFinished(jobId);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/general/PostgreSQLGeneralScalingIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/general/PostgreSQLGeneralScalingIT.java
index 4a4663da2c2..bf0ab7f9afd 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/general/PostgreSQLGeneralScalingIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/general/PostgreSQLGeneralScalingIT.java
@@ -87,16 +87,18 @@ public final class PostgreSQLGeneralScalingIT extends BaseExtraSQLITCase {
         assertTrue(waitShardingAlgorithmEffect(15));
         createScalingRule();
         createSchema("test");
-        getCreateOrderWithItemSharingTableRule();
+        createOrderTableRule();
+        createOrderItemTableRule();
         createOrderTable();
         createTableIndexList();
         createOrderItemTable();
+        executeWithLog("COMMENT ON COLUMN test.t_order.user_id IS 'user id';");
         SnowflakeKeyGenerateAlgorithm keyGenerateAlgorithm = new SnowflakeKeyGenerateAlgorithm();
         Pair<List<Object[]>, List<Object[]>> dataPair = ScalingCaseHelper.generateFullInsertData(keyGenerateAlgorithm, parameterized.getDatabaseType(), 3000);
         getJdbcTemplate().batchUpdate(getExtraSQLCommand().getFullInsertOrder(), dataPair.getLeft());
         getJdbcTemplate().batchUpdate(getExtraSQLCommand().getFullInsertOrderItem(), dataPair.getRight());
-        startIncrementTask(new PostgreSQLIncrementTask(getJdbcTemplate(), new SnowflakeKeyGenerateAlgorithm(), "test", true));
         addTargetResource();
+        startIncrementTask(new PostgreSQLIncrementTask(getJdbcTemplate(), new SnowflakeKeyGenerateAlgorithm(), "test", true));
         executeWithLog(getCommonSQLCommand().getAutoAlterOrderWithItemShardingTableRule());
         String jobId = getScalingJobId();
         waitScalingFinished(jobId);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/primarykey/TextPrimaryKeyScalingIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/primarykey/TextPrimaryKeyScalingIT.java
index e027cfe79ae..322460e9daf 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/primarykey/TextPrimaryKeyScalingIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/primarykey/TextPrimaryKeyScalingIT.java
@@ -86,7 +86,7 @@ public class TextPrimaryKeyScalingIT extends BaseExtraSQLITCase {
         initShardingAlgorithm();
         assertTrue(waitShardingAlgorithmEffect(15));
         createScalingRule();
-        createOrderSharingTableRule();
+        createOrderTableRule();
         createOrderTable();
         batchInsertOrder();
         addTargetResource();
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/task/MySQLIncrementTask.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/task/MySQLIncrementTask.java
index 9cc83326244..b90a26858ea 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/task/MySQLIncrementTask.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/task/MySQLIncrementTask.java
@@ -58,13 +58,15 @@ public final class MySQLIncrementTask extends BaseIncrementTask {
     
     private Object insertOrder() {
         ThreadLocalRandom random = ThreadLocalRandom.current();
-        Object[] orderInsertDate = new Object[]{keyGenerateAlgorithm.generateKey(), random.nextInt(0, 6), random.nextInt(0, 6), random.nextInt(1, 99)};
-        jdbcTemplate.update("INSERT INTO t_order (id,order_id,user_id,t_unsigned_int) VALUES (?, ?, ?, ?)", orderInsertDate);
+        String status = random.nextInt() % 2 == 0 ? null : "NOT-NULL";
+        Object[] orderInsertDate = new Object[]{keyGenerateAlgorithm.generateKey(), random.nextInt(0, 6), random.nextInt(0, 6), random.nextInt(1, 99), status};
+        jdbcTemplate.update("INSERT INTO t_order (id,order_id,user_id,t_unsigned_int,status) VALUES (?, ?, ?, ?, ?)", orderInsertDate);
         return orderInsertDate[0];
     }
     
     private Object insertOrderItem() {
-        Object[] orderInsertItemDate = new Object[]{keyGenerateAlgorithm.generateKey(), ThreadLocalRandom.current().nextInt(0, 6), ThreadLocalRandom.current().nextInt(0, 6), "OK"};
+        String status = ThreadLocalRandom.current().nextInt() % 2 == 0 ? null : "NOT-NULL";
+        Object[] orderInsertItemDate = new Object[]{keyGenerateAlgorithm.generateKey(), ThreadLocalRandom.current().nextInt(0, 6), ThreadLocalRandom.current().nextInt(0, 6), status};
         jdbcTemplate.update("INSERT INTO t_order_item(item_id,order_id,user_id,status) VALUES(?,?,?,?)", orderInsertItemDate);
         return orderInsertItemDate[0];
     }
@@ -72,6 +74,7 @@ public final class MySQLIncrementTask extends BaseIncrementTask {
     private void updateOrderByPrimaryKey(final Object primaryKey) {
         Object[] updateData = {"updated" + Instant.now().getEpochSecond(), ThreadLocalRandom.current().nextInt(0, 100), primaryKey};
         jdbcTemplate.update("UPDATE t_order SET status = ?,t_unsigned_int = ? WHERE id = ?", updateData);
+        jdbcTemplate.update("UPDATE t_order SET status = null,t_unsigned_int = 299,t_timestamp='0000-00-00 00:00:00' WHERE id = ?", primaryKey);
     }
     
     private void setNullToOrderFields(final Object primaryKey) {
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/task/PostgreSQLIncrementTask.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/task/PostgreSQLIncrementTask.java
index 828f56f256a..2b0c671f559 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/task/PostgreSQLIncrementTask.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/task/PostgreSQLIncrementTask.java
@@ -60,13 +60,15 @@ public final class PostgreSQLIncrementTask extends BaseIncrementTask {
     }
     
     private Object insertOrder() {
-        Object[] orderInsertDate = new Object[]{keyGenerateAlgorithm.generateKey(), ThreadLocalRandom.current().nextInt(0, 6), ThreadLocalRandom.current().nextInt(0, 6)};
-        jdbcTemplate.update(prefixSchema("INSERT INTO ${schema}t_order (id,order_id,user_id) VALUES (?, ?, ?)", schema), orderInsertDate);
+        String status = ThreadLocalRandom.current().nextInt() % 2 == 0 ? null : "NOT-NULL";
+        Object[] orderInsertDate = new Object[]{keyGenerateAlgorithm.generateKey(), ThreadLocalRandom.current().nextInt(0, 6), ThreadLocalRandom.current().nextInt(0, 6), status};
+        jdbcTemplate.update(prefixSchema("INSERT INTO ${schema}t_order (id,order_id,user_id,status) VALUES (?, ?, ?, ?)", schema), orderInsertDate);
         return orderInsertDate[0];
     }
     
     private Object insertOrderItem() {
-        Object[] orderInsertItemDate = new Object[]{keyGenerateAlgorithm.generateKey(), ThreadLocalRandom.current().nextInt(0, 6), ThreadLocalRandom.current().nextInt(0, 6), "OK"};
+        String status = ThreadLocalRandom.current().nextInt() % 2 == 0 ? null : "NOT-NULL";
+        Object[] orderInsertItemDate = new Object[]{keyGenerateAlgorithm.generateKey(), ThreadLocalRandom.current().nextInt(0, 6), ThreadLocalRandom.current().nextInt(0, 6), status};
         jdbcTemplate.update(prefixSchema("INSERT INTO ${schema}t_order_item(item_id,order_id,user_id,status) VALUES(?,?,?,?)", schema), orderInsertItemDate);
         return orderInsertItemDate[0];
     }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/framework/container/database/OpenGaussContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/framework/container/database/OpenGaussContainer.java
index 9ad71896bc7..4e5a736cb0e 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/framework/container/database/OpenGaussContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/framework/container/database/OpenGaussContainer.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.integration.data.pipeline.framework.container.database;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.type.dialect.OpenGaussDatabaseType;
 import org.apache.shardingsphere.integration.data.pipeline.env.IntegrationTestEnvironment;
@@ -60,7 +61,7 @@ public final class OpenGaussContainer extends DatabaseContainer {
     
     @Override
     public String getJdbcUrl(final String databaseName) {
-        return DataSourceEnvironment.getURL(DATABASE_TYPE, getHost(), getFirstMappedPort(), databaseName);
+        return DataSourceEnvironment.getURL(DATABASE_TYPE, getHost(), getFirstMappedPort(), StringUtils.isBlank(databaseName) ? "postgres" : databaseName);
     }
     
     @Override
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/common/command.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/common/command.xml
index 3e7bb611090..0916aafc663 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/common/command.xml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/common/command.xml
@@ -31,28 +31,23 @@
         TYPE(NAME=INLINE,PROPERTIES("algorithm-expression"="t_order_item_${order_id % 2}")))
     </create-order-item-sharding-algorithm>
     
-    <create-order-with-item-sharding-table-rule>
+    <create-order-table-rule>
         CREATE SHARDING TABLE RULE t_order (
         DATANODES("ds_${0..1}.t_order_${0..1}"),
         DATABASE_STRATEGY(TYPE=standard,SHARDING_COLUMN=user_id,SHARDING_ALGORITHM=database_inline),
         TABLE_STRATEGY(TYPE=standard,SHARDING_COLUMN=order_id,SHARDING_ALGORITHM=t_order_inline),
         KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
-        ), t_order_item (
-        DATANODES("ds_${0..1}.t_order_item_${0..1}"),
-        DATABASE_STRATEGY(TYPE=standard,SHARDING_COLUMN=user_id,SHARDING_ALGORITHM=database_inline),
-        TABLE_STRATEGY(TYPE=standard,SHARDING_COLUMN=order_id,SHARDING_ALGORITHM=t_order_item_inline),
-        KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
         )
-    </create-order-with-item-sharding-table-rule>
+    </create-order-table-rule>
     
-    <create-order-sharding-table-rule>
-        CREATE SHARDING TABLE RULE t_order (
-        DATANODES("ds_${0..1}.t_order_${0..1}"),
+    <create-order-item-table-rule>
+        CREATE SHARDING TABLE RULE t_order_item (
+        DATANODES("ds_${0..1}.t_order_item_${0..1}"),
         DATABASE_STRATEGY(TYPE=standard,SHARDING_COLUMN=user_id,SHARDING_ALGORITHM=database_inline),
-        TABLE_STRATEGY(TYPE=standard,SHARDING_COLUMN=order_id,SHARDING_ALGORITHM=t_order_inline),
+        TABLE_STRATEGY(TYPE=standard,SHARDING_COLUMN=order_id,SHARDING_ALGORITHM=t_order_item_inline),
         KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
         )
-    </create-order-sharding-table-rule>
+    </create-order-item-table-rule>
     
     <alter-sharding-algorithm>
         ALTER SHARDING ALGORITHM database_inline
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/postgresql/postgresql.conf b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/postgresql/postgresql.conf
index 6e03af84e72..15a4d3136dd 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/postgresql/postgresql.conf
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/postgresql/postgresql.conf
@@ -15,6 +15,7 @@
 # limitations under the License.
 #
 
+listen_addresses = '*'
 wal_level = logical
 max_replication_slots = 10
 log_timezone = 'Asia/Shanghai'
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/scenario/general/postgresql.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/scenario/general/postgresql.xml
index 494e0568672..8b33b504228 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/scenario/general/postgresql.xml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/scenario/general/postgresql.xml
@@ -44,10 +44,6 @@
         CREATE INDEX "idx_user_id" ON test.t_order ( user_id );
     </create-table-index>
     
-    <create-column-comment>
-        COMMENT ON COLUMN test.t_order.user_id IS 'user id';
-    </create-column-comment>
-    
     <create-table-order-item>
         CREATE TABLE test.t_order_item (
         item_id int8 NOT NULL,