Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Logical split is incompatible with PageStorage V3 #5576

Closed
JaySon-Huang opened this issue Aug 9, 2022 · 1 comment
Closed

Logical split is incompatible with PageStorage V3 #5576

JaySon-Huang opened this issue Aug 9, 2022 · 1 comment
Labels
affects-6.2 severity/major type/bug The issue is confirmed as a bug.

Comments

@JaySon-Huang
Copy link
Contributor

JaySon-Huang commented Aug 9, 2022

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

Deploy tiflash with profiles.default.dt_enable_logical_split = 1.
The settings is default to be 0, only happen when user explicitly set the settings (maybe upgrade from a lower version)

2. What did you expect to see? (Required)

TiFlash runs without exceptions

3. What did you see instead (Required)

As a simple example described in #5570. After several logical split, the third time logical split, PageStorage V3 will throw exception.

The exception stack is as below

Code: 0. DB::Exception: Trying to add ref to non-exist page [page_id=1000.998] [ori_id=1000.985] [ver=<6,0>] [resolve_id=1000.951] [resolve_ver=<4,0>]:  [type=2] [page_id=1000.998] [ver=<6,0>] [edit_size=2]
Stack trace:
     0x10db56d34	StackTrace::StackTrace() [gtests_dbms+4510706996]
                	dbms/src/Common/StackTrace.cpp:23
     0x10db56d70	StackTrace::StackTrace() [gtests_dbms+4510707056]
                	dbms/src/Common/StackTrace.cpp:22
     0x100da2530	DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) [gtests_dbms+4295009584]
                	dbms/src/Common/Exception.h:32
     0x100da1638	DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) [gtests_dbms+4295005752]
                	dbms/src/Common/Exception.h:34
     0x10c576bfc	DB::PS::V3::PageDirectory::applyRefEditRecord(std::__1::map<DB::UInt128, std::__1::shared_ptr<DB::PS::V3::VersionedPageEntries>, std::__1::less<DB::UInt128>, std::__1::allocator<std::__1::pair<DB::UInt128 const, std::__1::shared_ptr<DB::PS::V3::VersionedPageEntries> > > >&, std::__1::shared_ptr<DB::PS::V3::VersionedPageEntries> const&, DB::PS::V3::PageEntriesEdit::EditRecord const&, DB::PS::V3::PageVersion const&) [gtests_dbms+4487769084]
                	dbms/src/Storages/Page/V3/PageDirectory.cpp:1027
     0x10c5775d4	DB::PS::V3::PageDirectory::apply(DB::PS::V3::PageEntriesEdit&&, std::__1::shared_ptr<DB::WriteLimiter> const&) [gtests_dbms+4487771604]
                	dbms/src/Storages/Page/V3/PageDirectory.cpp:1106
     0x10c5aa920	DB::PS::V3::PageStorageImpl::writeImpl(DB::WriteBatch&&, std::__1::shared_ptr<DB::WriteLimiter> const&) [gtests_dbms+4487981344]
                	dbms/src/Storages/Page/V3/PageStorageImpl.cpp:110
     0x102d1d258	DB::PageStorage::write(DB::WriteBatch&&, std::__1::shared_ptr<DB::WriteLimiter> const&) [gtests_dbms+4328018520]
                	dbms/src/Storages/Page/PageStorage.h:276

4. What is your TiFlash version? (Required)

06b5da5 @ release-6.2

@JaySon-Huang
Copy link
Contributor Author

JaySon-Huang commented Aug 23, 2022

close as the issue is resolved by #5612

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects-6.2 severity/major type/bug The issue is confirmed as a bug.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants