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

Refactor execution state reads #4152

Merged
merged 26 commits into from
Jun 30, 2023
Merged

Conversation

damip
Copy link
Member

@damip damip commented Jun 26, 2023

Closes #4075

  • removes a few deadlock risks
  • adds efficient prefix search inside datastores
  • adds the query_state atomic state query system to Execution
  • improves db queries

@damip damip marked this pull request as draft June 26, 2023 13:13
@damip damip added the blocked Issues that can't be done for now. label Jun 28, 2023
@damip damip marked this pull request as ready for review June 28, 2023 12:10
@aoudiamoncef
Copy link
Contributor

@damip I have a question about the bindings of the responses to the initial request filters:

Currently, we are just using the order, with this way, we make things simple, but we close the door to parallelisation ?

@damip
Copy link
Member Author

damip commented Jun 28, 2023

@damip I have a question about the bindings of the responses to the initial request filters:

Currently, we are just using the order, with this way, we make things simple, but we close the door to parallelisation ?

Actually we can already parallelize it with the order approach: just run all the requests (they are all read-locking) in parallel, see rayon, then gather all the results and return them in the right order

@damip damip removed the blocked Issues that can't be done for now. label Jun 29, 2023
@damip damip self-assigned this Jun 29, 2023
@damip damip linked an issue Jun 29, 2023 that may be closed by this pull request
@damip
Copy link
Member Author

damip commented Jun 29, 2023

@aoudiamoncef @Leo-Besancon ready for review + merge

Copy link
Collaborator

@Leo-Besancon Leo-Besancon left a comment

Choose a reason for hiding this comment

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

Generally a good refactor! I didn't catch anything critical, but I think during our labnet tests we should check that the pos_state is consistant.

massa-execution-exports/src/types.rs Outdated Show resolved Hide resolved
massa-execution-worker/src/execution.rs Outdated Show resolved Hide resolved
massa-execution-worker/src/execution.rs Outdated Show resolved Hide resolved
massa-pos-exports/src/pos_final_state.rs Show resolved Hide resolved
massa-pos-exports/src/pos_final_state.rs Outdated Show resolved Hide resolved
Copy link
Contributor

@aoudiamoncef aoudiamoncef left a comment

Choose a reason for hiding this comment

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

in API side, LGTM

massa-execution-exports/src/types.rs Outdated Show resolved Hide resolved
@damip
Copy link
Member Author

damip commented Jun 30, 2023

MACOS fails unrelated bootstrap bandwidth tests. I think we can merge

@damip damip merged commit 695a9ea into testnet_24 Jun 30, 2023
@AurelienFT AurelienFT deleted the refactore_sxecution_state_reads branch October 23, 2023 08:52
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.

Redesign Execution queries
3 participants