-
Notifications
You must be signed in to change notification settings - Fork 482
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
PS-7657 crash seen with update query on a partition table having comp… #4284
Conversation
d81683f
to
5dd253a
Compare
5dd253a
to
d555618
Compare
82d93e1
to
7f596d8
Compare
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.
LGTM! minor suggestions
mysql-test/suite/rpl/t/rpl_update_partitioned_table_with_compressed_column.test
Outdated
Show resolved
Hide resolved
mysql-test/suite/rpl/t/rpl_update_partitioned_table_with_compressed_column.test
Outdated
Show resolved
Hide resolved
7f596d8
to
cb62982
Compare
mysql-test/suite/rpl/t/rpl_update_partitioned_table_with_compressed_column.test
Outdated
Show resolved
Hide resolved
mysql-test/suite/rpl/t/rpl_update_partitioned_table_with_compressed_column.test
Outdated
Show resolved
Hide resolved
cb62982
to
925e59e
Compare
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.
- Please fix GitHub description
- Please add Jenkins link as a comment
…ressed column https://jira.percona.com/browse/PS-7657 Analysis : Update statements execution flow on tables with partitions by key and having compressed column: 1.First it searches for the row and positions the cursor (the blob is decompressed and stored in blob_heap and record is returned to server) 2. Builds new row and then calls update(old_row, new_row). Since the blob field doesn't change, the blob from old row is stored in the new row (mysql record) 3. Parition hanlder detects that the updated row should be in different partition 4. Insert the new row in new parition. During insertion, we empty the blob heap. This releases the blocks used by blob and corrupts the blob data in new row 5. So we end up inserting garbage to the new partition after the update Fix : Avoided prebuilt->compress_heap from being empty till it's required
925e59e
to
59cb3d5
Compare
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.
Thank you for addressing the review comments. The patch looks good and is approved from my side. But please wait for @satya-bodapati for the final approval.
…ressed column
PS-7657 crash seen with update query on a partition table having compressed column