@@ -246,15 +246,15 @@ func (s *Submitter) daSubmissionLoop() {
246246
247247 onSuccess := func () { s .lastHeaderSubmit .Store (time .Now ().UnixNano ()) }
248248 onError := func (err error ) {
249- if len (headers ) > 0 {
250- s .cache .ResetInFlightHeaderRange (headers [0 ].Height (), headers [len (headers )- 1 ].Height ())
251- }
252249 if errors .Is (err , common .ErrOversizedItem ) {
253250 s .logger .Error ().Err (err ).
254251 Msg ("CRITICAL: Header exceeds DA blob size limit - halting to prevent live lock" )
255252 s .sendCriticalError (fmt .Errorf ("unrecoverable DA submission error: %w" , err ))
256253 return
257254 }
255+ if len (headers ) > 0 {
256+ s .cache .ResetInFlightHeaderRange (headers [0 ].Height (), headers [len (headers )- 1 ].Height ())
257+ }
258258 if err != nil {
259259 s .logger .Error ().Err (err ).Msg ("failed to submit headers" )
260260 }
@@ -326,15 +326,15 @@ func (s *Submitter) daSubmissionLoop() {
326326
327327 onSuccess := func () { s .lastDataSubmit .Store (time .Now ().UnixNano ()) }
328328 onError := func (err error ) {
329- if len (signedDataList ) > 0 {
330- s .cache .ResetInFlightDataRange (signedDataList [0 ].Height (), signedDataList [len (signedDataList )- 1 ].Height ())
331- }
332329 if errors .Is (err , common .ErrOversizedItem ) {
333330 s .logger .Error ().Err (err ).
334331 Msg ("CRITICAL: Data exceeds DA blob size limit - halting to prevent live lock" )
335332 s .sendCriticalError (fmt .Errorf ("unrecoverable DA submission error: %w" , err ))
336333 return
337334 }
335+ if len (signedDataList ) > 0 {
336+ s .cache .ResetInFlightDataRange (signedDataList [0 ].Height (), signedDataList [len (signedDataList )- 1 ].Height ())
337+ }
338338 if err != nil {
339339 s .logger .Error ().Err (err ).Msg ("failed to submit data" )
340340 }
@@ -474,6 +474,9 @@ func putUint64Metadata(ctx context.Context, st store.Store, key string, val uint
474474
475475// sendCriticalError sends a critical error to the error channel without blocking
476476func (s * Submitter ) sendCriticalError (err error ) {
477+ if s .cancel != nil {
478+ s .cancel ()
479+ }
477480 if s .errorCh != nil {
478481 select {
479482 case s .errorCh <- err :
0 commit comments