Skip to content

Commit 8707ffc

Browse files
authored
PLT-8883 Fix rollbacks and memory issues due to accumulation of ExtLedgerStates (#267)
1 parent 75fcc5d commit 8707ffc

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

marconi-cardano-indexers/src/Marconi/Cardano/Indexers/ExtLedgerStateCoordinator.hs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -362,13 +362,10 @@ instance
362362
then blockIndexer (Core.index $ Core.Timed point $ Just blockInMode')
363363
else pure
364364
indexer'' <-
365-
if snapshotTime || isNewEpoch
366-
then
367-
pure . resetOnSnapshot
368-
<=< snapshotLedgerState
369-
<=< snapshotBlock
370-
$ indexer'
371-
else pure indexer'
365+
pure . resetOnSnapshot
366+
<=< snapshotLedgerState
367+
<=< snapshotBlock
368+
$ indexer'
372369
Core.indexVia coordinator timedEvent indexer''
373370

374371
rollback point =
@@ -593,7 +590,7 @@ buildExtLedgerStateEventIndexer codecConfig securityParam' path = do
593590
_ -> init immutableEvents
594591
Core.mkFileIndexer
595592
path
596-
(Just 180_000_000) -- Wait 180s for files to finish writing before terminating
593+
Nothing -- (Just 180_000_000) -- Wait 180s for files to finish writing before terminating
597594
(Core.FileStorageConfig False immutableEpochs (comparing (Down . metadataBlockNo)))
598595
(Core.FileBuilder "epochState" "cbor" metadataAsText serialiseLedgerState serialisePoint)
599596
( Core.EventBuilder
@@ -663,7 +660,7 @@ buildBlockIndexer codecConfig securityParam' path = do
663660
Just v -> pure v
664661
Core.mkFileIndexer
665662
path
666-
(Just 60_000_000) -- Wait 60s for files to finish writing before terminating
663+
Nothing -- (Just 60_000_000) -- Wait 60s for files to finish writing before terminating
667664
(Core.FileStorageConfig False immutableBlocks (comparing metadataBlockNo))
668665
( Core.FileBuilder
669666
"block"

marconi-chain-index/src/Marconi/ChainIndex/Run.hs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import Data.Void (Void)
2121
import Marconi.Cardano.Core.Logger (defaultStdOutLogger, mkMarconiTrace)
2222
import Marconi.Cardano.Core.Node.Client.Retry (withNodeConnectRetry)
2323
import Marconi.Cardano.Core.Runner qualified as Runner
24-
import Marconi.Cardano.Core.Types (TargetAddresses)
24+
import Marconi.Cardano.Core.Types (SecurityParam (SecurityParam), TargetAddresses)
2525
import Marconi.Cardano.Indexers (buildIndexers)
2626
import Marconi.Cardano.Indexers.MintTokenEvent qualified as MintTokenEvent
2727
import Marconi.Cardano.Indexers.Utxo qualified as Utxo
@@ -69,8 +69,7 @@ run appName = withGracefulTermination_ $ do
6969
createDirectoryIfMissing True (Cli.optionsDbPath o)
7070

7171
let batchSize = 5000
72-
stopCatchupDistance = 100
73-
volatileEpochStateSnapshotInterval = 100
72+
volatileEpochStateSnapshotInterval = 1000
7473
filteredAddresses = shelleyAddressesToAddressAny $ Cli.optionsTargetAddresses o
7574
filteredAssetIds = Cli.optionsTargetAssets o
7675
includeScript = not $ Cli.optionsDisableScript o
@@ -111,6 +110,8 @@ run appName = withGracefulTermination_ $ do
111110
Utils.toException $
112111
Utils.querySecurityParam @Void networkId socketPath
113112

113+
let SecurityParam stopCatchupDistance = securityParam
114+
114115
mindexers <-
115116
runExceptT $
116117
buildIndexers

0 commit comments

Comments
 (0)