Skip to content

Commit 781ebf5

Browse files
authored
Merge pull request #7833 from onflow/leo/follower-use-protocol-db
[Storage] Follower use protocol db
2 parents a418366 + 6fe2450 commit 781ebf5

File tree

12 files changed

+47
-235
lines changed

12 files changed

+47
-235
lines changed

cmd/access/node_builder/access_node_builder.go

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ func DefaultAccessNodeConfig() *AccessNodeConfig {
278278
MaxRetryDelay: edrequester.DefaultMaxRetryDelay,
279279
},
280280
executionDataIndexingEnabled: false,
281-
executionDataDBMode: execution_data.ExecutionDataDBModeBadger.String(),
281+
executionDataDBMode: execution_data.ExecutionDataDBModePebble.String(),
282282
executionDataPrunerHeightRangeTarget: 0,
283283
executionDataPrunerThreshold: pruner.DefaultThreshold,
284284
executionDataPruningInterval: pruner.DefaultPruningInterval,
@@ -581,11 +581,8 @@ func (builder *FlowAccessNodeBuilder) BuildExecutionSyncComponents() *FlowAccess
581581
return stateSyncCommands.NewReadExecutionDataCommand(builder.ExecutionDataStore)
582582
}).
583583
Module("transactions and collections storage", func(node *cmd.NodeConfig) error {
584-
585-
dbStore := cmd.GetStorageMultiDBStoreIfNeeded(node)
586-
587-
transactions := store.NewTransactions(node.Metrics.Cache, dbStore)
588-
collections := store.NewCollections(dbStore, transactions)
584+
transactions := store.NewTransactions(node.Metrics.Cache, node.ProtocolDB)
585+
collections := store.NewCollections(node.ProtocolDB, transactions)
589586
builder.transactions = transactions
590587
builder.collections = collections
591588

@@ -854,8 +851,7 @@ func (builder *FlowAccessNodeBuilder) BuildExecutionSyncComponents() *FlowAccess
854851
return nil
855852
}).
856853
Module("transaction results storage", func(node *cmd.NodeConfig) error {
857-
dbStore := cmd.GetStorageMultiDBStoreIfNeeded(node)
858-
builder.lightTransactionResults = store.NewLightTransactionResults(node.Metrics.Cache, dbStore, bstorage.DefaultCacheSize)
854+
builder.lightTransactionResults = store.NewLightTransactionResults(node.Metrics.Cache, node.ProtocolDB, bstorage.DefaultCacheSize)
859855
return nil
860856
}).
861857
DependableComponent("execution data indexer", func(node *cmd.NodeConfig) (module.ReadyDoneAware, error) {
@@ -1828,8 +1824,7 @@ func (builder *FlowAccessNodeBuilder) Build() (cmd.Node, error) {
18281824
return nil
18291825
}).
18301826
Module("events storage", func(node *cmd.NodeConfig) error {
1831-
dbStore := cmd.GetStorageMultiDBStoreIfNeeded(node)
1832-
builder.events = store.NewEvents(node.Metrics.Cache, dbStore)
1827+
builder.events = store.NewEvents(node.Metrics.Cache, node.ProtocolDB)
18331828
return nil
18341829
}).
18351830
Module("reporter", func(node *cmd.NodeConfig) error {
@@ -1865,8 +1860,7 @@ func (builder *FlowAccessNodeBuilder) Build() (cmd.Node, error) {
18651860
}).
18661861
Module("transaction result error messages storage", func(node *cmd.NodeConfig) error {
18671862
if builder.storeTxResultErrorMessages {
1868-
dbStore := cmd.GetStorageMultiDBStoreIfNeeded(node)
1869-
builder.transactionResultErrorMessages = store.NewTransactionResultErrorMessages(node.Metrics.Cache, dbStore, bstorage.DefaultCacheSize)
1863+
builder.transactionResultErrorMessages = store.NewTransactionResultErrorMessages(node.Metrics.Cache, node.ProtocolDB, bstorage.DefaultCacheSize)
18701864
}
18711865

18721866
return nil

cmd/consensus/main.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -392,12 +392,10 @@ func main() {
392392
rawMempool := stdmap.NewIncorporatedResultSeals(sealLimit)
393393
multipleReceiptsFilterMempool := consensusMempools.NewIncorporatedResultSeals(rawMempool, node.Storage.Receipts)
394394

395-
dbStore := cmd.GetStorageMultiDBStoreIfNeeded(node)
396-
397395
seals, err = consensusMempools.NewExecStateForkSuppressor(
398396
multipleReceiptsFilterMempool,
399397
consensusMempools.LogForkAndCrash(node.Logger),
400-
dbStore,
398+
node.ProtocolDB,
401399
node.Logger,
402400
)
403401
if err != nil {

cmd/execution_builder.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ import (
9494
storageerr "github.com/onflow/flow-go/storage"
9595
storage "github.com/onflow/flow-go/storage/badger"
9696
"github.com/onflow/flow-go/storage/operation"
97-
"github.com/onflow/flow-go/storage/operation/badgerimpl"
9897
"github.com/onflow/flow-go/storage/operation/pebbleimpl"
9998
storagepebble "github.com/onflow/flow-go/storage/pebble"
10099
"github.com/onflow/flow-go/storage/store"
@@ -1411,12 +1410,7 @@ func (exeNode *ExecutionNode) LoadBootstrapper(node *NodeConfig) error {
14111410
return fmt.Errorf("could not load bootstrap state from checkpoint file: %w", err)
14121411
}
14131412

1414-
err = bootstrapper.BootstrapExecutionDatabase(node.StorageLockMgr, badgerimpl.ToDB(node.DB), node.RootSeal)
1415-
if err != nil {
1416-
return fmt.Errorf("could not bootstrap execution database: %w", err)
1417-
}
1418-
1419-
err = bootstrapper.BootstrapExecutionDatabase(node.StorageLockMgr, pebbleimpl.ToDB(node.PebbleDB), node.RootSeal)
1413+
err = bootstrapper.BootstrapExecutionDatabase(node.StorageLockMgr, node.ProtocolDB, node.RootSeal)
14201414
if err != nil {
14211415
return fmt.Errorf("could not bootstrap execution database: %w", err)
14221416
}

cmd/execution_config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func (exeConf *ExecutionConfig) SetupFlags(flags *pflag.FlagSet) {
133133
flags.UintVar(&exeConf.transactionExecutionMetricsBufferSize, "tx-execution-metrics-buffer-size", 200, "buffer size for transaction execution metrics. The buffer size is the number of blocks that are kept in memory by the metrics provider engine")
134134
flags.StringVar(&exeConf.executionDataDBMode,
135135
"execution-data-db",
136-
execution_data.ExecutionDataDBModeBadger.String(),
136+
execution_data.ExecutionDataDBModePebble.String(),
137137
"[experimental] the DB type for execution datastore. One of [badger, pebble]")
138138

139139
flags.BoolVar(&exeConf.onflowOnlyLNs, "temp-onflow-only-lns", false, "do not use unless required. forces node to only request collections from onflow collection nodes")

cmd/node_builder.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55
"time"
66

7-
"github.com/cockroachdb/pebble/v2"
87
"github.com/dgraph-io/badger/v2"
98
"github.com/jordanschalm/lockctx"
109
madns "github.com/multiformats/go-multiaddr-dns"
@@ -158,8 +157,7 @@ type BaseConfig struct {
158157
pebbleDir string
159158
pebbleCheckpointsDir string
160159
DBOps string
161-
badgerDB *badger.DB
162-
pebbleDB *pebble.DB
160+
protocolDB storage.DB
163161
secretsdir string
164162
secretsDBEnabled bool
165163
InsecureSecretsDB bool
@@ -207,8 +205,6 @@ type NodeConfig struct {
207205
ConfigManager *updatable_configs.Manager
208206
MetricsRegisterer prometheus.Registerer
209207
Metrics Metrics
210-
DB *badger.DB
211-
PebbleDB *pebble.DB
212208
ProtocolDB storage.DB
213209
SecretsDB *badger.DB
214210
Storage Storage
@@ -284,9 +280,8 @@ func DefaultBaseConfig() *BaseConfig {
284280
BootstrapDir: "bootstrap",
285281
datadir: datadir,
286282
pebbleDir: pebbleDir,
287-
DBOps: string(dbops.BadgerBatch), // "badger-batch" (default) or "pebble-batch"
288-
badgerDB: nil,
289-
pebbleDB: nil,
283+
DBOps: string(dbops.PebbleBatch), // "pebble-batch" (default) or "badger-batch" (deprecated)
284+
protocolDB: nil,
290285
secretsdir: NotSet,
291286
secretsDBEnabled: true,
292287
level: "info",

cmd/observer/node_builder/observer_builder.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,6 @@ import (
110110
"github.com/onflow/flow-go/state/protocol/events/gadgets"
111111
"github.com/onflow/flow-go/storage"
112112
bstorage "github.com/onflow/flow-go/storage/badger"
113-
"github.com/onflow/flow-go/storage/operation/badgerimpl"
114113
pstorage "github.com/onflow/flow-go/storage/pebble"
115114
"github.com/onflow/flow-go/storage/store"
116115
"github.com/onflow/flow-go/utils/grpcutils"
@@ -237,7 +236,7 @@ func DefaultObserverServiceConfig() *ObserverServiceConfig {
237236
logTxTimeToSealed: false,
238237
executionDataSyncEnabled: false,
239238
executionDataIndexingEnabled: false,
240-
executionDataDBMode: execution_data.ExecutionDataDBModeBadger.String(),
239+
executionDataDBMode: execution_data.ExecutionDataDBModePebble.String(),
241240
executionDataPrunerHeightRangeTarget: 0,
242241
executionDataPrunerThreshold: pruner.DefaultThreshold,
243242
executionDataPruningInterval: pruner.DefaultPruningInterval,
@@ -1348,7 +1347,7 @@ func (builder *ObserverServiceBuilder) BuildExecutionSyncComponents() *ObserverS
13481347

13491348
builder.Module("indexed block height consumer progress", func(node *cmd.NodeConfig) error {
13501349
// Note: progress is stored in the MAIN db since that is where indexed execution data is stored.
1351-
indexedBlockHeight = store.NewConsumerProgress(badgerimpl.ToDB(builder.DB), module.ConsumeProgressExecutionDataIndexerBlockHeight)
1350+
indexedBlockHeight = store.NewConsumerProgress(builder.ProtocolDB, module.ConsumeProgressExecutionDataIndexerBlockHeight)
13521351
return nil
13531352
}).Module("transaction results storage", func(node *cmd.NodeConfig) error {
13541353
builder.lightTransactionResults = store.NewLightTransactionResults(node.Metrics.Cache, node.ProtocolDB, bstorage.DefaultCacheSize)

0 commit comments

Comments
 (0)