Commit a6086c18 authored by Hamdi Allam's avatar Hamdi Allam

log when ignoring duplicates

parent 0cf40464
...@@ -82,7 +82,7 @@ func newBlocksDB(log log.Logger, db *gorm.DB) BlocksDB { ...@@ -82,7 +82,7 @@ func newBlocksDB(log log.Logger, db *gorm.DB) BlocksDB {
func (db *blocksDB) StoreL1BlockHeaders(headers []L1BlockHeader) error { func (db *blocksDB) StoreL1BlockHeaders(headers []L1BlockHeader) error {
deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "hash"}}, DoNothing: true}) deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "hash"}}, DoNothing: true})
result := deduped.CreateInBatches(&headers, batchInsertSize) result := deduped.CreateInBatches(&headers, batchInsertSize)
if result.Error != nil && int(result.RowsAffected) < len(headers) { if result.Error == nil && int(result.RowsAffected) < len(headers) {
db.log.Warn("ignored L1 block duplicates", "duplicates", len(headers)-int(result.RowsAffected)) db.log.Warn("ignored L1 block duplicates", "duplicates", len(headers)-int(result.RowsAffected))
} }
...@@ -125,7 +125,7 @@ func (db *blocksDB) L1LatestBlockHeader() (*L1BlockHeader, error) { ...@@ -125,7 +125,7 @@ func (db *blocksDB) L1LatestBlockHeader() (*L1BlockHeader, error) {
func (db *blocksDB) StoreL2BlockHeaders(headers []L2BlockHeader) error { func (db *blocksDB) StoreL2BlockHeaders(headers []L2BlockHeader) error {
deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "hash"}}, DoNothing: true}) deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "hash"}}, DoNothing: true})
result := deduped.CreateInBatches(&headers, batchInsertSize) result := deduped.CreateInBatches(&headers, batchInsertSize)
if result.Error != nil && int(result.RowsAffected) < len(headers) { if result.Error == nil && int(result.RowsAffected) < len(headers) {
db.log.Warn("ignored L2 block duplicates", "duplicates", len(headers)-int(result.RowsAffected)) db.log.Warn("ignored L2 block duplicates", "duplicates", len(headers)-int(result.RowsAffected))
} }
......
...@@ -77,7 +77,7 @@ func newBridgeMessagesDB(log log.Logger, db *gorm.DB) BridgeMessagesDB { ...@@ -77,7 +77,7 @@ func newBridgeMessagesDB(log log.Logger, db *gorm.DB) BridgeMessagesDB {
func (db bridgeMessagesDB) StoreL1BridgeMessages(messages []L1BridgeMessage) error { func (db bridgeMessagesDB) StoreL1BridgeMessages(messages []L1BridgeMessage) error {
deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "message_hash"}}, DoNothing: true}) deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "message_hash"}}, DoNothing: true})
result := deduped.CreateInBatches(&messages, batchInsertSize) result := deduped.CreateInBatches(&messages, batchInsertSize)
if result.Error != nil && int(result.RowsAffected) < len(messages) { if result.Error == nil && int(result.RowsAffected) < len(messages) {
db.log.Warn("ignored L1 bridge message duplicates", "duplicates", len(messages)-int(result.RowsAffected)) db.log.Warn("ignored L1 bridge message duplicates", "duplicates", len(messages)-int(result.RowsAffected))
} }
...@@ -127,8 +127,8 @@ func (db bridgeMessagesDB) MarkRelayedL1BridgeMessage(messageHash common.Hash, r ...@@ -127,8 +127,8 @@ func (db bridgeMessagesDB) MarkRelayedL1BridgeMessage(messageHash common.Hash, r
func (db bridgeMessagesDB) StoreL2BridgeMessages(messages []L2BridgeMessage) error { func (db bridgeMessagesDB) StoreL2BridgeMessages(messages []L2BridgeMessage) error {
deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "message_hash"}}, DoNothing: true}) deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "message_hash"}}, DoNothing: true})
result := deduped.CreateInBatches(&messages, batchInsertSize) result := deduped.CreateInBatches(&messages, batchInsertSize)
if result.Error != nil && int(result.RowsAffected) < len(messages) { if result.Error == nil && int(result.RowsAffected) < len(messages) {
db.log.Warn("ignored L1 bridge message duplicates", "duplicates", len(messages)-int(result.RowsAffected)) db.log.Warn("ignored L2 bridge message duplicates", "duplicates", len(messages)-int(result.RowsAffected))
} }
return result.Error return result.Error
......
...@@ -85,7 +85,7 @@ func newBridgeTransactionsDB(log log.Logger, db *gorm.DB) BridgeTransactionsDB { ...@@ -85,7 +85,7 @@ func newBridgeTransactionsDB(log log.Logger, db *gorm.DB) BridgeTransactionsDB {
func (db *bridgeTransactionsDB) StoreL1TransactionDeposits(deposits []L1TransactionDeposit) error { func (db *bridgeTransactionsDB) StoreL1TransactionDeposits(deposits []L1TransactionDeposit) error {
deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "source_hash"}}, DoNothing: true}) deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "source_hash"}}, DoNothing: true})
result := deduped.CreateInBatches(&deposits, batchInsertSize) result := deduped.CreateInBatches(&deposits, batchInsertSize)
if result.Error != nil && int(result.RowsAffected) < len(deposits) { if result.Error == nil && int(result.RowsAffected) < len(deposits) {
db.log.Warn("ignored L1 tx deposit duplicates", "duplicates", len(deposits)-int(result.RowsAffected)) db.log.Warn("ignored L1 tx deposit duplicates", "duplicates", len(deposits)-int(result.RowsAffected))
} }
...@@ -143,8 +143,8 @@ func (db *bridgeTransactionsDB) L1LatestBlockHeader() (*L1BlockHeader, error) { ...@@ -143,8 +143,8 @@ func (db *bridgeTransactionsDB) L1LatestBlockHeader() (*L1BlockHeader, error) {
func (db *bridgeTransactionsDB) StoreL2TransactionWithdrawals(withdrawals []L2TransactionWithdrawal) error { func (db *bridgeTransactionsDB) StoreL2TransactionWithdrawals(withdrawals []L2TransactionWithdrawal) error {
deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "withdrawal_hash"}}, DoNothing: true}) deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "withdrawal_hash"}}, DoNothing: true})
result := deduped.CreateInBatches(&withdrawals, batchInsertSize) result := deduped.CreateInBatches(&withdrawals, batchInsertSize)
if result.Error != nil && int(result.RowsAffected) < len(withdrawals) { if result.Error == nil && int(result.RowsAffected) < len(withdrawals) {
db.log.Warn("ignored L2 tx deposit withdrawals", "duplicates", len(withdrawals)-int(result.RowsAffected)) db.log.Warn("ignored L2 tx withdrawal duplicates", "duplicates", len(withdrawals)-int(result.RowsAffected))
} }
return result.Error return result.Error
......
...@@ -96,7 +96,7 @@ func newBridgeTransfersDB(log log.Logger, db *gorm.DB) BridgeTransfersDB { ...@@ -96,7 +96,7 @@ func newBridgeTransfersDB(log log.Logger, db *gorm.DB) BridgeTransfersDB {
func (db *bridgeTransfersDB) StoreL1BridgeDeposits(deposits []L1BridgeDeposit) error { func (db *bridgeTransfersDB) StoreL1BridgeDeposits(deposits []L1BridgeDeposit) error {
deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "transaction_source_hash"}}, DoNothing: true}) deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "transaction_source_hash"}}, DoNothing: true})
result := deduped.CreateInBatches(&deposits, batchInsertSize) result := deduped.CreateInBatches(&deposits, batchInsertSize)
if result.Error != nil && int(result.RowsAffected) < len(deposits) { if result.Error == nil && int(result.RowsAffected) < len(deposits) {
db.log.Warn("ignored L1 bridge transfer duplicates", "duplicates", len(deposits)-int(result.RowsAffected)) db.log.Warn("ignored L1 bridge transfer duplicates", "duplicates", len(deposits)-int(result.RowsAffected))
} }
...@@ -214,7 +214,7 @@ l1_bridge_deposits.timestamp, cross_domain_message_hash, local_token_address, re ...@@ -214,7 +214,7 @@ l1_bridge_deposits.timestamp, cross_domain_message_hash, local_token_address, re
func (db *bridgeTransfersDB) StoreL2BridgeWithdrawals(withdrawals []L2BridgeWithdrawal) error { func (db *bridgeTransfersDB) StoreL2BridgeWithdrawals(withdrawals []L2BridgeWithdrawal) error {
deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "transaction_withdrawal_hash"}}, DoNothing: true}) deduped := db.gorm.Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "transaction_withdrawal_hash"}}, DoNothing: true})
result := deduped.CreateInBatches(&withdrawals, batchInsertSize) result := deduped.CreateInBatches(&withdrawals, batchInsertSize)
if result.Error != nil && int(result.RowsAffected) < len(withdrawals) { if result.Error == nil && int(result.RowsAffected) < len(withdrawals) {
db.log.Warn("ignored L2 bridge transfer duplicates", "duplicates", len(withdrawals)-int(result.RowsAffected)) db.log.Warn("ignored L2 bridge transfer duplicates", "duplicates", len(withdrawals)-int(result.RowsAffected))
} }
......
...@@ -116,7 +116,7 @@ func (db *contractEventsDB) StoreL1ContractEvents(events []L1ContractEvent) erro ...@@ -116,7 +116,7 @@ func (db *contractEventsDB) StoreL1ContractEvents(events []L1ContractEvent) erro
// that the RLP bytes match when doing conflict resolution. // that the RLP bytes match when doing conflict resolution.
deduped := db.gorm.Clauses(clause.OnConflict{OnConstraint: "l1_contract_events_block_hash_log_index_key", DoNothing: true}) deduped := db.gorm.Clauses(clause.OnConflict{OnConstraint: "l1_contract_events_block_hash_log_index_key", DoNothing: true})
result := deduped.CreateInBatches(&events, batchInsertSize) result := deduped.CreateInBatches(&events, batchInsertSize)
if result.Error != nil && int(result.RowsAffected) < len(events) { if result.Error == nil && int(result.RowsAffected) < len(events) {
db.log.Warn("ignored L1 contract event duplicates", "duplicates", len(events)-int(result.RowsAffected)) db.log.Warn("ignored L1 contract event duplicates", "duplicates", len(events)-int(result.RowsAffected))
} }
...@@ -190,7 +190,7 @@ func (db *contractEventsDB) StoreL2ContractEvents(events []L2ContractEvent) erro ...@@ -190,7 +190,7 @@ func (db *contractEventsDB) StoreL2ContractEvents(events []L2ContractEvent) erro
// that the RLP bytes match when doing conflict resolution. // that the RLP bytes match when doing conflict resolution.
deduped := db.gorm.Clauses(clause.OnConflict{OnConstraint: "l2_contract_events_block_hash_log_index_key", DoNothing: true}) deduped := db.gorm.Clauses(clause.OnConflict{OnConstraint: "l2_contract_events_block_hash_log_index_key", DoNothing: true})
result := deduped.CreateInBatches(&events, batchInsertSize) result := deduped.CreateInBatches(&events, batchInsertSize)
if result.Error != nil && int(result.RowsAffected) < len(events) { if result.Error == nil && int(result.RowsAffected) < len(events) {
db.log.Warn("ignored L2 contract event duplicates", "duplicates", len(events)-int(result.RowsAffected)) db.log.Warn("ignored L2 contract event duplicates", "duplicates", len(events)-int(result.RowsAffected))
} }
......
...@@ -103,6 +103,7 @@ func (db *DB) Transaction(fn func(db *DB) error) error { ...@@ -103,6 +103,7 @@ func (db *DB) Transaction(fn func(db *DB) error) error {
} }
func (db *DB) Close() error { func (db *DB) Close() error {
db.log.Info("closing database")
sql, err := db.gorm.DB() sql, err := db.gorm.DB()
if err != nil { if err != nil {
return err return err
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment