Skip to content

Commit 33ec400

Browse files
committed
lint
1 parent a961400 commit 33ec400

File tree

2 files changed

+33
-26
lines changed

2 files changed

+33
-26
lines changed

store/height_indexer.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@ func newHeightIndexer[H header.Header[H]](
3434
}
3535

3636
// HashByHeight loads a header hash corresponding to the given height.
37-
func (hi *heightIndexer[H]) HashByHeight(ctx context.Context, h uint64, cache bool) (header.Hash, error) {
37+
func (hi *heightIndexer[H]) HashByHeight(
38+
ctx context.Context,
39+
h uint64,
40+
cache bool,
41+
) (header.Hash, error) {
3842
if v, ok := hi.cache.Get(h); ok {
3943
return v, nil
4044
}

store/store_delete.go

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ import (
1010
"sync/atomic"
1111
"time"
1212

13-
"github.com/celestiaorg/go-header"
1413
"github.com/ipfs/go-datastore"
14+
15+
"github.com/celestiaorg/go-header"
1516
)
1617

1718
// OnDelete implements [header.Store] interface.
@@ -23,7 +24,11 @@ func (s *Store[H]) OnDelete(fn func(context.Context, uint64) error) {
2324
defer func() {
2425
err := recover()
2526
if err != nil {
26-
rerr = fmt.Errorf("header/store: user provided onDelete panicked on %d with: %s", height, err)
27+
rerr = fmt.Errorf(
28+
"header/store: user provided onDelete panicked on %d with: %s",
29+
height,
30+
err,
31+
)
2732
}
2833
}()
2934
return fn(ctx, height)
@@ -129,7 +134,12 @@ func (s *Store[H]) deleteSequential(ctx context.Context, from, to uint64) (err e
129134
}
130135

131136
// delete deletes a single header from the store, its caches and indexies, notifying any registered onDelete handlers.
132-
func (s *Store[H]) delete(ctx context.Context, height uint64, batch datastore.Batch, onDelete []func(ctx context.Context, height uint64) error) error {
137+
func (s *Store[H]) delete(
138+
ctx context.Context,
139+
height uint64,
140+
batch datastore.Batch,
141+
onDelete []func(ctx context.Context, height uint64) error,
142+
) error {
133143
// some of the methods may not handle context cancellation properly
134144
if ctx.Err() != nil {
135145
return context.Cause(ctx)
@@ -182,15 +192,15 @@ func (s *Store[H]) deleteParallel(ctx context.Context, from, to uint64) (err err
182192
// this prevents store's state corruption from partial deletion
183193
sub := deadline.Sub(startTime) / 100 * 95
184194
var cancel context.CancelFunc
185-
deleteCtx, cancel = context.WithDeadlineCause(ctx, startTime.Add(sub), deleteTimeoutError)
195+
deleteCtx, cancel = context.WithDeadlineCause(ctx, startTime.Add(sub), errDeleteTimeout)
186196
defer cancel()
187197
}
188198

189199
var highestDeleted atomic.Uint64
190200
defer func() {
191201
newTailHeight := highestDeleted.Load() + 1
192202
if err != nil {
193-
if errors.Is(err, deleteTimeoutError) {
203+
if errors.Is(err, errDeleteTimeout) {
194204
log.Warnw("partial delete",
195205
"from_height", from,
196206
"expected_to_height", to,
@@ -244,29 +254,22 @@ func (s *Store[H]) deleteParallel(ctx context.Context, from, to uint64) (err err
244254
}
245255
}()
246256

247-
for {
248-
select {
249-
case height, ok := <-jobCh:
250-
if !ok {
251-
return
257+
for height := range jobCh {
258+
if err := s.delete(deleteCtx, height, batch, onDelete); err != nil {
259+
select {
260+
case errCh <- fmt.Errorf("delete header %d: %w", height, err):
261+
default:
252262
}
253-
254-
if err := s.delete(deleteCtx, height, batch, onDelete); err != nil {
255-
select {
256-
case errCh <- fmt.Errorf("delete header %d: %w", height, err):
257-
default:
258-
}
259-
return
260-
}
261-
262-
lastHeight = height
263+
return
263264
}
265+
266+
lastHeight = height
264267
}
265268
}
266269

267270
var wg sync.WaitGroup
268-
for i := 0; i < workerNum; i++ {
269-
wg.Add(1)
271+
wg.Add(workerNum)
272+
for range workerNum {
270273
go func() {
271274
defer wg.Done()
272275
worker()
@@ -278,8 +281,8 @@ func (s *Store[H]) deleteParallel(ctx context.Context, from, to uint64) (err err
278281
select {
279282
case jobCh <- height:
280283
i++
281-
if i%100000 == 0 {
282-
log.Debugf("deleting %d header", i)
284+
if uint64(1)%deleteRangeParallelThreshold == 0 {
285+
log.Debugf("deleting %dth header height %d", deleteRangeParallelThreshold, height)
283286
}
284287
case err = <-errCh:
285288
close(jobCh)
@@ -291,4 +294,4 @@ func (s *Store[H]) deleteParallel(ctx context.Context, from, to uint64) (err err
291294
return err
292295
}
293296

294-
var deleteTimeoutError = errors.New("delete timeout")
297+
var errDeleteTimeout = errors.New("delete timeout")

0 commit comments

Comments
 (0)