Repository navigation
fixing flakiness in voting and forked chain tests - #10381
Conversation
| } else { | ||
| } | ||
| else if ( msg.reason == benign_other ) { | ||
| if ( retry ) fc_dlog( logger, "received benign_other reason, retrying to connect"); |
There was a problem hiding this comment.
Note retry here only means immediate retry. It would retry either way.
| votingTallyWindow=120 #could be up to 120 blocks before the votes were tallied | ||
| promotedBlockNum=self.getHeadBlockNum()+votingTallyWindow | ||
| self.waitForIrreversibleBlock(promotedBlockNum, timeout=rounds/2) | ||
| # There was waitForIrreversibleBlock but due to bug it was waiting for head and not lib. |
There was a problem hiding this comment.
Go ahead and fix waitForIrreversibleBlock which should be as simple as changing the default argument. It is fine to leave this as you have it, but should probably update this comment.
There was a problem hiding this comment.
I had fixed it, which is why this is taking longer. He could have extended the test, but since it had never failed before, we presumed it was fine to replace this call with what it had been doing before (unintentionally)
There was a problem hiding this comment.
I'v fine with it using waitForBlock, but we should fix waitForIrreversibleBlock which is still:
def waitForIrreversibleBlock(self, blockNum, timeout=WaitSpec.default(), blockType=BlockType.head):
return self.waitForBlock(blockNum, timeout=timeout, blockType=blockType)
There was a problem hiding this comment.
ahh, what I fixed was waitForBlock to actually honor blockType, I missed that waitForIrreversibleBlock looked like this. Which then makes me wonder why Dmytro's change had any effect.
There was a problem hiding this comment.
@heifner perhaps you are looking at wrong branch.
def waitForIrreversibleBlock(self, blockNum, timeout=WaitSpec.default()):
return self.waitForBlock(blockNum, timeout=timeout, blockType=BlockType.lib)
Change Description
Fixes:
Node.waitForIrreversibleBlockwhere it was waiting for head instead of lib. After fix this increased execution time and lead to timeout fails.go_away_messagebeing sent with statusbenign_otherdue to unknown block requested. Fix adding retry after closing connection.Change Type
Select ONE:
Testing Changes
Select ANY that apply:
Consensus Changes
API Changes
Documentation Additions