@@ -540,11 +540,7 @@ syncToFork logger serviceEnv hints forkInfo = do
540540 Checkpointer. setConsensusState sql forkInfo. _forkInfoTargetState
541541 return (mempty , mempty , forkInfo. _forkInfoTargetState)
542542 else do
543- -- check if some past block had the target as its parent; if so, that
544- -- means we can rewind to it
545- --
546- -- FIXME: why the parent? Why not the block itself?
547- --
543+ -- check if the target is in our history
548544 latestBlockRewindable <-
549545 isJust <$> Checkpointer. lookupBlockHash sql (_latestBlockHash forkInfo. _forkInfoTargetState)
550546
@@ -558,18 +554,11 @@ syncToFork logger serviceEnv hints forkInfo = do
558554 Checkpointer. setConsensusState sql forkInfo. _forkInfoTargetState
559555 return (rewoundTxs, mempty , forkInfo. _forkInfoTargetState)
560556 else do
561- let traceBlockHashesAscending =
557+ let traceBlockHashesAscending = _forkInfoTraceBlockHashes forkInfo
562558
563- -- Why do we drop the first entry? That seems fishy.
564- drop 1 (unwrapParent . _evaluationCtxRankedParentHash <$> forkInfo. _forkInfoTrace) <>
565- [_syncStateRankedBlockHash forkInfo. _forkInfoTargetState. _consensusStateLatest]
566-
567- -- FIXME: we sometimes get stuck in a loop with a fork into trace
568- -- that is too short, i.e. the forkpoint is too far ahead.
569-
570- logFunctionText logger Debug $ " playing blocks"
559+ logFunctionText logger Debug $ " playing blocks from fork info trace"
571560 <> " ; from: " <> brief pactConsensusState
572- <> " ; target: " <> brief forkInfo . _forkInfoTargetState
561+ <> " ; target: " <> brief ( _forkInfoTargetState forkInfo)
573562 <> " ; trace: " <> brief traceBlockHashesAscending
574563
575564 findForkChainAscending (reverse $ zip forkInfo. _forkInfoTrace traceBlockHashesAscending) >>= \ case
@@ -595,7 +584,9 @@ syncToFork logger serviceEnv hints forkInfo = do
595584
596585 let unknownPayloads = NEL. filter (isNothing . snd ) knownPayloads
597586 unless (null unknownPayloads)
598- $ logFunctionText logger Debug $ " unknown blocks in context: " <> sshow (length unknownPayloads)
587+ $ logFunctionText logger Debug $ " unknown blocks in context"
588+ <> " ; count: " <> sshow (length unknownPayloads)
589+ <> " ; hashes: " <> brief (snd . fst <$> unknownPayloads)
599590
600591 runnableBlocks <- forM knownPayloads $ \ ((evalCtx, rankedBHash), maybePayload) -> do
601592 logFunctionText logger Debug $ " running block: " <> brief rankedBHash
0 commit comments