-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
lightning: sample files and pre-allocate rowID before restoring chunk #34288
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
/component lightning |
8d258e8
to
411ba4e
Compare
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/92f2e521694dc63c6ca141cb5a41203396bff86f |
7538611
to
cda79b8
Compare
/run-integration-br-test |
ptal @gozssky |
case mysql.TypeLonglong: | ||
if !isUnsigned { | ||
return rowID > math.MaxInt64 | ||
} | ||
// impossible for rowID exceeding MaxUint64 | ||
return uint64(rowID) > math.MaxUint64 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
case mysql.TypeLonglong: | |
if !isUnsigned { | |
return rowID > math.MaxInt64 | |
} | |
// impossible for rowID exceeding MaxUint64 | |
return uint64(rowID) > math.MaxUint64 |
/hold |
/run-integration-br-test |
/unhold |
This pull request has been accepted and is ready to merge. Commit hash: 5a839c9
|
Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
cherry pick to release-4.0 in PR #35456 |
Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
cherry pick to release-6.0 in PR #35457 |
Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
cherry pick to release-6.1 in PR #35458 |
…ng chunk (pingcap#34288)" This reverts commit 674def3.
…ng chunk (pingcap#34288)" This reverts commit 674def3.
What problem does this PR solve?
Issue Number: close #28776
Problem Summary:
Currently, Lightning pre-allocates rowIDs for each row when populating chunks according to data file sizes. But it occurs that estimates of rowID are now conservatively too large so that Lightning usually pre-allocates a large number of rowIDs, which significantly exceeds what we need. This issue may result in:
auto_increment
field, Lightning is likely to allocate rowIDs that exceed this limit. (e.g.2^31
rows of data may probably have2^32
rowIDs, which exceeds the range ofint32
if theauto_increment
field isint32
)What is changed and how it works?
In this pr, I'm about to:
Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.