github-actions[bot] commented on code in PR #36135:
URL: https://github.com/apache/doris/pull/36135#discussion_r1634647692


##########
cloud/test/meta_service_test.cpp:
##########
@@ -1522,6 +1498,275 @@ TEST(MetaServiceTest, CommitTxnWithSubTxnTest) {
                 fmt::format("transaction is already visible: db_id={} 
txn_id={}", db_id, txn_id));
         ASSERT_TRUE(found != std::string::npos);
     }
+
+    // check kv
+    {
+        std::unique_ptr<Transaction> txn;
+        TxnErrorCode err = meta_service->txn_kv()->create_txn(&txn);
+        ASSERT_EQ(err, TxnErrorCode::TXN_OK);
+
+        // txn_info
+        std::string info_key = txn_info_key({mock_instance, db_id, txn_id});
+        std::string info_val;
+        ASSERT_EQ(txn->get(info_key, &info_val), TxnErrorCode::TXN_OK);
+        TxnInfoPB txn_info;
+        txn_info.ParseFromString(info_val);
+        ASSERT_EQ(txn_info.status(), TxnStatusPB::TXN_STATUS_VISIBLE);
+
+        info_key = txn_info_key({mock_instance, db_id, sub_txn_id2});
+        ASSERT_EQ(txn->get(info_key, &info_val), 
TxnErrorCode::TXN_KEY_NOT_FOUND);
+
+        // txn_index
+        std::string index_key = txn_index_key({mock_instance, txn_id});
+        std::string index_val;
+        ASSERT_EQ(txn->get(index_key, &index_val), TxnErrorCode::TXN_OK);
+        TxnIndexPB txn_index;
+        txn_index.ParseFromString(index_val);
+        ASSERT_TRUE(txn_index.has_tablet_index());
+
+        index_key = txn_index_key({mock_instance, sub_txn_id3});
+        ASSERT_EQ(txn->get(index_key, &index_val), TxnErrorCode::TXN_OK);
+        txn_index.ParseFromString(index_val);
+        ASSERT_FALSE(txn_index.has_tablet_index());
+
+        // txn_label
+        std::string label_key = txn_label_key({mock_instance, db_id, label});
+        std::string label_val;
+        ASSERT_EQ(txn->get(label_key, &label_val), TxnErrorCode::TXN_OK);
+
+        label_key = txn_label_key({mock_instance, db_id, label2});
+        ASSERT_EQ(txn->get(label_key, &label_val), 
TxnErrorCode::TXN_KEY_NOT_FOUND);
+
+        // txn_running
+        std::string running_key = txn_running_key({mock_instance, db_id, 
txn_id});
+        std::string running_val;
+        ASSERT_EQ(txn->get(running_key, &running_val), 
TxnErrorCode::TXN_KEY_NOT_FOUND);
+
+        running_key = txn_running_key({mock_instance, db_id, sub_txn_id3});
+        ASSERT_EQ(txn->get(running_key, &running_val), 
TxnErrorCode::TXN_KEY_NOT_FOUND);
+
+        // tmp rowset
+        int64_t ids[] = {txn_id, sub_txn_id1, sub_txn_id2, sub_txn_id3};
+        for (auto id : ids) {
+            MetaRowsetTmpKeyInfo rs_tmp_key_info0 {mock_instance, id, 0};
+            MetaRowsetTmpKeyInfo rs_tmp_key_info1 {mock_instance, id + 1, 0};
+            std::string rs_tmp_key0;
+            std::string rs_tmp_key1;
+            meta_rowset_tmp_key(rs_tmp_key_info0, &rs_tmp_key0);
+            meta_rowset_tmp_key(rs_tmp_key_info1, &rs_tmp_key1);
+            std::unique_ptr<RangeGetIterator> it;
+            ASSERT_EQ(txn->get(rs_tmp_key0, rs_tmp_key1, &it, true), 
TxnErrorCode::TXN_OK);
+            ASSERT_FALSE(it->has_next());
+        }
+
+        // partition version
+        std::string ver_key = partition_version_key({mock_instance, db_id, t2, 
t2_p3});
+        std::string ver_val;
+        ASSERT_EQ(txn->get(ver_key, &ver_val), TxnErrorCode::TXN_OK);
+        VersionPB version;
+        version.ParseFromString(ver_val);
+        ASSERT_EQ(version.version(), 2);
+
+        ver_key = partition_version_key({mock_instance, db_id, t1, t1_p2});
+        ASSERT_EQ(txn->get(ver_key, &ver_val), TxnErrorCode::TXN_OK);
+        version.ParseFromString(ver_val);
+        ASSERT_EQ(version.version(), 2);
+
+        ver_key = partition_version_key({mock_instance, db_id, t1, t1_p1});
+        ASSERT_EQ(txn->get(ver_key, &ver_val), TxnErrorCode::TXN_OK);
+        version.ParseFromString(ver_val);
+        ASSERT_EQ(version.version(), 3);
+
+        // table version
+        std::string table_ver_key = table_version_key({mock_instance, db_id, 
t1});
+        std::string table_ver_val;
+        ASSERT_EQ(txn->get(table_ver_key, &table_ver_val), 
TxnErrorCode::TXN_OK);
+        auto val_int = *reinterpret_cast<const int64_t*>(table_ver_val.data());
+        ASSERT_EQ(val_int, 1);
+
+        table_version_key({mock_instance, db_id, t2});
+        ASSERT_EQ(txn->get(table_ver_key, &table_ver_val), 
TxnErrorCode::TXN_OK);
+        val_int = *reinterpret_cast<const int64_t*>(table_ver_val.data());
+        ASSERT_EQ(val_int, 1);
+    }
+}
+
+TEST(MetaServiceTest, CommitTxnWithSubTxnTest2) {

Review Comment:
   warning: function 'TEST' exceeds recommended size/complexity thresholds 
[readability-function-size]
   ```cpp
   TEST(MetaServiceTest, CommitTxnWithSubTxnTest2) {
   ^
   ```
   <details>
   <summary>Additional context</summary>
   
   **cloud/test/meta_service_test.cpp:1593:** 176 lines including whitespace 
and comments (threshold 80)
   ```cpp
   TEST(MetaServiceTest, CommitTxnWithSubTxnTest2) {
   ^
   ```
   
   </details>
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to