Skip to content

Commit 84f46db

Browse files
authored
fix: remove sectorBlocks package from Boost (#1955)
* remove sectorBlocks package from Boost * fix expect * fix mocks
1 parent a370034 commit 84f46db

File tree

7 files changed

+33
-38
lines changed

7 files changed

+33
-38
lines changed

node/builder.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ import (
6363
"github.com/filecoin-project/lotus/storage/ctladdr"
6464
"github.com/filecoin-project/lotus/storage/paths"
6565
"github.com/filecoin-project/lotus/storage/sealer"
66-
"github.com/filecoin-project/lotus/storage/sectorblocks"
6766
"github.com/filecoin-project/lotus/system"
6867
logging "github.com/ipfs/go-log/v2"
6968
"github.com/ipfs/go-metrics-interface"
@@ -461,9 +460,7 @@ func ConfigBoost(cfg *config.Boost) Option {
461460
})),
462461

463462
// Sector API
464-
Override(new(sectorblocks.SectorBuilder), From(new(lotus_modules.MinerStorageService))),
465-
466-
Override(new(*sectorblocks.SectorBlocks), sectorblocks.NewSectorBlocks),
463+
Override(new(smtypes.PieceAdder), From(new(lotus_modules.MinerStorageService))),
467464

468465
// Sealing Pipeline State API
469466
Override(new(sealingpipeline.API), From(new(lotus_modules.MinerStorageService))),

node/modules/directdeals.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,13 @@ import (
1818
"github.com/filecoin-project/go-address"
1919
"github.com/filecoin-project/go-state-types/abi"
2020
"github.com/filecoin-project/lotus/api/v1api"
21-
"github.com/filecoin-project/lotus/storage/sectorblocks"
2221
"github.com/libp2p/go-libp2p/core/host"
2322
"go.uber.org/fx"
2423
)
2524

26-
func NewDirectDealsProvider(provAddr address.Address, cfg *config.Boost) func(lc fx.Lifecycle, h host.Host, fullnodeApi v1api.FullNode, sqldb *sql.DB, directDealsDB *db.DirectDealsDB, fundMgr *fundmanager.FundManager, storageMgr *storagemanager.StorageManager, dp *storageadapter.DealPublisher, secb *sectorblocks.SectorBlocks, commpc types.CommpCalculator, commpt storagemarket.CommpThrottle, sps sealingpipeline.API, df dtypes.StorageDealFilter, logsSqlDB *LogSqlDB, logsDB *db.LogsDB, piecedirectory *piecedirectory.PieceDirectory, ip *indexprovider.Wrapper, cdm *storagemarket.ChainDealManager) (*storagemarket.DirectDealsProvider, error) {
25+
func NewDirectDealsProvider(provAddr address.Address, cfg *config.Boost) func(lc fx.Lifecycle, h host.Host, fullnodeApi v1api.FullNode, sqldb *sql.DB, directDealsDB *db.DirectDealsDB, fundMgr *fundmanager.FundManager, storageMgr *storagemanager.StorageManager, dp *storageadapter.DealPublisher, secb types.PieceAdder, commpc types.CommpCalculator, commpt storagemarket.CommpThrottle, sps sealingpipeline.API, df dtypes.StorageDealFilter, logsSqlDB *LogSqlDB, logsDB *db.LogsDB, piecedirectory *piecedirectory.PieceDirectory, ip *indexprovider.Wrapper, cdm *storagemarket.ChainDealManager) (*storagemarket.DirectDealsProvider, error) {
2726
return func(lc fx.Lifecycle, h host.Host, fullnodeApi v1api.FullNode, sqldb *sql.DB, directDealsDB *db.DirectDealsDB,
28-
fundMgr *fundmanager.FundManager, storageMgr *storagemanager.StorageManager, dp *storageadapter.DealPublisher, secb *sectorblocks.SectorBlocks,
27+
fundMgr *fundmanager.FundManager, storageMgr *storagemanager.StorageManager, dp *storageadapter.DealPublisher, secb types.PieceAdder,
2928
commpc types.CommpCalculator, commpt storagemarket.CommpThrottle, sps sealingpipeline.API,
3029
df dtypes.StorageDealFilter, logsSqlDB *LogSqlDB, logsDB *db.LogsDB,
3130
piecedirectory *piecedirectory.PieceDirectory, ip *indexprovider.Wrapper, cdm *storagemarket.ChainDealManager) (*storagemarket.DirectDealsProvider, error) {

node/modules/storageminer.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ import (
5252
"github.com/filecoin-project/lotus/node/modules/helpers"
5353
"github.com/filecoin-project/lotus/node/repo"
5454
lotus_repo "github.com/filecoin-project/lotus/node/repo"
55-
"github.com/filecoin-project/lotus/storage/sectorblocks"
5655
"github.com/ipfs/go-cid"
5756
"github.com/ipfs/go-datastore"
5857
"github.com/ipfs/go-datastore/namespace"
@@ -469,9 +468,9 @@ func NewLegacyDealsManager(lc fx.Lifecycle, legacyFSM fsm.Group) legacy.LegacyDe
469468
return mgr
470469
}
471470

472-
func NewStorageMarketProvider(provAddr address.Address, cfg *config.Boost) func(lc fx.Lifecycle, h host.Host, a v1api.FullNode, sqldb *sql.DB, dealsDB *db.DealsDB, fundMgr *fundmanager.FundManager, storageMgr *storagemanager.StorageManager, sask storedask.StoredAsk, dp *storageadapter.DealPublisher, secb *sectorblocks.SectorBlocks, commpc types.CommpCalculator, commpt storagemarket.CommpThrottle, sps sealingpipeline.API, df dtypes.StorageDealFilter, logsSqlDB *LogSqlDB, logsDB *db.LogsDB, piecedirectory *piecedirectory.PieceDirectory, ip *indexprovider.Wrapper, cdm *storagemarket.ChainDealManager) (*storagemarket.Provider, error) {
471+
func NewStorageMarketProvider(provAddr address.Address, cfg *config.Boost) func(lc fx.Lifecycle, h host.Host, a v1api.FullNode, sqldb *sql.DB, dealsDB *db.DealsDB, fundMgr *fundmanager.FundManager, storageMgr *storagemanager.StorageManager, sask storedask.StoredAsk, dp *storageadapter.DealPublisher, secb types.PieceAdder, commpc types.CommpCalculator, commpt storagemarket.CommpThrottle, sps sealingpipeline.API, df dtypes.StorageDealFilter, logsSqlDB *LogSqlDB, logsDB *db.LogsDB, piecedirectory *piecedirectory.PieceDirectory, ip *indexprovider.Wrapper, cdm *storagemarket.ChainDealManager) (*storagemarket.Provider, error) {
473472
return func(lc fx.Lifecycle, h host.Host, a v1api.FullNode, sqldb *sql.DB, dealsDB *db.DealsDB,
474-
fundMgr *fundmanager.FundManager, storageMgr *storagemanager.StorageManager, sask storedask.StoredAsk, dp *storageadapter.DealPublisher, secb *sectorblocks.SectorBlocks,
473+
fundMgr *fundmanager.FundManager, storageMgr *storagemanager.StorageManager, sask storedask.StoredAsk, dp *storageadapter.DealPublisher, secb types.PieceAdder,
475474
commpc types.CommpCalculator, commpt storagemarket.CommpThrottle, sps sealingpipeline.API,
476475
df dtypes.StorageDealFilter, logsSqlDB *LogSqlDB, logsDB *db.LogsDB,
477476
piecedirectory *piecedirectory.PieceDirectory, ip *indexprovider.Wrapper, cdm *storagemarket.ChainDealManager) (*storagemarket.Provider, error) {

storagemarket/provider.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import (
3030
"github.com/filecoin-project/dagstore"
3131
"github.com/filecoin-project/go-address"
3232
"github.com/filecoin-project/go-state-types/abi"
33-
lapi "github.com/filecoin-project/lotus/api"
3433
"github.com/filecoin-project/lotus/api/v1api"
3534
sealing "github.com/filecoin-project/lotus/storage/pipeline"
3635
"github.com/filecoin-project/lotus/storage/pipeline/piece"
@@ -684,8 +683,8 @@ func (p *Provider) AddPieceToSector(ctx context.Context, deal smtypes.ProviderDe
684683
}, nil
685684
}
686685

687-
func addPieceWithRetry(ctx context.Context, pieceAdder smtypes.PieceAdder, pieceSize abi.UnpaddedPieceSize, pieceData io.Reader, sdInfo lapi.PieceDealInfo) (abi.SectorNumber, abi.PaddedPieceSize, error) {
688-
sectorNum, offset, err := pieceAdder.AddPiece(ctx, pieceSize, pieceData, sdInfo)
686+
func addPieceWithRetry(ctx context.Context, pieceAdder smtypes.PieceAdder, pieceSize abi.UnpaddedPieceSize, pieceData io.Reader, sdInfo piece.PieceDealInfo) (abi.SectorNumber, abi.PaddedPieceSize, error) {
687+
info, err := pieceAdder.SectorAddPieceToAny(ctx, pieceSize, pieceData, sdInfo)
689688
curTime := build.Clock.Now()
690689
for err != nil && build.Clock.Since(curTime) < addPieceRetryTimeout {
691690
// Check if the error was because there are too many sectors sealing
@@ -697,10 +696,10 @@ func addPieceWithRetry(ctx context.Context, pieceAdder smtypes.PieceAdder, piece
697696
// There are too many sectors sealing, back off for a while then try again
698697
select {
699698
case <-build.Clock.After(addPieceRetryWait):
700-
sectorNum, offset, err = pieceAdder.AddPiece(ctx, pieceSize, pieceData, sdInfo)
699+
info, err = pieceAdder.SectorAddPieceToAny(ctx, pieceSize, pieceData, sdInfo)
701700
case <-ctx.Done():
702701
return 0, 0, fmt.Errorf("shutdown while adding piece")
703702
}
704703
}
705-
return sectorNum, offset, err
704+
return info.Sector, info.Offset, err
706705
}

storagemarket/smtestutil/mocks.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"sync"
1010

1111
"github.com/filecoin-project/go-address"
12+
"github.com/filecoin-project/lotus/storage/pipeline/piece"
1213

1314
pdtypes "github.com/filecoin-project/boost/piecedirectory/types"
1415
mock_piecedirectory "github.com/filecoin-project/boost/piecedirectory/types/mocks"
@@ -18,7 +19,6 @@ import (
1819
"github.com/filecoin-project/boost/testutil"
1920
"github.com/filecoin-project/go-state-types/abi"
2021
"github.com/filecoin-project/go-state-types/builtin/v9/market"
21-
"github.com/filecoin-project/lotus/api"
2222
lapi "github.com/filecoin-project/lotus/api"
2323
sealing "github.com/filecoin-project/lotus/storage/pipeline"
2424
"github.com/golang/mock/gomock"
@@ -138,7 +138,7 @@ func (mb *MinerStubBuilder) SetupNoOp() *MinerStubBuilder {
138138
}, nil
139139
}).AnyTimes()
140140

141-
mb.stub.MockPieceAdder.EXPECT().AddPiece(gomock.Any(), gomock.Eq(mb.dp.ClientDealProposal.Proposal.PieceSize.Unpadded()), gomock.Any(), gomock.Any()).DoAndReturn(func(_ context.Context, _ abi.UnpaddedPieceSize, r io.Reader, _ api.PieceDealInfo) (abi.SectorNumber, abi.PaddedPieceSize, error) {
141+
mb.stub.MockPieceAdder.EXPECT().SectorAddPieceToAny(gomock.Any(), gomock.Eq(mb.dp.ClientDealProposal.Proposal.PieceSize.Unpadded()), gomock.Any(), gomock.Any()).DoAndReturn(func(_ context.Context, _ abi.UnpaddedPieceSize, r io.Reader, _ piece.PieceDealInfo) (abi.SectorNumber, abi.PaddedPieceSize, error) {
142142
return mb.sectorId, mb.offset, nil
143143
}).AnyTimes()
144144

@@ -281,57 +281,57 @@ func (mb *MinerStubBuilder) SetupAddPiece(blocking bool) *MinerStubBuilder {
281281
}
282282
mb.stub.lk.Unlock()
283283

284-
sdInfo := lapi.PieceDealInfo{
284+
sdInfo := piece.PieceDealInfo{
285285
DealID: mb.dealId,
286286
DealProposal: &mb.dp.ClientDealProposal.Proposal,
287287
PublishCid: &mb.finalPublishCid,
288-
DealSchedule: lapi.DealSchedule{
288+
DealSchedule: piece.DealSchedule{
289289
StartEpoch: mb.dp.ClientDealProposal.Proposal.StartEpoch,
290290
EndEpoch: mb.dp.ClientDealProposal.Proposal.EndEpoch,
291291
},
292292
KeepUnsealed: !mb.dp.RemoveUnsealedCopy,
293293
}
294294

295295
var readBytes []byte
296-
mb.stub.MockPieceAdder.EXPECT().AddPiece(gomock.Any(), gomock.Eq(mb.dp.ClientDealProposal.Proposal.PieceSize.Unpadded()), gomock.Any(), gomock.Eq(sdInfo)).DoAndReturn(func(ctx context.Context, _ abi.UnpaddedPieceSize, r io.Reader, _ api.PieceDealInfo) (abi.SectorNumber, abi.PaddedPieceSize, error) {
296+
mb.stub.MockPieceAdder.EXPECT().SectorAddPieceToAny(gomock.Any(), gomock.Eq(mb.dp.ClientDealProposal.Proposal.PieceSize.Unpadded()), gomock.Any(), gomock.Eq(sdInfo)).DoAndReturn(func(ctx context.Context, _ abi.UnpaddedPieceSize, r io.Reader, _ piece.PieceDealInfo) (lapi.SectorOffset, error) {
297297
mb.stub.lk.Lock()
298298
ch := mb.stub.unblockAddPiece[mb.dp.DealUUID]
299299
mb.stub.lk.Unlock()
300300
if ch != nil {
301301
select {
302302
case <-ctx.Done():
303-
return abi.SectorNumber(0), abi.PaddedPieceSize(0), ctx.Err()
303+
return lapi.SectorOffset{Sector: abi.SectorNumber(0), Offset: abi.PaddedPieceSize(0)}, ctx.Err()
304304
case <-ch:
305305
}
306306

307307
}
308308
if ctx.Err() != nil {
309-
return abi.SectorNumber(0), abi.PaddedPieceSize(0), ctx.Err()
309+
return lapi.SectorOffset{Sector: abi.SectorNumber(0), Offset: abi.PaddedPieceSize(0)}, ctx.Err()
310310
}
311311

312312
var err error
313313
readBytes, err = io.ReadAll(r)
314-
return mb.sectorId, mb.offset, err
314+
return lapi.SectorOffset{Sector: mb.sectorId, Offset: mb.offset}, err
315315
})
316316

317317
mb.rb = &readBytes
318318
return mb
319319
}
320320

321321
func (mb *MinerStubBuilder) SetupAddPieceFailure(err error) {
322-
sdInfo := lapi.PieceDealInfo{
322+
sdInfo := piece.PieceDealInfo{
323323
DealID: mb.dealId,
324324
DealProposal: &mb.dp.ClientDealProposal.Proposal,
325325
PublishCid: &mb.finalPublishCid,
326-
DealSchedule: lapi.DealSchedule{
326+
DealSchedule: piece.DealSchedule{
327327
StartEpoch: mb.dp.ClientDealProposal.Proposal.StartEpoch,
328328
EndEpoch: mb.dp.ClientDealProposal.Proposal.EndEpoch,
329329
},
330330
KeepUnsealed: !mb.dp.RemoveUnsealedCopy,
331331
}
332332

333-
mb.stub.MockPieceAdder.EXPECT().AddPiece(gomock.Any(), gomock.Eq(mb.dp.ClientDealProposal.Proposal.PieceSize.Unpadded()), gomock.Any(), gomock.Eq(sdInfo)).DoAndReturn(func(_ context.Context, _ abi.UnpaddedPieceSize, r io.Reader, _ api.PieceDealInfo) (abi.SectorNumber, abi.PaddedPieceSize, error) {
334-
return abi.SectorNumber(0), abi.PaddedPieceSize(0), err
333+
mb.stub.MockPieceAdder.EXPECT().SectorAddPieceToAny(gomock.Any(), gomock.Eq(mb.dp.ClientDealProposal.Proposal.PieceSize.Unpadded()), gomock.Any(), gomock.Eq(sdInfo)).DoAndReturn(func(_ context.Context, _ abi.UnpaddedPieceSize, r io.Reader, _ piece.PieceDealInfo) (lapi.SectorOffset, error) {
334+
return lapi.SectorOffset{Sector: abi.SectorNumber(0), Offset: abi.PaddedPieceSize(0)}, err
335335
})
336336
}
337337

storagemarket/types/mock_types/mocks.go

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

storagemarket/types/types.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"github.com/filecoin-project/go-state-types/builtin/v9/verifreg"
1717
"github.com/filecoin-project/go-state-types/crypto"
1818
"github.com/filecoin-project/lotus/api"
19+
"github.com/filecoin-project/lotus/storage/pipeline/piece"
1920
"github.com/filecoin-project/lotus/storage/sealer/storiface"
2021
"github.com/google/uuid"
2122
"github.com/ipfs/go-cid"
@@ -156,7 +157,7 @@ type DealResponse struct {
156157
}
157158

158159
type PieceAdder interface {
159-
AddPiece(ctx context.Context, size abi.UnpaddedPieceSize, r io.Reader, d api.PieceDealInfo) (abi.SectorNumber, abi.PaddedPieceSize, error)
160+
SectorAddPieceToAny(ctx context.Context, size abi.UnpaddedPieceSize, r io.Reader, d piece.PieceDealInfo) (api.SectorOffset, error)
160161
}
161162

162163
type CommpCalculator interface {

0 commit comments

Comments
 (0)