pingcap / tiflash

The analytical engine for TiDB and TiDB Cloud. Try free: https://tidbcloud.com/free-trial
https://docs.pingcap.com/tidb/stable/tiflash-overview
Apache License 2.0
937 stars 409 forks source link

Storages: Fix returned column types may not match in late-materialization (#9176) #9182

Closed ti-chi-bot closed 1 week ago

ti-chi-bot commented 2 weeks ago

This is an automated cherry-pick of #9176

What problem does this PR solve?

Issue Number: close #9175

Problem Summary: #9175

What is changed and how it works?

+------------------------+---------+--------------+---------------+--------------------------------------------------------------------+
| id                     | estRows | task         | access object | operator info                                                      |
+------------------------+---------+--------------+---------------+--------------------------------------------------------------------+
| TableReader_13         | 128.00  | root         |               | MppVersion: 2, data:ExchangeSender_12                              |
| └─ExchangeSender_12    | 128.00  | mpp[tiflash] |               | ExchangeType: PassThrough                                          |
|   └─Projection_5       | 128.00  | mpp[tiflash] |               | hour(test.t.a)->Column#4, test.t.i                                 |
|     └─TableFullScan_10 | 128.00  | mpp[tiflash] | table:t       | pushed down filter:eq(test.t.a, 24:11:11.123500), keep order:false |
+------------------------+---------+--------------+---------------+--------------------------------------------------------------------+

Check List

Tests

Side effects

Documentation

Release note

Fix the issue of column types that may not match in late-materialization.
JinheLin commented 1 week ago

/run-all-tests

JinheLin commented 1 week ago
[2024-07-09T04:02:16.351Z] /home/jenkins/agent/workspace/tiflash-build-common/tiflash/dbms/src/Storages/Transaction/tests/gtest_kvstore_fast_add_peer.cpp:235: Failure
[2024-07-09T04:02:16.351Z] Failed
[2024-07-09T04:02:16.351Z] Code: 107. DB::Exception: Cannot open file /tmp-memfs/tiflash-tests/tmp/region_kvs_test/page/write/wal/log_1_0, errno: 2, strerror: No such file or directory
[2024-07-09T04:02:16.351Z] 
[2024-07-09T04:02:16.351Z] Stack trace:
[2024-07-09T04:02:16.351Z] 
[2024-07-09T04:02:16.351Z]        0xff9108e StackTrace::StackTrace() [gtests_dbms+267980942]
[2024-07-09T04:02:16.351Z]        0x4345022 DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) [gtests_dbms+70537250]
[2024-07-09T04:02:16.351Z]        0xd2834aa DB::ErrnoException::ErrnoException(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int) [gtests_dbms+220738730]
[2024-07-09T04:02:16.351Z]        0xfefd9ae DB::throwFromErrno(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int) [gtests_dbms+267377070]
[2024-07-09T04:02:16.351Z]        0xe5bd744 DB::PosixWritableFile::doOpenFile(bool, int, unsigned int) [gtests_dbms+240899908]
[2024-07-09T04:02:16.351Z]        0xe5bd5cd DB::PosixWritableFile::PosixWritableFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, int, unsigned int, std::__1::shared_ptr<DB::WriteLimiter> const&) [gtests_dbms+240899533]
[2024-07-09T04:02:16.351Z]        0xe5b7ed5 DB::PosixWritableFile* std::__1::construct_at<DB::PosixWritableFile, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool&, int&, unsigned int&, std::__1::shared_ptr<DB::WriteLimiter> const&, DB::PosixWritableFile*>(DB::PosixWritableFile*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool&, int&, unsigned int&, std::__1::shared_ptr<DB::WriteLimiter> const&) [gtests_dbms+240877269]
[2024-07-09T04:02:16.351Z]        0xe5b7df5 void std::__1::allocator_traits<std::__1::allocator<DB::PosixWritableFile> >::construct<DB::PosixWritableFile, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool&, int&, unsigned int&, std::__1::shared_ptr<DB::WriteLimiter> const&, void, void>(std::__1::allocator<DB::PosixWritableFile>&, DB::PosixWritableFile*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool&, int&, unsigned int&, std::__1::shared_ptr<DB::WriteLimiter> const&) [gtests_dbms+240877045]
[2024-07-09T04:02:16.352Z]        0xe5b7d21 std::__1::__shared_ptr_emplace<DB::PosixWritableFile, std::__1::allocator<DB::PosixWritableFile> >::__shared_ptr_emplace<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool&, int&, unsigned int&, std::__1::shared_ptr<DB::WriteLimiter> const&>(std::__1::allocator<DB::PosixWritableFile>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool&, int&, unsigned int&, std::__1::shared_ptr<DB::WriteLimiter> const&) [gtests_dbms+240876833]
[2024-07-09T04:02:16.352Z]        0xe5b7bb0 std::__1::shared_ptr<DB::PosixWritableFile> std::__1::allocate_shared<DB::PosixWritableFile, std::__1::allocator<DB::PosixWritableFile>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool&, int&, unsigned int&, std::__1::shared_ptr<DB::WriteLimiter> const&, void>(std::__1::allocator<DB::PosixWritableFile> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool&, int&, unsigned int&, std::__1::shared_ptr<DB::WriteLimiter> const&) [gtests_dbms+240876464]
[2024-07-09T04:02:16.352Z]        0xe5b6972 std::__1::shared_ptr<DB::PosixWritableFile> std::__1::make_shared<DB::PosixWritableFile, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool&, int&, unsigned int&, std::__1::shared_ptr<DB::WriteLimiter> const&, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool&, int&, unsigned int&, std::__1::shared_ptr<DB::WriteLimiter> const&) [gtests_dbms+240871794]
[2024-07-09T04:02:16.352Z]        0xe5b2ade DB::FileProvider::newWritableFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool, bool, std::__1::shared_ptr<DB::WriteLimiter> const&, int, unsigned int) const [gtests_dbms+240855774]
[2024-07-09T04:02:16.352Z]        0xe2d8a8c DB::PS::V3::LogWriter::LogWriter(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<DB::FileProvider> const&, unsigned long, bool, bool) [gtests_dbms+237865612]
[2024-07-09T04:02:16.352Z]        0xe2c06c7 std::__1::__unique_if<DB::PS::V3::LogWriter>::__unique_single std::__1::make_unique<DB::PS::V3::LogWriter, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::shared_ptr<DB::FileProvider>&, unsigned long const&, bool, bool&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::shared_ptr<DB::FileProvider>&, unsigned long const&, bool&&, bool&) [gtests_dbms+237766343]
[2024-07-09T04:02:16.352Z]        0xe2bc800 DB::PS::V3::WALStore::createLogWriter(std::__1::pair<unsigned long, unsigned long> const&, bool) [gtests_dbms+237750272]
[2024-07-09T04:02:16.352Z]        0xe2bc1b0 DB::PS::V3::WALStore::rollToNewLogWriter(std::__1::lock_guard<std::__1::mutex> const&) [gtests_dbms+237748656]
[2024-07-09T04:02:16.352Z]        0xe2bc0c1 DB::PS::V3::WALStore::apply(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::shared_ptr<DB::WriteLimiter> const&) [gtests_dbms+237748417]
[2024-07-09T04:02:16.352Z]        0xe26a4ba DB::PS::V3::PageDirectory<DB::PS::V3::universal::PageDirectoryTrait>::apply(DB::PS::V3::PageEntriesEdit<DB::UniversalPageId>&&, std::__1::shared_ptr<DB::WriteLimiter> const&) [gtests_dbms+237413562]
[2024-07-09T04:02:16.352Z]        0xe30f595 DB::UniversalPageStorage::write(DB::UniversalWriteBatch&&, std::__1::shared_ptr<DB::WriteLimiter> const&) const [gtests_dbms+238089621]
[2024-07-09T04:02:16.352Z]        0x73713f0 DB::tests::persistAfterWrite(DB::Context&, DB::KVStore&, std::__1::unique_ptr<DB::MockRaftStoreProxy, std::__1::default_delete<DB::MockRaftStoreProxy> >&, std::__1::shared_ptr<DB::UniversalPageStorage>, unsigned long, unsigned long) [gtests_dbms+121050096]
[2024-07-09T04:02:16.352Z]        0x7371d01 DB::tests::RegionKVStoreTestFAP_RestoreRaftState_Test::TestBody() [gtests_dbms+121052417]
[2024-07-09T04:02:16.352Z]        0xd63a8eb void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) [gtests_dbms+224635115]
[2024-07-09T04:02:16.352Z]        0xd627d4a void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) [gtests_dbms+224558410]
[2024-07-09T04:02:16.352Z]        0xd60d29c testing::Test::Run() [gtests_dbms+224449180]
[2024-07-09T04:02:16.352Z]        0xd60ddba testing::TestInfo::Run() [gtests_dbms+224452026]
[2024-07-09T04:02:16.352Z]        0xd60e373 testing::TestCase::Run() [gtests_dbms+224453491]
[2024-07-09T04:02:16.352Z]        0xd618523 testing::internal::UnitTestImpl::RunAllTests() [gtests_dbms+224494883]
[2024-07-09T04:02:16.352Z]        0xd63e11b bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) [gtests_dbms+224649499]
[2024-07-09T04:02:16.353Z]        0xd629d8a bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) [gtests_dbms+224566666]
[2024-07-09T04:02:16.353Z]        0xd618236 testing::UnitTest::Run() [gtests_dbms+224494134]
[2024-07-09T04:02:16.353Z]        0x754f921 RUN_ALL_TESTS() [gtests_dbms+123009313]
[2024-07-09T04:02:16.353Z]        0x754bd52 main [gtests_dbms+122994002]
[2024-07-09T04:02:16.353Z] 
[2024-07-09T04:02:16.353Z] [  FAILED  ] RegionKVStoreTestFAP.RestoreRaftState (152 ms)
[2024-07-09T04:02:16.353Z] [----------] 1 test from RegionKVStoreTestFAP (152 ms total)
[2024-07-09T04:02:16.353Z] 
[2024-07-09T04:02:16.353Z] [----------] Global test environment tear-down
[2024-07-09T04:02:16.353Z] [==========] 1 test from 1 test case ran. (153 ms total)
[2024-07-09T04:02:16.353Z] [  PASSED  ] 0 tests.
[2024-07-09T04:02:16.353Z] [  FAILED  ] 1 test, listed below:
[2024-07-09T04:02:16.353Z] [  FAILED  ] RegionKVStoreTestFAP.RestoreRaftState
[2024-07-09T04:02:16.353Z] 
[2024-07-09T04:02:16.353Z]  1 FAILED TEST
JinheLin commented 1 week ago

/run-unit-test

ti-chi-bot[bot] commented 1 week ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: JinheLin, Lloyd-Pottiger

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[OWNERS](https://github.com/pingcap/tiflash/blob/release-7.1/OWNERS)~~ [JinheLin,Lloyd-Pottiger] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
ti-chi-bot[bot] commented 1 week ago

[LGTM Timeline notifier]

Timeline:

Lloyd-Pottiger commented 1 week ago

/run-all-tests