Skip to content

Commit 03ca8f1

Browse files
authored
Merge pull request #1877 from IntersectMBO/1847-Rollbacks-in-conway
1847 - add logging to Rollbacks
2 parents b46803e + 32f6a5f commit 03ca8f1

File tree

10 files changed

+392
-193
lines changed

10 files changed

+392
-193
lines changed

cardano-db-sync/app/cardano-db-sync.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ pRunDbSyncNode = do
110110
<*> pHasInOut
111111
<*> pure 500
112112
<*> pure 10000
113-
<*> optional pSlotNo
113+
<*> optional pRollbackSlotNo
114114

115115
pConfigFile :: Parser ConfigFile
116116
pConfigFile =
@@ -210,8 +210,8 @@ pSocketPath =
210210
<> Opt.metavar "FILEPATH"
211211
)
212212

213-
pSlotNo :: Parser SlotNo
214-
pSlotNo =
213+
pRollbackSlotNo :: Parser SlotNo
214+
pRollbackSlotNo =
215215
SlotNo
216216
<$> Opt.option
217217
Opt.auto

cardano-db-sync/src/Cardano/DbSync/Api.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ module Cardano.DbSync.Api (
3030
whenConsumeOrPruneTxOut,
3131
whenPruneTxOut,
3232
getTxOutTableType,
33+
getPruneConsume,
3334
getHasConsumedOrPruneTxOut,
3435
getSkipTxIn,
3536
getPrunes,

cardano-db-sync/src/Cardano/DbSync/Rollback.hs

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module Cardano.DbSync.Rollback (
99
unsafeRollback,
1010
) where
1111

12-
import Cardano.BM.Trace (Trace, logInfo)
12+
import Cardano.BM.Trace (Trace, logInfo, logWarning)
1313
import qualified Cardano.Db as DB
1414
import Cardano.DbSync.Api
1515
import Cardano.DbSync.Api.Types (SyncEnv (..))
@@ -48,17 +48,7 @@ rollbackFromBlockNo syncEnv blkNo = do
4848
, textShow blkNo
4949
]
5050
lift $ do
51-
(mTxId, deletedBlockCount) <- DB.deleteBlocksBlockId trce txOutTable blockId
52-
whenConsumeOrPruneTxOut syncEnv $
53-
DB.querySetNullTxOut trce txOutTable mTxId
54-
DB.deleteEpochRows epochNo
55-
DB.deleteDrepDistr epochNo
56-
DB.deleteRewardRest epochNo
57-
DB.deletePoolStat epochNo
58-
DB.setNullEnacted epochNo
59-
DB.setNullRatified epochNo
60-
DB.setNullDropped epochNo
61-
DB.setNullExpired epochNo
51+
deletedBlockCount <- DB.deleteBlocksBlockId trce txOutTableType blockId epochNo (Just (DB.pcmConsumedTxOut $ getPruneConsume syncEnv))
6252
when (deletedBlockCount > 0) $ do
6353
-- We use custom constraints to improve input speeds when syncing.
6454
-- If they don't already exists we add them here as once a rollback has happened
@@ -71,7 +61,7 @@ rollbackFromBlockNo syncEnv blkNo = do
7161
where
7262
trce = getTrace syncEnv
7363
cache = envCache syncEnv
74-
txOutTable = getTxOutTableType syncEnv
64+
txOutTableType = getTxOutTableType syncEnv
7565

7666
prepareRollback :: SyncEnv -> CardanoPoint -> Tip CardanoBlock -> IO (Either SyncNodeError Bool)
7767
prepareRollback syncEnv point serverTip =
@@ -120,5 +110,5 @@ prepareRollback syncEnv point serverTip =
120110
-- For testing and debugging.
121111
unsafeRollback :: Trace IO Text -> DB.TxOutTableType -> DB.PGConfig -> SlotNo -> IO (Either SyncNodeError ())
122112
unsafeRollback trce txOutTableType config slotNo = do
123-
logInfo trce $ "Forced rollback to slot " <> textShow (unSlotNo slotNo)
124-
Right <$> DB.runDbNoLogging (DB.PGPassCached config) (void $ DB.deleteBlocksSlotNo trce txOutTableType slotNo)
113+
logWarning trce $ "Starting a forced rollback to slot: " <> textShow (unSlotNo slotNo)
114+
Right <$> DB.runDbNoLogging (DB.PGPassCached config) (void $ DB.deleteBlocksSlotNo trce txOutTableType slotNo Nothing)

0 commit comments

Comments
 (0)