Skip to content

CXXCBC-681: Do not store entire transaction_get_result in staged mutations#757

Merged
DemetrisChr merged 4 commits intocouchbase:mainfrom
DemetrisChr:CXXCBC-681-staged-mutation
May 7, 2025
Merged

CXXCBC-681: Do not store entire transaction_get_result in staged mutations#757
DemetrisChr merged 4 commits intocouchbase:mainfrom
DemetrisChr:CXXCBC-681-staged-mutation

Conversation

@DemetrisChr
Copy link
Copy Markdown
Contributor

Motivation

With ExtReplaceBodyWithXattr we can now avoid storing the staged content inside staged_mutation. We still always include the entire transaction_get_result inside a staged_mutation, which is not needed, as we only use a subset of the fields from the transaction_get_result. Storing those fields directly (similar to Go or Java), will allow us to further reduce the memory used for staged mutations.

Changes

  • Remove the transaction_get_result from staged_mutation
  • Add the individual fields, which were previously part of transaction_get_result that we need directly into the staged_mutation

@DemetrisChr DemetrisChr marked this pull request as ready for review April 29, 2025 13:05
Copy link
Copy Markdown
Member

@avsej avsej left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of small nitpicks but good in general. Thanks

@DemetrisChr DemetrisChr merged commit f74d5d2 into couchbase:main May 7, 2025
24 of 27 checks passed
@DemetrisChr DemetrisChr deleted the CXXCBC-681-staged-mutation branch May 7, 2025 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants