Skip to content

Commit 5441f28

Browse files
authored
fix: stamper store was dirty (#5515)
1 parent e9b6987 commit 5441f28

3 files changed

Lines changed: 19 additions & 19 deletions

File tree

pkg/node/node.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ func NewBee(
470470
}
471471
}(probe)
472472

473-
stamperStore, wasClean, err := InitStamperStore(logger, o.DataDir, stateStore)
473+
stamperStore, wasDirty, err := InitStamperStore(logger, o.DataDir, stateStore)
474474
if err != nil {
475475
return nil, fmt.Errorf("failed to initialize stamper store: %w", err)
476476
}
@@ -730,7 +730,7 @@ func NewBee(
730730
// construction, so no conditional is needed here.
731731
p2ps.SetChequebookAddress(chequebookService.Address())
732732

733-
post, err := postage.NewService(logger, stamperStore, batchStore, chainID, wasClean)
733+
post, err := postage.NewService(logger, stamperStore, batchStore, chainID, wasDirty)
734734
if err != nil {
735735
return nil, fmt.Errorf("postage service: %w", err)
736736
}

pkg/postage/service.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ type service struct {
6666
done chan struct{}
6767
}
6868

69-
// NewService constructs a new Service. wasClean indicates whether the previous
70-
// shutdown was graceful; if false, bucket counts are recovered from the stamp store.
71-
func NewService(logger log.Logger, store storage.Store, postageStore Storer, chainID int64, wasClean bool) (Service, error) {
69+
// NewService constructs a new Service. wasDirty indicates whether the previous
70+
// shutdown was unclean; if true, bucket counts are recovered from the stamp store.
71+
func NewService(logger log.Logger, store storage.Store, postageStore Storer, chainID int64, wasDirty bool) (Service, error) {
7272
s := &service{
7373
logger: logger.WithName(loggerName).Register(),
7474
store: store,
@@ -92,7 +92,7 @@ func NewService(logger log.Logger, store storage.Store, postageStore Storer, cha
9292
return nil, err
9393
}
9494

95-
if !wasClean {
95+
if wasDirty {
9696
s.logger.Info("recovering bucket counts from stamper store")
9797
if err := s.recoverBuckets(); err != nil {
9898
s.logger.Error(err, "postage stamper store recovery failed")

pkg/postage/service_test.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func TestSaveLoad(t *testing.T) {
3232
defer store.Close()
3333
pstore := pstoremock.New()
3434
saved := func(id int64) postage.Service {
35-
ps, err := postage.NewService(log.Noop, store, pstore, id, true)
35+
ps, err := postage.NewService(log.Noop, store, pstore, id, false)
3636
if err != nil {
3737
t.Fatal(err)
3838
}
@@ -48,7 +48,7 @@ func TestSaveLoad(t *testing.T) {
4848
return ps
4949
}
5050
loaded := func(id int64) postage.Service {
51-
ps, err := postage.NewService(log.Noop, store, pstore, id, true)
51+
ps, err := postage.NewService(log.Noop, store, pstore, id, false)
5252
if err != nil {
5353
t.Fatal(err)
5454
}
@@ -88,7 +88,7 @@ func TestGetStampIssuer(t *testing.T) {
8888
}
8989
validBlockNumber := testChainState.Block - uint64(postage.BlockThreshold+1)
9090
pstore := pstoremock.New(pstoremock.WithChainState(testChainState))
91-
ps, err := postage.NewService(log.Noop, store, pstore, chainID, true)
91+
ps, err := postage.NewService(log.Noop, store, pstore, chainID, false)
9292
if err != nil {
9393
t.Fatal(err)
9494
}
@@ -227,7 +227,7 @@ func TestSetExpired(t *testing.T) {
227227
return bytes.Equal(b, batch), nil
228228
}))
229229

230-
ps, err := postage.NewService(log.Noop, store, pstore, 1, true)
230+
ps, err := postage.NewService(log.Noop, store, pstore, 1, false)
231231
if err != nil {
232232
t.Fatal(err)
233233
}
@@ -303,7 +303,7 @@ func TestSetExpired(t *testing.T) {
303303
}
304304

305305
// TestCrashRecovery verifies that bucket counts are restored from stamp items
306-
// when the service starts after an unclean shutdown (wasClean=false).
306+
// when the service starts after an unclean shutdown (wasDirty=true).
307307
func TestCrashRecovery(t *testing.T) {
308308
t.Parallel()
309309

@@ -335,7 +335,7 @@ func TestCrashRecovery(t *testing.T) {
335335
}
336336

337337
// Save the issuer with zero bucket counts to the store.
338-
ps, err := postage.NewService(log.Noop, store, pstore, 1, true)
338+
ps, err := postage.NewService(log.Noop, store, pstore, 1, false)
339339
if err != nil {
340340
t.Fatal(err)
341341
}
@@ -347,8 +347,8 @@ func TestCrashRecovery(t *testing.T) {
347347
}
348348

349349
// Verify that the issuer on disk still has zero bucket counts (i.e., recovery
350-
// has not happened yet). Open with wasClean=true to skip recovery.
351-
psCheck, err := postage.NewService(log.Noop, store, pstore, 1, true)
350+
// has not happened yet). Open with wasDirty=false to skip recovery.
351+
psCheck, err := postage.NewService(log.Noop, store, pstore, 1, false)
352352
if err != nil {
353353
t.Fatal(err)
354354
}
@@ -367,8 +367,8 @@ func TestCrashRecovery(t *testing.T) {
367367
t.Fatal(err)
368368
}
369369

370-
// Restart with wasClean=false — should trigger bucket recovery.
371-
ps2, err := postage.NewService(log.Noop, store, pstore, 1, false)
370+
// Restart with wasDirty=true — should trigger bucket recovery.
371+
ps2, err := postage.NewService(log.Noop, store, pstore, 1, true)
372372
if err != nil {
373373
t.Fatal(err)
374374
}
@@ -391,9 +391,9 @@ func TestCrashRecovery(t *testing.T) {
391391
t.Fatal(err)
392392
}
393393

394-
// Restart with wasClean=true — recovery is skipped, but counts must still
394+
// Restart with wasDirty=false — recovery is skipped, but counts must still
395395
// be correct because ps2.Close() persisted the recovered state.
396-
ps3, err := postage.NewService(log.Noop, store, pstore, 1, true)
396+
ps3, err := postage.NewService(log.Noop, store, pstore, 1, false)
397397
if err != nil {
398398
t.Fatal(err)
399399
}
@@ -420,7 +420,7 @@ func TestUpdateIssuerLabel(t *testing.T) {
420420
defer store.Close()
421421
pstore := pstoremock.New()
422422

423-
ps, err := postage.NewService(log.Noop, store, pstore, 1, true)
423+
ps, err := postage.NewService(log.Noop, store, pstore, 1, false)
424424
if err != nil {
425425
t.Fatal(err)
426426
}

0 commit comments

Comments
 (0)