Fix custody context initialization race condition that caused panic #8391
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue Addressed
Take 2 of #8390.
Fixes the race condition properly instead of propagating the error. I think this is a better alternative, and doesn't seem to look that bad.
Proposed Changes
NetworkServicestartup to theClientBuilder, so that it can be used to compute custody columns for the beacon chain without waiting for Network bootstrap.I've considered and implemented a few alternatives:
node_idto beacon chain builder and compute columns when creatingCustodyContext. This approach isn't good for separation of concerns and isn't great for testabilityordered_custody_groupsto beacon chain.CustodyContextonly uses this to compute ordered custody columns, so we might as well lift this logic out, so we don't have to do error handling inCustodyContextconstruction. Less tests to update;.