pingcap / pingcap/tiflash

flaky test: RegionKVStoreTestFAP.Cancel2

Open
#10,936 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

component/storage severity/moderate type/bug
Dominant language
C++
Stars
1k
Forks
423
Avg merge
1d 15h
Merged PRs (30d)
24

Description

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)
2. What did you expect to see? (Required)
3. What did you see instead (Required)

https://prow.tidb.net/jenkins/job/pingcap/job/tiflash/job/pull_unit_next_gen/124/stages/

fap_cancel2.log

[2026/06/26 23:19:21.844 +08:00] [DEBUG] [Ctl.cpp:50] ["Disabled: in_FastAddPeerImplWrite::after_write_segments"] [source=SyncPointCtl] [thread_id=1]
[2026/06/26 23:19:21.844 +08:00] [INFO] [FastAddPeerContext.cpp:172] ["clear FAP task region_id=1 reason=TiFlashCancel"] [thread_id=8]
[2026/06/26 23:19:21.846 +08:00] [DEBUG] [CheckpointIngestInfo.cpp:103] ["Restore segments for checkpoint, remote_segment_id=0 range=[0,1000000) remote_store_id=1234 region_id=1"] [source=CheckpointIngestInfo] [thread_id=8]
[2026/06/26 23:19:21.846 +08:00] [INFO] [CheckpointIngestInfo.cpp:303] ["Erase CheckpointIngestInfo from disk by force, region_id=1 exist=true in_memory=true reason=TiFlashCancel"] [thread_id=8]
[2026/06/26 23:19:21.846 +08:00] [INFO] [CheckpointIngestInfo.cpp:315] ["Finish erase CheckpointIngestInfo from disk by force, region_id=1 exist=true in_memory=true reason=TiFlashCancel"] [thread_id=8]
[2026/06/26 23:19:21.846 +08:00] [DEBUG] [CheckpointIngestInfo.cpp:213] ["Delete segment from local, segment_id=0, page_id=0x746D000000000000001F.0, region_id=1"] [source=CheckpointIngestInfo] [thread_id=8]
[2026/06/26 23:19:21.846 +08:00] [TRACE] [WriteBatchesImpl.h:272] ["Write into removed_log : X0x746C000000000000001F.2"] [thread_id=8]
[2026/06/26 23:19:21.846 +08:00] [TRACE] [WriteBatchesImpl.h:272] ["Write into removed_data : X0x7464000000000000001F.3"] [thread_id=8]
[2026/06/26 23:19:21.847 +08:00] [INFO] [CheckpointIngestInfo.cpp:244] ["Finish clean stale FAP data region_id=1 keyspace=4294967295 table_id=31"] [source=CheckpointIngestInfo] [thread_id=8]
[2026/06/26 23:19:21.848 +08:00] [DEBUG] [FastAddPeerCache.h:76] ["ParsedCheckpointDataHolder destroyed path=/tmp-memfs/tiflash-tests/tmp/138393/page/local_100"] [thread_id=1]
/home/jenkins/agent/workspace/tiflash-build-common/tiflash/dbms/src/Storages/KVStore/tests/gtest_kvstore_fast_add_peer.cpp:813: Failure
Failed
Code: 49. DB::Exception: fail to get normal id, page_id=0x7464000000000000001F.3 seq=16 resolve_id=0x7464000000000000001F.3 resolve_ver=16.0: file_page_id=3 meta_version=0

Stack trace:

  0x581ebf3c7d4e    StackTrace::StackTrace() [gtests_dbms+355642702]
  0x581eafb55d32    DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int) [gtests_dbms+95128882]
  0x581ebcfc4e1b    DB::Exception::Exception<DB::UniversalPageId const&, unsigned long const&, DB::UniversalPageId&, DB::PS::V3::PageVersion&>(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, DB::UniversalPageId const&, unsigned long const&, DB::UniversalPageId&, DB::PS::V3::PageVersion&) [gtests_dbms+317881883]
  0x581ebcfc48b6    DB::PS::V3::PageDirectory<DB::PS::V3::universal::PageDirectoryTrait>::getNormalPageId(DB::UniversalPageId const&, std::__1::shared_ptr<DB::PageStorageSnapshot> const&, bool) const [gtests_dbms+317880502]
  0x581ebd07da59    DB::UniversalPageStorage::getNormalPageId(DB::UniversalPageId const&, std::__1::shared_ptr<DB::PageStorageSnapshot>, bool) const [gtests_dbms+318638681]
  0x581eb9a5870d    DB::DM::restoreDMFileFromRemoteDataSource(DB::DM::DMContext const&, std::__1::shared_ptr<DB::DM::Remote::IDataStore>, unsigned long, unsigned long) [gtests_dbms+261863181]
  0x581eb9a4d86a    DB::DM::StableValueSpace::restore(DB::DM::DMContext&, DB::ReadBuffer&, unsigned long) [gtests_dbms+261818474]
  0x581eba01aa48    DB::CheckpointIngestInfo::restore(DB::TMTContext&, DB::TiFlashRaftProxyHelper const*, unsigned long, unsigned long) [gtests_dbms+267901512]
  0x581eb3211346    DB::tests::RegionKVStoreTestFAP_Cancel2_Test::TestBody()::$_1::operator()() const [gtests_dbms+152519494]
  0x581eb32112aa    void DB::tests::eventuallyPredicateEx<DB::tests::RegionKVStoreTestFAP_Cancel2_Test::TestBody()::$_1, void DB::tests::eventuallyPredicate<DB::tests::RegionKVStoreTestFAP_Cancel2_Test::TestBody()::$_1>(DB::tests::RegionKVStoreTestFAP_Cancel2_Test::TestBody()::$_1)::'lambda'()>(DB::tests::RegionKVStoreTestFAP_Cancel2_Test::TestBody()::$_1, void DB::tests::eventuallyPredicate<DB::tests::RegionKVStoreTestFAP_Cancel2_Test::TestBody()::$_1>(DB::tests::RegionKVStoreTestFAP_Cancel2_Test::TestBody()::$_1)::'lambda'()) [gtests_dbms+152519338]
  0x581eb3201f35    void DB::tests::eventuallyPredicate<DB::tests::RegionKVStoreTestFAP_Cancel2_Test::TestBody()::$_1>(DB::tests::RegionKVStoreTestFAP_Cancel2_Test::TestBody()::$_1) [gtests_dbms+152457013]
  0x581eb3200fc0    DB::tests::RegionKVStoreTestFAP_Cancel2_Test::TestBody() [gtests_dbms+152453056]
  0x581eba14e31b    void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) [gtests_dbms+269161243]
  0x581eba13215a    void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) [gtests_dbms+269046106]
  0x581eba117a96    testing::Test::Run() [gtests_dbms+268937878]
  0x581eba1185a7    testing::TestInfo::Run() [gtests_dbms+268940711]
  0x581eba118b13    testing::TestCase::Run() [gtests_dbms+268942099]
  0x581eba122db4    testing::internal::UnitTestImpl::RunAllTests() [gtests_dbms+268983732]
  0x581eba14e88b    bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) [gtests_dbms+269162635]
  0x581eba133efa    bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) [gtests_dbms+269053690]
  0x581eba122ae5    testing::UnitTest::Run() [gtests_dbms+268983013]
  0x581eb3980391    RUN_ALL_TESTS() [gtests_dbms+160314257]
  0x581eb397c18b    main [gtests_dbms+160297355]
  0x7b8f23b697e5    __libc_start_main [libc.so.6+239589]
  0x581eafb49c6e    _start [gtests_dbms+95079534]

[2026/06/26 23:19:21.849 +08:00] [INFO] [AsyncTasks.h:105] ["Pending 0 tasks when destructing"] [thread_id=1]
[2026/06/26 23:19:21.849 +08:00] [INFO] [AsyncTasks.h:109] ["Finish finalize thread pool"] [thread_id=1]
[2026/06/26 23:19:21.849 +08:00] [WARN] [Context.cpp:1829] ["Release GlobalUniversalPageStorage(WriteNode)."] [source=Context] [thread_id=1]
[2026/06/26 23:19:21.849 +08:00] [DEBUG] [TiFlashTestEnv.cpp:288] ["Created bucket mockbucket"] [source="bucket=mockbucket root=tiflash_ut/"] [thread_id=1]
[2026/06/26 23:19:21.849 +08:00] [WARN] [TiFlashTestEnv.cpp:336] ["DeleteBucket: :"] [source="bucket=mockbucket root=tiflash_ut/"] [thread_id=1]
[  FAILED  ] RegionKVStoreTestFAP.Cancel2 (725 ms)
[----------] 1 test from RegionKVStoreTestFAP (725 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (726 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] RegionKVStoreTestFAP.Cancel2

 1 FAILED TEST
4. What is your TiFlash version? (Required)

https://github.com/pingcap/tiflash/commit/e2e3922ab99773ffe8e06a212e00d42dc8bb8790

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with dbms/src/Storages/KVStore/tests/gtest_kvstore_fast_add_peer.cpp at line 813 and the RegionKVStoreTestFAP.Cancel2 test. Reproduce the failure and compare it with fap_cancel2.log, focusing on the getNormalPageId error during CheckpointIngestInfo restoration. Done means the test passes reliably without the reported failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.