@@ -160,18 +160,27 @@ func (d *executionPayloadsExporter) maintainTable() (err error) {
160160 seen := make (map [string ]bool )
161161 emptyBlockHash := bytes .Repeat ([]byte {0 }, 32 )
162162 err = error (nil )
163+ counter := 0
163164 for _ , r := range resData {
165+ if counter > 25 {
166+ err = fmt .Errorf ("too many errors, aborting" )
167+ log .Error (err , "error processing blocks" , 0 )
168+ break
169+ }
164170 if len (r .BlockHash ) == 0 {
165171 err = fmt .Errorf ("error processing blocks: block hash is empty, block number: %v" , r .BlockNumber )
166172 log .Error (err , "error processing blocks" , 0 )
173+ counter ++
167174 }
168175 if bytes .Equal (r .BlockHash , emptyBlockHash ) {
169176 err = fmt .Errorf ("error processing blocks: block hash is all zeros, block number: %v" , r .BlockNumber )
170177 log .Error (err , "error processing blocks" , 0 )
178+ counter ++
171179 }
172180 if _ , ok := seen [string (r .BlockHash )]; ok {
173181 err = fmt .Errorf ("error processing blocks: duplicate block hash, block number: %v" , r .BlockNumber )
174182 log .Error (err , "error processing blocks" , 0 )
183+ counter ++
175184 }
176185 seen [string (r .BlockHash )] = true
177186 }
0 commit comments