@@ -24,10 +24,11 @@ import qualified System.Random as Random
24
24
25
25
validateEpochBlockTxs :: IO ()
26
26
validateEpochBlockTxs = do
27
+ fullySynced <- runDbNoLogging queryIsFullySynced
27
28
mLatestEpoch <- runDbNoLogging queryLatestCachedEpochNo
28
29
case mLatestEpoch of
29
30
Nothing -> putStrLn " Epoch table is empty"
30
- Just latest -> validateLatestBlockTxs latest
31
+ Just latest -> validateLatestBlockTxs fullySynced latest
31
32
32
33
-- -----------------------------------------------------------------------------
33
34
@@ -37,10 +38,15 @@ data ValidateError = ValidateError
37
38
, veTxCountExpected :: ! Word64
38
39
}
39
40
40
- validateLatestBlockTxs :: Word64 -> IO ()
41
- validateLatestBlockTxs latestEpoch = do
42
- validateBlockTxs latestEpoch
43
- validateBlockTxs =<< Random. randomRIO (0 , latestEpoch - 1 )
41
+ validateLatestBlockTxs :: Bool -> Word64 -> IO ()
42
+ validateLatestBlockTxs fullySynced latestEpoch = do
43
+ if not fullySynced
44
+ then putStrLn " Not fully synced so not running BlockTx validation"
45
+ else do
46
+ -- This validation seems to be quite DB intensive, so only run it
47
+ -- when the DB is fully synced.
48
+ validateBlockTxs latestEpoch
49
+ validateBlockTxs =<< Random. randomRIO (0 , latestEpoch - 1 )
44
50
45
51
validateBlockTxs :: Word64 -> IO ()
46
52
validateBlockTxs epoch = do
0 commit comments