From fc44197f066c1475d74ef6b2241e9467bf222f56 Mon Sep 17 00:00:00 2001 From: "alex.sharov" <AskAlexSharov@gmail.com> Date: Wed, 29 Sep 2021 14:48:19 +0700 Subject: [PATCH] fix merge conflict --- cmd/txpool/main.go | 10 ++++++++++ cmd/utils/flags.go | 8 ++++++++ core/tx_pool.go | 2 ++ eth/backend.go | 3 +++ turbo/cli/default_flags.go | 1 + 5 files changed, 24 insertions(+) diff --git a/cmd/txpool/main.go b/cmd/txpool/main.go index 3dc5fb8adf..a50a3c9cda 100644 --- a/cmd/txpool/main.go +++ b/cmd/txpool/main.go @@ -34,6 +34,10 @@ var ( TLSCertfile string TLSCACert string TLSKeyFile string + + pendingPoolLimit int + baseFeePoolLimit int + queuedPoolLimit int ) func init() { @@ -49,6 +53,9 @@ func init() { rootCmd.PersistentFlags().StringVar(&TLSKeyFile, "tls.key", "", "key file for client side TLS handshake") rootCmd.PersistentFlags().StringVar(&TLSCACert, "tls.cacert", "", "CA certificate for client side TLS handshake") + rootCmd.PersistentFlags().IntVar(&pendingPoolLimit, "txpool.globalslots", txpool.DefaultConfig.PendingSubPoolLimit, "Maximum number of executable transaction slots for all accounts") + rootCmd.PersistentFlags().IntVar(&baseFeePoolLimit, "txpool.basefeeeslots", txpool.DefaultConfig.BaseFeeSubPoolLimit, "Maximum number of non-executable transactions where only not enough baseFee") + rootCmd.PersistentFlags().IntVar(&queuedPoolLimit, "txpool.globalqueue", txpool.DefaultConfig.QueuedSubPoolLimit, "Maximum number of non-executable transaction slots for all accounts") } var rootCmd = &cobra.Command{ @@ -97,6 +104,9 @@ var rootCmd = &cobra.Command{ cfg.DBDir = path.Join(datadir, "txpool") cfg.LogEvery = 30 * time.Second cfg.CommitEvery = 30 * time.Second + cfg.PendingSubPoolLimit = pendingPoolLimit + cfg.BaseFeeSubPoolLimit = baseFeePoolLimit + cfg.QueuedSubPoolLimit = queuedPoolLimit cacheConfig := kvcache.DefaultCoherentConfig cacheConfig.MetricsLabel = "txpool" diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index f48bb34bef..3f160ca412 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -197,6 +197,11 @@ var ( Usage: "Maximum number of executable transaction slots for all accounts", Value: ethconfig.Defaults.TxPool.GlobalSlots, } + TxPoolGlobalBaseFeeSlotsFlag = cli.Uint64Flag{ + Name: "txpool.basefeeeslots", + Usage: "Maximum number of non-executable transactions where only not enough baseFee", + Value: ethconfig.Defaults.TxPool.GlobalQueue, + } TxPoolAccountQueueFlag = cli.Uint64Flag{ Name: "txpool.accountqueue", Usage: "Maximum number of non-executable transaction slots permitted per account", @@ -985,6 +990,9 @@ func setTxPool(ctx *cli.Context, cfg *core.TxPoolConfig) { if ctx.GlobalIsSet(TxPoolGlobalQueueFlag.Name) { cfg.GlobalQueue = ctx.GlobalUint64(TxPoolGlobalQueueFlag.Name) } + if ctx.GlobalIsSet(TxPoolGlobalBaseFeeSlotsFlag.Name) { + cfg.GlobalBaseFeeQueue = ctx.GlobalUint64(TxPoolGlobalBaseFeeSlotsFlag.Name) + } if ctx.GlobalIsSet(TxPoolLifetimeFlag.Name) { cfg.Lifetime = ctx.GlobalDuration(TxPoolLifetimeFlag.Name) } diff --git a/core/tx_pool.go b/core/tx_pool.go index ae750fff11..af2515dca0 100644 --- a/core/tx_pool.go +++ b/core/tx_pool.go @@ -150,6 +150,8 @@ type TxPoolConfig struct { AccountQueue uint64 // Maximum number of non-executable transaction slots permitted per account GlobalQueue uint64 // Maximum number of non-executable transaction slots for all accounts + GlobalBaseFeeQueue uint64 // Maximum number of non-executable transaction slots for all accounts + Lifetime time.Duration // Maximum amount of time non-executable transaction are queued StartOnInit bool } diff --git a/eth/backend.go b/eth/backend.go index 3d8fb1ae41..bfb5011bec 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -366,6 +366,9 @@ func New(stack *node.Node, config *ethconfig.Config, logger log.Logger) (*Ethere if config.TxPool.V2 { cfg := txpool2.DefaultConfig cfg.DBDir = path.Join(stack.Config().DataDir, "txpool") + cfg.PendingSubPoolLimit = int(config.TxPool.GlobalSlots) + cfg.BaseFeeSubPoolLimit = int(config.TxPool.GlobalBaseFeeQueue) + cfg.QueuedSubPoolLimit = int(config.TxPool.GlobalQueue) cfg.LogEvery = 1 * time.Minute //5 * time.Minute cfg.CommitEvery = 1 * time.Minute //5 * time.Minute diff --git a/turbo/cli/default_flags.go b/turbo/cli/default_flags.go index 160e770ee7..d6a4985758 100644 --- a/turbo/cli/default_flags.go +++ b/turbo/cli/default_flags.go @@ -21,6 +21,7 @@ var DefaultFlags = []cli.Flag{ utils.TxPoolPriceBumpFlag, utils.TxPoolAccountSlotsFlag, utils.TxPoolGlobalSlotsFlag, + utils.TxPoolGlobalBaseFeeSlotsFlag, utils.TxPoolAccountQueueFlag, utils.TxPoolGlobalQueueFlag, utils.TxPoolLifetimeFlag, -- GitLab