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

schrodinger/bank2 failure in the master branch #3098

Closed
JaySon-Huang opened this issue Sep 16, 2021 · 4 comments · Fixed by #3112
Closed

schrodinger/bank2 failure in the master branch #3098

JaySon-Huang opened this issue Sep 16, 2021 · 4 comments · Fixed by #3112
Assignees
Labels
severity/major type/bug The issue is confirmed as a bug.

Comments

@JaySon-Huang
Copy link
Contributor

JaySon-Huang commented Sep 16, 2021

It may be introduced by #2704

http://172.16.4.180:31714/workflows/test-store/tipocket-debug-tiflash-jrck4?tab=workflow&nodeId=tipocket-debug-tiflash-jrck4&nodePanelView=inputs-outputs

@JaySon-Huang JaySon-Huang self-assigned this Sep 16, 2021
@JaySon-Huang JaySon-Huang added the type/bug The issue is confirmed as a bug. label Sep 16, 2021
@JaySon-Huang
Copy link
Contributor Author

Blocked by pingcap/tidb#28096, will try to use an older TiDB version.

@JaySon-Huang
Copy link
Contributor Author

The reason is:

@JaySon-Huang
Copy link
Contributor Author

release-5.0/5.1/5.2 are also suffered from a similar bug, but it is less likely to happen since those versions check tmt.checkRunning after each Region->waitIndex
But still, there could be a chance those versions produce inconsistent query results right after restarts:

@solotzg
Copy link
Contributor

solotzg commented Sep 18, 2021

To fix such problem we should change https://github.com/pingcap/tics/blob/84cf3607b4d769920a5d460c4d58ccd097884a80/dbms/src/Storages/Transaction/LearnerRead.cpp#L213-L218

to

        const auto & make_default_batch_read_index_result = [&](bool with_region_error) {
            for (const auto & req : batch_read_index_req)
            {
                auto resp = kvrpcpb::ReadIndexResponse();
                if (with_region_error)
                    resp.mutable_region_error();
                batch_read_index_result.emplace(req.context().region_id(), std::move(resp));
            }
        };

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

Successfully merging a pull request may close this issue.

3 participants