-
Notifications
You must be signed in to change notification settings - Fork 0
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
Acceptance DAS test + DAS fixes #179
base: das
Are you sure you want to change the base?
Conversation
Relates to #164 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test looks good and checks the data according to its purpose but I have some questions regarding implementation
@@ -65,7 +65,7 @@ public SafeFuture<InternalValidationResult> onDataColumnSidecarGossip( | |||
return validation.thenPeek( | |||
res -> { | |||
dasGossipLogger.onReceive(dataColumnSidecar, res); | |||
if (res.isAccept()) { | |||
if (res.isAccept() || res.isSaveForFuture()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when it's safe for future there are a lot of checks missing, it's not valid
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, right! Then it complicates things a lot 🤔
Need to think more about it then
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reverted this change and filed a separate issue: #180
createTekuBeaconNode( | ||
createConfigBuilder() | ||
.withRealNetwork() | ||
.withDasExtraCustodySubnetCount(128 - 4) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it will cap it on 128 anyway
i'd replace this to 128 for readability
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it look better this way: 291cf5e ?
lateJoiningNode.start(); | ||
lateJoiningNode.waitForGenesis(); | ||
lateJoiningNode.waitUntilInSyncWith(primaryNode); | ||
lateJoiningNode.waitForEpochAtOrAbove(6); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we need this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have added this to check that sync is not lost after 2 epochs
|
||
int epochSlots = primaryNode.getSpec().slotsPerEpoch(UInt64.ZERO); | ||
int endSlot = 6 * epochSlots; | ||
assertAllBlocksExistWithoutForks( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we need this if they are in sync?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are checking that no blocks missed and no forks happened. Else it would mean that something went not that right
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, nah I'm tolerating empty slots now. Probably worth to rename this method.
But we definitely don't expect forks here as we have just one validator node
@@ -30,6 +30,9 @@ public interface DataColumnSidecarRetriever { | |||
*/ | |||
SafeFuture<DataColumnSidecar> retrieve(DataColumnSlotAndIdentifier columnId); | |||
|
|||
/** Starts all the queued retrieve requests immediately */ | |||
void flush(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure on this way to go. So we just call nextRound on this but it doesn't gurantee that the thing we submitted recently will be executed soon. It could be deep in the queue or whatever.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, probably the javadoc could be more accurate? Or do you have any other approach in mind?
… for Custody to not download it again
…ration to accommodate shorter slot configs (like 2 sec per slot)
… to initiate the sampling without timeout implied by 1s delay in SimpleSidecarRetriever.netRound() loop
291cf5e
to
607aebf
Compare
…rimarily for Custody to not download it again" This reverts commit 916c126.
PR Description
UPD: reverted and created separate issue: When gossiped column is SAVE_FOR_FUTURE, save it #180