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

Delete unnecessary code in Client::transfer_object #486

Merged
merged 1 commit into from
Feb 19, 2022

Conversation

lxfind
Copy link
Contributor

@lxfind lxfind commented Feb 18, 2022

We already call process_certificates as part of execute_transaction.
We also already handle deleted object as part of update_objects_from_order_info at the end of transaction execution.
process_certificates should be a private function of AuthorityAggregator instead of public API.

Copy link
Contributor

@huitseeker huitseeker left a comment

Choose a reason for hiding this comment

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

Yup, we might want to open explicit backfilling one day, but that'll be an easy modifier to add then.

@lxfind lxfind merged commit 997143d into main Feb 19, 2022
@lxfind lxfind deleted the cleanup-transfer_object branch February 19, 2022 17:44
mwtian pushed a commit that referenced this pull request Sep 12, 2022
Post #496 and in fact post the oneshot channel changes introduced in #486, the pending table of the Certificate Waiter can be accessed concurrently.

In some cases, our benchmark has revealed that the drop triggered by a call to `clear()` can interact with the `drain()` operation to create a double-send on the same oneshot::Sender, which panics.
(see comments on MystenLabs/narwhal@1474264 for evidence and re-run the bench locally at that commit to repro)

This is now visible, because the GC actually fires more often post #496.

This fixes the benchmark.
mwtian pushed a commit to mwtian/sui that referenced this pull request Sep 29, 2022
Post MystenLabs#496 and in fact post the oneshot channel changes introduced in MystenLabs#486, the pending table of the Certificate Waiter can be accessed concurrently.

In some cases, our benchmark has revealed that the drop triggered by a call to `clear()` can interact with the `drain()` operation to create a double-send on the same oneshot::Sender, which panics.
(see comments on MystenLabs/narwhal@e2762bb for evidence and re-run the bench locally at that commit to repro)

This is now visible, because the GC actually fires more often post MystenLabs#496.

This fixes the benchmark.
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