From 106cacb2e930b0915739c9bc59f39009a8ec8a98 Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Wed, 10 Jul 2024 10:58:50 +0000 Subject: [PATCH] Merge pull request #1082 from UniqueNetwork/feature/increase-future-pool --- --- a/.baedeker/forkless-data.jsonnet +++ b/.baedeker/forkless-data.jsonnet @@ -54,6 +54,9 @@ [name]: { bin: $.bin, wantedKeys: 'para', + extraArgs: [ + '--increase-future-pool', + ], }, for name in ['alice', 'bob'] }, --- a/.baedeker/node-only.jsonnet +++ b/.baedeker/node-only.jsonnet @@ -30,6 +30,9 @@ [name]: { bin: $.bin, wantedKeys: 'para', + extraArgs: [ + '--increase-future-pool', + ], }, for name in ['alice', 'bob'] }, --- a/.baedeker/xcm-opal-async-backing.jsonnet +++ b/.baedeker/xcm-opal-async-backing.jsonnet @@ -55,6 +55,9 @@ [name]: { bin: $.bin, wantedKeys: 'para', + extraArgs: [ + '--increase-future-pool', + ], }, for name in ['alice', 'bob', 'charlie', 'dave', 'eve'] }, --- a/.baedeker/xcm-opal.jsonnet +++ b/.baedeker/xcm-opal.jsonnet @@ -35,6 +35,9 @@ [name]: { bin: $.bin, wantedKeys: 'para', + extraArgs: [ + '--increase-future-pool', + ], }, for name in ['alice', 'bob'] }, --- a/.baedeker/xcm-quartz.jsonnet +++ b/.baedeker/xcm-quartz.jsonnet @@ -40,6 +40,9 @@ [name]: { bin: $.bin, wantedKeys: 'para', + extraArgs: [ + '--increase-future-pool', + ], }, for name in ['alice', 'bob'] }, --- a/.baedeker/xcm-unique.jsonnet +++ b/.baedeker/xcm-unique.jsonnet @@ -41,6 +41,9 @@ [name]: { bin: $.bin, wantedKeys: 'para', + extraArgs: [ + '--increase-future-pool', + ], }, for name in ['alice', 'bob'] }, --- a/.github/workflows/node-only-update.yml +++ b/.github/workflows/node-only-update.yml @@ -161,7 +161,8 @@ inputs: | .baedeker/node-only.jsonnet snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/polkadot':{dockerImage:'${{ steps.polkadot.outputs.name }}'}}) - ephemeral:snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.mainnet.outputs.name }}'}}) + # extra_node_mixin due to mainnet unique node not supporting --increase-future-pool + ephemeral:snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.mainnet.outputs.name }}'}}, extra_node_mixin={extraArgs: []}) - name: Run Parallel tests before Node Parachain upgrade working-directory: ${{ matrix.mainnet_branch }}/tests --- a/node/cli/src/cli.rs +++ b/node/cli/src/cli.rs @@ -106,6 +106,15 @@ #[clap(long)] pub no_hardware_benchmarks: bool, + /// Make future pool the same size as the ready pool. + /// + /// By default, future pool is factor 10 smaler than the ready pool, which causes transactions to be dropped as they + /// are retracted, without the ability to move them back to the ready pool after revalidation. + /// + /// This switch makes that transactions still can be dropped, but only when there is more transactions than the pool + /// size configured with `--pool-limit` (amount of txes), `--pool-kbytes` (size of all txes in kbytes). + pub increase_future_pool: bool, + /// Relaychain arguments #[structopt(raw = true)] pub relaychain_args: Vec, --- a/node/cli/src/command.rs +++ b/node/cli/src/command.rs @@ -458,7 +458,7 @@ let runner = cli.create_runner(&cli.run.normalize())?; let collator_options = cli.run.collator_options(); - runner.run_node_until_exit(|config| async move { + runner.run_node_until_exit(|mut config| async move { let hwbench = if !cli.no_hardware_benchmarks { config.database.path().map(|database_path| { let _ = std::fs::create_dir_all(database_path); @@ -467,6 +467,10 @@ } else { None }; + + if cli.increase_future_pool { + config.transaction_pool.future = config.transaction_pool.ready.clone(); + } let extensions = chain_spec::Extensions::try_get(&*config.chain_spec); -- gitstuff