diff --git a/beacon-chain/blockchain/receive_block.go b/beacon-chain/blockchain/receive_block.go index 6a55bf2660c..0b4167869ce 100644 --- a/beacon-chain/blockchain/receive_block.go +++ b/beacon-chain/blockchain/receive_block.go @@ -468,6 +468,9 @@ func (s *Service) validateStateTransition(ctx context.Context, preState state.Be stateTransitionStartTime := time.Now() postState, err := transition.ExecuteStateTransition(ctx, preState, signed) if err != nil { + if ctx.Err() != nil { + return nil, err + } return nil, invalidBlock{error: err} } stateTransitionProcessingTime.Observe(float64(time.Since(stateTransitionStartTime).Milliseconds())) diff --git a/changelog/potuz_invalid_context_deadlines.md b/changelog/potuz_invalid_context_deadlines.md new file mode 100644 index 00000000000..5ea643ed73f --- /dev/null +++ b/changelog/potuz_invalid_context_deadlines.md @@ -0,0 +1,3 @@ +### Changed + +- Do not mark blocks as invalid on context deadlines during state transition.