Skip to content

Conversation

@szetszwo
Copy link
Contributor

@szetszwo szetszwo commented Dec 8, 2023

What changes were proposed in this pull request?

Today DataNode deserializes request proto at every callback method: applyTransaction, applyTransaction, writeTransaction, readTransaction.

For a transaction, the deserialzation happens more than 5 times (readTransaction happens twice for leader)

It's super expensive. We should deserialize only once during preAppendTransaction() which takes place in parallel.

What is the link to the Apache JIRA

HDDS-9365

How was this patch tested?

Existing unit tests.

@jojochuang jojochuang self-requested a review December 8, 2023 23:41
Copy link
Contributor

@jojochuang jojochuang left a comment

Choose a reason for hiding this comment

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

LGTM

@jojochuang
Copy link
Contributor

Looks like the PR fails the acceptance tests consecutively. @szetszwo can you check again?

@szetszwo
Copy link
Contributor Author

The test failures were due to the context is not created in follower. Just have updated the code to see if it can pass the tests.

@szetszwo
Copy link
Contributor Author

@jojochuang , it can pass the tests now. Please take a look again. Thanks.

@szetszwo szetszwo requested a review from jojochuang December 12, 2023 18:42
Copy link
Contributor

@jojochuang jojochuang left a comment

Choose a reason for hiding this comment

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

Looks great!

@szetszwo szetszwo merged commit b89ef43 into apache:master Dec 13, 2023
@jojochuang jojochuang added the hbase HBase on Ozone support label Jan 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hbase HBase on Ozone support

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants