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

lijibing pushed a commit to branch high-priority-column
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/high-priority-column by this 
push:
     new 02756be71ef rebase master (#31243)
02756be71ef is described below

commit 02756be71efa67653e37889895a42c4b12fd5a2b
Author: Jibing-Li <64681310+jibing...@users.noreply.github.com>
AuthorDate: Wed Feb 21 23:02:31 2024 +0800

    rebase master (#31243)
    
    * [fix](stream-load) print stream load profile for pipeline and pipelinex 
(#31198)
    
    * [fix](Nereids): OuterJoinAssoc reject literal condition (#31172)
    
    * [Enhancement](group commit) Add bvar and log for group commit (#31017)
    
    * [feature](cloud) add more cases to cloud_p0 (#31221)
    
    * [fix](regression) cloud_p0 should not enable group_commit (#31232)
    
    * [regression test]Optimize testUniqueModelSchemaKeyChange (#31150)
    
    ---------
    
    Co-authored-by: Xin Liao <liaoxin...@126.com>
    Co-authored-by: jakevin <jakevin...@gmail.com>
    Co-authored-by: abmdocrt <yukang.lian2...@gmail.com>
    Co-authored-by: Yongqiang YANG 
<98214048+dataroar...@users.noreply.github.com>
    Co-authored-by: meiyi <myime...@gmail.com>
    Co-authored-by: kkop <45192870+cjj2...@users.noreply.github.com>
---
 be/src/pipeline/pipeline_fragment_context.cpp      |  15 ++
 .../pipeline_x/pipeline_x_fragment_context.cpp     |  15 ++
 be/src/runtime/group_commit_mgr.cpp                |   4 +
 be/src/runtime/group_commit_mgr.h                  |   4 +
 be/src/vec/sink/group_commit_block_sink.cpp        |   8 +-
 .../rules/exploration/join/OuterJoinAssoc.java     |   2 +-
 .../exploration/join/OuterJoinAssocProject.java    |   2 +-
 .../test_unique_model_schema_key_change.out        | 121 +++++++++
 .../pipeline/cloud_p0/conf/be_custom.conf          |   1 -
 .../pipeline/cloud_p0/conf/fe_custom.conf          |   3 -
 .../cloud_p0/conf/regression-conf-custom.groovy    |   2 +-
 .../test_unique_model_schema_key_change.groovy     | 270 +++++++++++++++++++++
 12 files changed, 438 insertions(+), 9 deletions(-)

diff --git a/be/src/pipeline/pipeline_fragment_context.cpp 
b/be/src/pipeline/pipeline_fragment_context.cpp
index 6c183a96f64..e251b203794 100644
--- a/be/src/pipeline/pipeline_fragment_context.cpp
+++ b/be/src/pipeline/pipeline_fragment_context.cpp
@@ -887,6 +887,21 @@ void PipelineFragmentContext::_close_fragment_instance() {
     _runtime_state->runtime_profile()->total_time_counter()->update(
             _fragment_watcher.elapsed_time());
     static_cast<void>(send_report(true));
+    if (_is_report_success) {
+        std::stringstream ss;
+        // Compute the _local_time_percent before pretty_print the 
runtime_profile
+        // Before add this operation, the print out like that:
+        // UNION_NODE (id=0):(Active: 56.720us, non-child: 00.00%)
+        // After add the operation, the print out like that:
+        // UNION_NODE (id=0):(Active: 56.720us, non-child: 82.53%)
+        // We can easily know the exec node execute time without child time 
consumed.
+        _runtime_state->runtime_profile()->compute_time_in_profile();
+        _runtime_state->runtime_profile()->pretty_print(&ss);
+        if (_runtime_state->load_channel_profile()) {
+            _runtime_state->load_channel_profile()->pretty_print(&ss);
+        }
+        LOG(INFO) << ss.str();
+    }
     // all submitted tasks done
     _exec_env->fragment_mgr()->remove_pipeline_context(
             
std::dynamic_pointer_cast<PipelineFragmentContext>(shared_from_this()));
diff --git a/be/src/pipeline/pipeline_x/pipeline_x_fragment_context.cpp 
b/be/src/pipeline/pipeline_x/pipeline_x_fragment_context.cpp
index 38b7b7457fe..9087f94db5e 100644
--- a/be/src/pipeline/pipeline_x/pipeline_x_fragment_context.cpp
+++ b/be/src/pipeline/pipeline_x/pipeline_x_fragment_context.cpp
@@ -1244,6 +1244,21 @@ void 
PipelineXFragmentContext::_close_fragment_instance() {
     Defer defer_op {[&]() { _is_fragment_instance_closed = true; }};
     
_runtime_profile->total_time_counter()->update(_fragment_watcher.elapsed_time());
     static_cast<void>(send_report(true));
+    if (_is_report_success) {
+        std::stringstream ss;
+        // Compute the _local_time_percent before pretty_print the 
runtime_profile
+        // Before add this operation, the print out like that:
+        // UNION_NODE (id=0):(Active: 56.720us, non-child: 00.00%)
+        // After add the operation, the print out like that:
+        // UNION_NODE (id=0):(Active: 56.720us, non-child: 82.53%)
+        // We can easily know the exec node execute time without child time 
consumed.
+        _runtime_state->runtime_profile()->compute_time_in_profile();
+        _runtime_state->runtime_profile()->pretty_print(&ss);
+        if (_runtime_state->load_channel_profile()) {
+            _runtime_state->load_channel_profile()->pretty_print(&ss);
+        }
+        LOG(INFO) << ss.str();
+    }
     // all submitted tasks done
     _exec_env->fragment_mgr()->remove_pipeline_context(
             
std::dynamic_pointer_cast<PipelineXFragmentContext>(shared_from_this()));
diff --git a/be/src/runtime/group_commit_mgr.cpp 
b/be/src/runtime/group_commit_mgr.cpp
index 7422890aa41..42c0e83f4b6 100644
--- a/be/src/runtime/group_commit_mgr.cpp
+++ b/be/src/runtime/group_commit_mgr.cpp
@@ -78,6 +78,7 @@ Status LoadBlockQueue::add_block(RuntimeState* runtime_state,
         VLOG_DEBUG << "group commit meets commit condition for data size, 
label=" << label
                    << ", instance_id=" << load_instance_id << ", data_bytes=" 
<< _data_bytes;
         _need_commit = true;
+        data_size_condition = true;
     }
     _get_cond.notify_all();
     return Status::OK();
@@ -417,6 +418,9 @@ Status GroupCommitTable::_finish_group_commit_load(int64_t 
db_id, int64_t table_
        << ", exec_plan_fragment status=" << status.to_string()
        << ", commit/abort txn rpc status=" << st.to_string()
        << ", commit/abort txn status=" << result_status.to_string()
+       << ", this group commit includes " << 
load_block_queue->group_commit_load_count << " loads"
+       << ", flush because meet "
+       << (load_block_queue->data_size_condition ? "data size " : "time ") << 
"condition"
        << ", wal space info:" << 
ExecEnv::GetInstance()->wal_mgr()->get_wal_dirs_info_string();
     if (state) {
         if (!state->get_error_log_file_path().empty()) {
diff --git a/be/src/runtime/group_commit_mgr.h 
b/be/src/runtime/group_commit_mgr.h
index e3b28be5804..5357ba208f7 100644
--- a/be/src/runtime/group_commit_mgr.h
+++ b/be/src/runtime/group_commit_mgr.h
@@ -78,6 +78,10 @@ public:
     int64_t txn_id;
     int64_t schema_version;
     bool wait_internal_group_commit_finish = false;
+    bool data_size_condition = false;
+
+    // counts of load in one group commit
+    std::atomic_size_t group_commit_load_count = 0;
 
     // the execute status of this internal group commit
     std::mutex mutex;
diff --git a/be/src/vec/sink/group_commit_block_sink.cpp 
b/be/src/vec/sink/group_commit_block_sink.cpp
index 6ff9d4a1425..2ce03ba0c1f 100644
--- a/be/src/vec/sink/group_commit_block_sink.cpp
+++ b/be/src/vec/sink/group_commit_block_sink.cpp
@@ -35,6 +35,8 @@
 namespace doris {
 
 namespace vectorized {
+bvar::Adder<int64_t> g_group_commit_load_rows("doris_group_commit_load_rows");
+bvar::Adder<int64_t> 
g_group_commit_load_bytes("doris_group_commit_load_bytes");
 
 GroupCommitBlockSink::GroupCommitBlockSink(ObjectPool* pool, const 
RowDescriptor& row_desc,
                                            const std::vector<TExpr>& texprs, 
Status* status)
@@ -48,6 +50,7 @@ GroupCommitBlockSink::~GroupCommitBlockSink() {
     if (_load_block_queue) {
         _remove_estimated_wal_bytes();
         _load_block_queue->remove_load_id(_load_id);
+        _load_block_queue->group_commit_load_count.fetch_add(1);
     }
 }
 
@@ -144,12 +147,13 @@ Status GroupCommitBlockSink::send(RuntimeState* state, 
vectorized::Block* input_
         return status;
     }
     SCOPED_TIMER(_profile->total_time_counter());
+
     // update incrementally so that FE can get the progress.
     // the real 'num_rows_load_total' will be set when sink being closed.
     state->update_num_rows_load_total(rows);
     state->update_num_bytes_load_total(bytes);
-    DorisMetrics::instance()->load_rows->increment(rows);
-    DorisMetrics::instance()->load_bytes->increment(bytes);
+    g_group_commit_load_rows << rows;
+    g_group_commit_load_bytes << bytes;
 
     std::shared_ptr<vectorized::Block> block;
     bool has_filtered_rows = false;
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/OuterJoinAssoc.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/OuterJoinAssoc.java
index 2080cfce93d..3208654fa78 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/OuterJoinAssoc.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/OuterJoinAssoc.java
@@ -79,7 +79,7 @@ public class OuterJoinAssoc extends OneExplorationRuleFactory 
{
                                 
.addAll(topJoin.getOtherJoinConjuncts()).build();
                         Set<Slot> notNullSlots = 
ExpressionUtils.inferNotNullSlots(on,
                                 ctx.cascadesContext);
-                        if (!conditionSlot.equals(notNullSlots)) {
+                        if (conditionSlot.isEmpty() || 
!conditionSlot.equals(notNullSlots)) {
                             return null;
                         }
                     }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/OuterJoinAssocProject.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/OuterJoinAssocProject.java
index 512aec7bbc7..5cd22058c04 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/OuterJoinAssocProject.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/OuterJoinAssocProject.java
@@ -80,7 +80,7 @@ public class OuterJoinAssocProject extends 
OneExplorationRuleFactory {
                                 
.addAll(topJoin.getOtherJoinConjuncts()).build();
                         Set<Slot> notNullSlots = 
ExpressionUtils.inferNotNullSlots(on,
                                 ctx.cascadesContext);
-                        if (!conditionSlot.equals(notNullSlots)) {
+                        if (conditionSlot.isEmpty() || 
!conditionSlot.equals(notNullSlots)) {
                             return null;
                         }
                     }
diff --git 
a/regression-test/data/schema_change_p0/test_unique_model_schema_key_change.out 
b/regression-test/data/schema_change_p0/test_unique_model_schema_key_change.out
new file mode 100644
index 00000000000..b8e5753aff9
--- /dev/null
+++ 
b/regression-test/data/schema_change_p0/test_unique_model_schema_key_change.out
@@ -0,0 +1,121 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- ! --
+123456789      Alice   广东省     Beijing 25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+234567890      Bob     广东省     Shanghai        30      1       13998765432     
No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   广东省     Guangzhou       28      0       13724681357     
No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    广东省     Shenzhen        35      1       13680864279     
No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     广东省     Chengdu 27      0       13572468091     No. 654 
Street, Chengdu 2022-05-05T18:00
+678901234      Frank   广东省     Hangzhou        32      1       13467985213     
No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   广东省     Xian    29      0       13333333333     No. 222 
Street, Xian    2022-07-07T22:00
+123456689      Alice   四川省     Yaan    25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789      Alice   false   Beijing 25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+234567890      Bob     false   Shanghai        30      1       13998765432     
No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   false   Guangzhou       28      0       13724681357     
No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    false   Shenzhen        35      1       13680864279     
No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     false   Chengdu 27      0       13572468091     No. 654 
Street, Chengdu 2022-05-05T18:00
+678901234      Frank   false   Hangzhou        32      1       13467985213     
No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   false   Xian    29      0       13333333333     No. 222 
Street, Xian    2022-07-07T22:00
+123456689      Alice   false   Yaan    25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789      Alice   0       Beijing 25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+234567890      Bob     0       Shanghai        30      1       13998765432     
No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   0       Guangzhou       28      0       13724681357     
No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    0       Shenzhen        35      1       13680864279     
No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     0       Chengdu 27      0       13572468091     No. 654 
Street, Chengdu 2022-05-05T18:00
+678901234      Frank   0       Hangzhou        32      1       13467985213     
No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   0       Xian    29      0       13333333333     No. 222 
Street, Xian    2022-07-07T22:00
+123456689      Alice   0       Yaan    25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789      Alice   999     Beijing 25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+234567890      Bob     999     Shanghai        30      1       13998765432     
No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   999     Guangzhou       28      0       13724681357     
No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    999     Shenzhen        35      1       13680864279     
No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     999     Chengdu 27      0       13572468091     No. 654 
Street, Chengdu 2022-05-05T18:00
+678901234      Frank   999     Hangzhou        32      1       13467985213     
No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   999     Xian    29      0       13333333333     No. 222 
Street, Xian    2022-07-07T22:00
+123456689      Alice   567     Yaan    25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789      Alice   999     Beijing 25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+234567890      Bob     999     Shanghai        30      1       13998765432     
No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   999     Guangzhou       28      0       13724681357     
No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    999     Shenzhen        35      1       13680864279     
No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     999     Chengdu 27      0       13572468091     No. 654 
Street, Chengdu 2022-05-05T18:00
+678901234      Frank   999     Hangzhou        32      1       13467985213     
No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   999     Xian    29      0       13333333333     No. 222 
Street, Xian    2022-07-07T22:00
+123456689      Alice   2       Yaan    25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789      Alice   99999991        Beijing 25      0       13812345678     
No. 123 Street, Beijing 2022-01-01T10:00
+234567890      Bob     99999991        Shanghai        30      1       
13998765432     No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   99999991        Guangzhou       28      0       
13724681357     No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    99999991        Shenzhen        35      1       
13680864279     No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     99999991        Chengdu 27      0       13572468091     
No. 654 Street, Chengdu 2022-05-05T18:00
+678901234      Frank   99999991        Hangzhou        32      1       
13467985213     No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   99999991        Xian    29      0       13333333333     
No. 222 Street, Xian    2022-07-07T22:00
+123456689      Alice   88889494646     Yaan    25      0       13812345678     
No. 123 Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789      Alice   9999    Beijing 25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+234567890      Bob     9999    Shanghai        30      1       13998765432     
No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   9999    Guangzhou       28      0       13724681357     
No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    9999    Shenzhen        35      1       13680864279     
No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     9999    Chengdu 27      0       13572468091     No. 654 
Street, Chengdu 2022-05-05T18:00
+678901234      Frank   9999    Hangzhou        32      1       13467985213     
No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   9999    Xian    29      0       13333333333     No. 222 
Street, Xian    2022-07-07T22:00
+123456689      Alice   555888555       Yaan    25      0       13812345678     
No. 123 Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789      Alice   16899.6464689000        Beijing 25      0       
13812345678     No. 123 Street, Beijing 2022-01-01T10:00
+234567890      Bob     16899.6464689000        Shanghai        30      1       
13998765432     No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   16899.6464689000        Guangzhou       28      0       
13724681357     No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    16899.6464689000        Shenzhen        35      1       
13680864279     No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     16899.6464689000        Chengdu 27      0       
13572468091     No. 654 Street, Chengdu 2022-05-05T18:00
+678901234      Frank   16899.6464689000        Hangzhou        32      1       
13467985213     No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   16899.6464689000        Xian    29      0       
13333333333     No. 222 Street, Xian    2022-07-07T22:00
+123456689      Alice   16499.6464689000        Yaan    25      0       
13812345678     No. 123 Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789      Alice   1997-01-01      Beijing 25      0       13812345678     
No. 123 Street, Beijing 2022-01-01T10:00
+234567890      Bob     1997-01-01      Shanghai        30      1       
13998765432     No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   1997-01-01      Guangzhou       28      0       
13724681357     No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    1997-01-01      Shenzhen        35      1       
13680864279     No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     1997-01-01      Chengdu 27      0       13572468091     
No. 654 Street, Chengdu 2022-05-05T18:00
+678901234      Frank   1997-01-01      Hangzhou        32      1       
13467985213     No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   1997-01-01      Xian    29      0       13333333333     
No. 222 Street, Xian    2022-07-07T22:00
+123456689      Alice   2024-01-01      Yaan    25      0       13812345678     
No. 123 Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789      Alice   1997-01-01T00:00        Beijing 25      0       
13812345678     No. 123 Street, Beijing 2022-01-01T10:00
+234567890      Bob     1997-01-01T00:00        Shanghai        30      1       
13998765432     No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   1997-01-01T00:00        Guangzhou       28      0       
13724681357     No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    1997-01-01T00:00        Shenzhen        35      1       
13680864279     No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     1997-01-01T00:00        Chengdu 27      0       
13572468091     No. 654 Street, Chengdu 2022-05-05T18:00
+678901234      Frank   1997-01-01T00:00        Hangzhou        32      1       
13467985213     No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   1997-01-01T00:00        Xian    29      0       
13333333333     No. 222 Street, Xian    2022-07-07T22:00
+123456689      Alice   2024-01-04T09:00        Yaan    25      0       
13812345678     No. 123 Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789      Alice   1997-01-01T00:00        Beijing 25      0       
13812345678     No. 123 Street, Beijing 2022-01-01T10:00
+234567890      Bob     1997-01-01T00:00        Shanghai        30      1       
13998765432     No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   1997-01-01T00:00        Guangzhou       28      0       
13724681357     No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    1997-01-01T00:00        Shenzhen        35      1       
13680864279     No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     1997-01-01T00:00        Chengdu 27      0       
13572468091     No. 654 Street, Chengdu 2022-05-05T18:00
+678901234      Frank   1997-01-01T00:00        Hangzhou        32      1       
13467985213     No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   1997-01-01T00:00        Xian    29      0       
13333333333     No. 222 Street, Xian    2022-07-07T22:00
+123456689      Alice   2024-01-04T09:00        Yaan    25      0       
13812345678     No. 123 Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789      Alice   F       Beijing 25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+234567890      Bob     F       Shanghai        30      1       13998765432     
No. 456 Street, Shanghai        2022-02-02T12:00
+345678901      Carol   F       Guangzhou       28      0       13724681357     
No. 789 Street, Guangzhou       2022-03-03T14:00
+456789012      Dave    F       Shenzhen        35      1       13680864279     
No. 987 Street, Shenzhen        2022-04-04T16:00
+567890123      Eve     F       Chengdu 27      0       13572468091     No. 654 
Street, Chengdu 2022-05-05T18:00
+678901234      Frank   F       Hangzhou        32      1       13467985213     
No. 321 Street, Hangzhou        2022-06-06T20:00
+789012345      Grace   F       Xian    29      0       13333333333     No. 222 
Street, Xian    2022-07-07T22:00
+123456689      Alice   T       Yaan    25      0       13812345678     No. 123 
Street, Beijing 2022-01-01T10:00
+
diff --git a/regression-test/pipeline/cloud_p0/conf/be_custom.conf 
b/regression-test/pipeline/cloud_p0/conf/be_custom.conf
index ae08823bfb7..2259c031ce9 100644
--- a/regression-test/pipeline/cloud_p0/conf/be_custom.conf
+++ b/regression-test/pipeline/cloud_p0/conf/be_custom.conf
@@ -22,7 +22,6 @@ enable_merge_on_write_correctness_check=true
 enable_debug_points=true
 prioritize_query_perf_in_compaction = true
 cumulative_compaction_min_deltas = 5
-wait_internal_group_commit_finish=true
 #p0 parameter
 meta_service_endpoint = 127.0.0.1:5000
 cloud_unique_id = cloud_unique_id_compute_node0
diff --git a/regression-test/pipeline/cloud_p0/conf/fe_custom.conf 
b/regression-test/pipeline/cloud_p0/conf/fe_custom.conf
index 9a6c6cdeb54..5a96e7f075a 100644
--- a/regression-test/pipeline/cloud_p0/conf/fe_custom.conf
+++ b/regression-test/pipeline/cloud_p0/conf/fe_custom.conf
@@ -29,9 +29,6 @@ max_query_profile_num=1000
 statistics_sql_mem_limit_in_bytes=21474836480
 cpu_resource_limit_per_analyze_task=-1
 
-group_commit_interval_ms_default_value=2
-wait_internal_group_commit_finish=true
-
 priority_networks=127.0.0.1/24
 cloud_http_port=18030
 meta_service_endpoint=127.0.0.1:5000
diff --git 
a/regression-test/pipeline/cloud_p0/conf/regression-conf-custom.groovy 
b/regression-test/pipeline/cloud_p0/conf/regression-conf-custom.groovy
index 7bdcc2a7c9f..fa5769e676e 100644
--- a/regression-test/pipeline/cloud_p0/conf/regression-conf-custom.groovy
+++ b/regression-test/pipeline/cloud_p0/conf/regression-conf-custom.groovy
@@ -16,5 +16,5 @@
 // under the License.
 
 testGroups = "p0"
-testDirectories = 
"ddl_p0,database_p0,load,load_p0/insert,load_p0/stream_load,query_p0,table_p0,account_p0,autobucket,bitmap_functions,bloom_filter_p0,cast_decimal_to_boolean,cast_double_to_decimal,compression_p0,connector_p0,correctness,correctness_p0,csv_header_p0,data_model_p0,database_p0,datatype_p0,delete_p0,demo_p0,empty_relation,export_p0,external_table_p0,fault_injection_p0,flink_connector_p0,insert_overwrite_p0,insert_p0,internal_schema_p0,json_p0,jsonb_p0,mysql_ssl_p0,mysql_tup
 [...]
+testDirectories = 
"ddl_p0,database_p0,load,load_p0,query_p0,table_p0,account_p0,autobucket,bitmap_functions,bloom_filter_p0,cast_decimal_to_boolean,cast_double_to_decimal,compression_p0,connector_p0,correctness,correctness_p0,csv_header_p0,data_model_p0,database_p0,datatype_p0,delete_p0,demo_p0,empty_relation,export_p0,external_table_p0,fault_injection_p0,flink_connector_p0,insert_overwrite_p0,insert_p0,internal_schema_p0,javaudf_p0,job_p0,json_p0,jsonb_p0,meta_action_p0,metrics_p0,mtmv_
 [...]
 
diff --git 
a/regression-test/suites/schema_change_p0/test_unique_model_schema_key_change.groovy
 
b/regression-test/suites/schema_change_p0/test_unique_model_schema_key_change.groovy
new file mode 100644
index 00000000000..deb094fc284
--- /dev/null
+++ 
b/regression-test/suites/schema_change_p0/test_unique_model_schema_key_change.groovy
@@ -0,0 +1,270 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you 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.
+
+suite("test_unique_model_schema_key_change","p0") {
+     def tbName = "test_unique_model_schema_key_change"
+
+     //Test the unique model by adding a key column
+     sql """ DROP TABLE IF EXISTS ${tbName} """
+     def initTable = " CREATE TABLE IF NOT EXISTS ${tbName}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT 
\"用户昵称\",\n" +
+             "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+             "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+             "              `register_time` DATETIME COMMENT \"用户注册时间\"\n" +
+             "          )\n" +
+             "          UNIQUE KEY(`user_id`, `username`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 
1\",\n" +
+             "          \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+             "          );"
+
+     def initTableData = "insert into ${tbName} values(123456789, 'Alice', 
'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00')," +
+             "               (234567890, 'Bob', 'Shanghai', 30, 1, 
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+             "               (345678901, 'Carol', 'Guangzhou', 28, 0, 
13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+             "               (456789012, 'Dave', 'Shenzhen', 35, 1, 
13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+             "               (567890123, 'Eve', 'Chengdu', 27, 0, 13572468091, 
'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+             "               (678901234, 'Frank', 'Hangzhou', 32, 1, 
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
+             "               (789012345, 'Grace', 'Xian', 29, 0, 13333333333, 
'No. 222 Street, Xian', '2022-07-07 22:00:00');"
+
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column province VARCHAR(20) KEY 
DEFAULT "广东省" AFTER username """
+     def insertSql = "insert into ${tbName} values(123456689, 'Alice', '四川省', 
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00');"
+     def getTableStatusSql = " SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tbName}' ORDER BY createtime DESC LIMIT 1  "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+     //Test the unique model by adding a key column with BOOLEAN
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column special_area BOOLEAN KEY 
DEFAULT "0" AFTER username """
+     insertSql = "insert into ${tbName} values(123456689, 'Alice', 0, 'Yaan', 
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+
+     //Test the unique model by adding a key column with TINYINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column special_area TINYINT KEY 
DEFAULT "0" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 0, 'Yaan', 
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+
+     //Test the unique model by adding a key column with SMALLINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column area_num SMALLINT KEY DEFAULT 
"999" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 567, 
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+     //Test the unique model by adding a key column with INT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column house_price INT KEY DEFAULT 
"999" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 2, 'Yaan', 
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+     //Test the unique model by adding a key column with BIGINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column house_price1 BIGINT KEY 
DEFAULT "99999991" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 
88889494646, 'Yaan',  25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+
+     //Test the unique model by adding a key column with LARGEINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column car_price LARGEINT KEY DEFAULT 
"9999" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 555888555, 
'Yaan',  25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00');"
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+
+
+     //Test the unique model by adding a key column with FLOAT
+     //java.sql.SQLException: errCode = 2, detailMessage = Float or double can 
not used as a key, use decimal instead.
+/*     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column phone FLOAT KEY DEFAULT 
"166.6" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 189.9, 
'Yaan',  25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00');"
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")*/
+
+
+
+
+     //Test the unique model by adding a key column with DOUBLE
+     //java.sql.SQLException: errCode = 2, detailMessage = Float or double can 
not used as a key, use decimal instead.
+/*     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column watch FLOAT KEY DEFAULT 
"166.689" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 189.479, 
'Yaan',  25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); 
"
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")*/
+
+
+
+
+     //Test the unique model by adding a key column with DECIMAL
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column watch DECIMAL(38,10) KEY 
DEFAULT "16899.6464689" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 
16499.6464689, 'Yaan',  25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00');"
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+
+     //Test the unique model by adding a key column with DATE
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column watch DATE KEY DEFAULT 
"1997-01-01" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 
\"2024-01-01\", 'Yaan',  25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+
+
+     //Test the unique model by adding a key column with DATETIME
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column anniversary DATETIME KEY 
DEFAULT "1997-01-01 00:00:00" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 
\"2024-01-04 09:00:00\", 'Yaan',  25, 0, 13812345678, 'No. 123 Street, 
Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+
+     //Test the unique model by adding a key column with DATETIME
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column anniversary DATETIME KEY 
DEFAULT "1997-01-01 00:00:00" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 
\"2024-01-04 09:00:00\", 'Yaan',  25, 0, 13812345678, 'No. 123 Street, 
Beijing', '2022-01-01 10:00:00');  "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+
+     //Test the unique model by adding a key column with CHAR
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column teacher CHAR KEY DEFAULT "F" 
AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', \"T\", 
'Yaan',  25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); 
 "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")
+
+
+
+     //Test the unique model by adding a key column with STRING
+     //java.sql.SQLException: errCode = 2, detailMessage = String Type should 
not be used in key column[comment].
+/*     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column comment STRING KEY DEFAULT 
"我是小说家" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', '我是侦探家', 
'Yaan',  25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); 
 "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")*/
+
+
+     //Test the unique model by adding a key column with bitmap
+     //java.sql.SQLException: errCode = 2, detailMessage = Key column can not 
set complex type:device_id
+/*     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column device_id   bitmap    KEY  
DEFAULT "to_bitmap(243)" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 
to_bitmap(243), 'Yaan',  25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00');  "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")*/
+
+
+
+     //Test the unique model by adding a key column with Map
+     //java.sql.SQLException: errCode = 2, detailMessage = Map can only be 
used in the non-key column of the duplicate table at present.
+/*     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column m   Map<STRING, INT>    KEY  
DEFAULT "{'a': 100, 'b': 200}" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', '{'a': 
100, 'b': 200}', 'Yaan',  25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00');  "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")*/
+
+
+
+     //Test the unique model by adding a key column with JSON
+     //java.sql.SQLException: errCode = 2, detailMessage = JSONB type should 
not be used in key column[j].
+/*     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName} add  column   j    JSON    KEY  DEFAULT 
"{'a': 100, 'b': 200}" AFTER username """
+     insertSql = " insert into ${tbName} values(123456689, 'Alice', 
'{\"k1\":\"v31\", \"k2\": 300}', 'Yaan',  25, 0, 13812345678, 'No. 123 Street, 
Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, true,"${tbName}")*/
+
+
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org


Reply via email to