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

[DocDB] Remove intent_doc_ht control field from packed column value #16650

Closed
1 task done
spolitov opened this issue Apr 2, 2023 · 0 comments
Closed
1 task done

[DocDB] Remove intent_doc_ht control field from packed column value #16650

spolitov opened this issue Apr 2, 2023 · 0 comments
Assignees
Labels
2.16 Backport Required area/docdb YugabyteDB core features kind/bug This issue is a bug priority/medium Medium priority issue

Comments

@spolitov
Copy link
Contributor

spolitov commented Apr 2, 2023

Jira Link: DB-6033

Description

When we apply value from transaction, it contains intent_doc_ht control field.
This field is used to decrease probability of read restart.
And when value goes out of retention period, we remove this field.
Since it is important only for recent data.
Also this field has special handling, it is being analysed only by intent aware iterator w/o decoding full value.
But when packed row is enabled, instead of removing this field during compaction, we just use original value with control fields as the part of packed row.
So this field will live there forever.
Increasing DB size and decreasing performance.

Warning: Please confirm that this issue does not contain any sensitive information

  • I confirm this issue does not contain any sensitive information.
@spolitov spolitov added area/docdb YugabyteDB core features status/awaiting-triage Issue awaiting triage labels Apr 2, 2023
@spolitov spolitov self-assigned this Apr 2, 2023
@yugabyte-ci yugabyte-ci added kind/bug This issue is a bug priority/medium Medium priority issue and removed status/awaiting-triage Issue awaiting triage labels Apr 2, 2023
spolitov added a commit that referenced this issue Apr 4, 2023
… value

Summary:
When we apply value from transaction, it contains intent_doc_ht control field.
This field is used to decrease probability of read restart.
And when value goes out of retention period, we remove this field.
Since it is important only for recent data.
Also this field has special handling, it is being analysed only by intent aware iterator w/o decoding full value.
But when packed row is enabled, instead of removing this field during compaction, we just use original value with control fields as the part of packed row.
So this field will live there forever.
Increasing DB size and decreasing performance.

Fixed by cleaning intent doc ht in the scenario above.

Test Plan: PgPackedRowTest.CleanupIntentDocHt

Reviewers: bogdan, qhu, rthallam

Reviewed By: rthallam

Subscribers: ybase

Differential Revision: https://phabricator.dev.yugabyte.com/D24081
premkumr pushed a commit to premkumr/yugabyte-db that referenced this issue Apr 10, 2023
…d column value

Summary:
When we apply value from transaction, it contains intent_doc_ht control field.
This field is used to decrease probability of read restart.
And when value goes out of retention period, we remove this field.
Since it is important only for recent data.
Also this field has special handling, it is being analysed only by intent aware iterator w/o decoding full value.
But when packed row is enabled, instead of removing this field during compaction, we just use original value with control fields as the part of packed row.
So this field will live there forever.
Increasing DB size and decreasing performance.

Fixed by cleaning intent doc ht in the scenario above.

Test Plan: PgPackedRowTest.CleanupIntentDocHt

Reviewers: bogdan, qhu, rthallam

Reviewed By: rthallam

Subscribers: ybase

Differential Revision: https://phabricator.dev.yugabyte.com/D24081
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.16 Backport Required area/docdb YugabyteDB core features kind/bug This issue is a bug priority/medium Medium priority issue
Projects
None yet
Development

No branches or pull requests

3 participants