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

Feature: systematic chunks recovery #2177

Merged
merged 39 commits into from
Aug 22, 2024
Merged

Conversation

xDimon
Copy link
Member

@xDimon xDimon commented Aug 7, 2024

Referenced issues

Resolves #2135
Resolves #2146

Description of the Change

Refactored existing recovery: "full from bakers" and "regular chunks"
Added new strategy: "systematic chunks"

Possible Drawbacks

Possible breaking changes. Need to test on real network

Checklist Before Opening a PR

Before you open a Pull Request (PR), please make sure you've completed the following steps and confirm by answering 'Yes' to each item:

  1. Code is formatted: Have you run your code through clang-format to ensure it adheres to the project's coding standards? Yes
  2. Code is documented: Have you added comments and documentation to your code according to the guidelines in the project's contributing guidelines? Yes
  3. Self-review: Have you reviewed your own code to ensure it is free of typos, syntax errors, logical errors, and unresolved TODOs or FIXME without linking to an issue? Yes
  4. Zombienet Tests: Have you ensured that the zombienet tests are passing? Zombienet is a network simulation and testing tool used in this project. It's important to ensure that these tests pass to maintain the stability and reliability of the project. No (not affected yet)

@xDimon xDimon force-pushed the feature/systematic_chunks_recovery branch from c095a70 to 4bdf2fb Compare August 7, 2024 22:01
@xDimon xDimon requested review from turuslan and iceseer August 7, 2024 22:03
core/parachain/availability/chunks.hpp Outdated Show resolved Hide resolved
core/parachain/availability/recovery/recovery_impl.hpp Outdated Show resolved Hide resolved
candidate_hash, std::move(response_res), cb);
}
});
} break;
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
} break;
break;
}

Copy link
Member Author

Choose a reason for hiding this comment

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

It's changed by clang-format. Why not? Looks good by my opinion

xDimon and others added 15 commits August 16, 2024 14:53
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: iceseer <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
@xDimon xDimon force-pushed the feature/systematic_chunks_recovery branch from be9794f to f0f1829 Compare August 16, 2024 12:31
@qdrvm qdrvm deleted a comment from turuslan Aug 16, 2024
@qdrvm qdrvm deleted a comment from turuslan Aug 16, 2024
@qdrvm qdrvm deleted a comment from turuslan Aug 16, 2024
@qdrvm qdrvm deleted a comment from turuslan Aug 16, 2024
@qdrvm qdrvm deleted a comment from turuslan Aug 16, 2024
@qdrvm qdrvm deleted a comment from turuslan Aug 16, 2024
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
@xDimon xDimon marked this pull request as ready for review August 16, 2024 13:09
@xDimon xDimon requested a review from turuslan August 16, 2024 13:10
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
xDimon and others added 9 commits August 19, 2024 10:45
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
@zerg-su zerg-su force-pushed the feature/systematic_chunks_recovery branch from f07545a to fe083f2 Compare August 21, 2024 06:55
@zerg-su zerg-su force-pushed the feature/systematic_chunks_recovery branch 3 times, most recently from 676b4e5 to 657e4eb Compare August 21, 2024 07:39
@zerg-su zerg-su force-pushed the feature/systematic_chunks_recovery branch 2 times, most recently from 8b7c4fd to 2f76d6f Compare August 21, 2024 08:55
@zerg-su zerg-su force-pushed the feature/systematic_chunks_recovery branch from 2f76d6f to 7797060 Compare August 21, 2024 09:06
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
#define incFullRecoveriesFinished(strategy, result) \
do { \
[&] { \
Copy link
Contributor

Choose a reason for hiding this comment

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

do { ... } while (false) was used for correct semicolon after statement.
https://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html

Copy link
Member Author

@xDimon xDimon Aug 22, 2024

Choose a reason for hiding this comment

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

Temporary-lambda call does the same, but pass clang-tidy rule cppcoreguidelines-avoid-do-while

@xDimon xDimon enabled auto-merge (squash) August 22, 2024 09:53
@xDimon xDimon merged commit 64162f3 into master Aug 22, 2024
13 checks passed
@xDimon xDimon deleted the feature/systematic_chunks_recovery branch August 22, 2024 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants