From e5e0a6d36ae61f410f2d61a04e23cc643714145b Mon Sep 17 00:00:00 2001
From: Alexandru Gheorghe <49718502+alexggh@users.noreply.github.com>
Date: Fri, 7 Feb 2025 12:30:13 +0200
Subject: [PATCH] enable approval-voting-parallel on polkadot (#7504)

approval-voting-parallel has been running on all network types except
polkadot since release `1.17.0`, so it has around 2 months of baking and
running without any reported issues, so let's enable it on polkadot as
well.

After running in polkadot for awhile the flag will be entirely removed.

---------

Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
---
 polkadot/cli/src/cli.rs          |  8 ++++----
 polkadot/node/service/src/lib.rs |  7 -------
 prdoc/pr_7504.prdoc              | 11 +++++++++++
 3 files changed, 15 insertions(+), 11 deletions(-)
 create mode 100644 prdoc/pr_7504.prdoc

diff --git a/polkadot/cli/src/cli.rs b/polkadot/cli/src/cli.rs
index 777bb9c6067..6187eb79a36 100644
--- a/polkadot/cli/src/cli.rs
+++ b/polkadot/cli/src/cli.rs
@@ -18,7 +18,7 @@
 
 pub use polkadot_node_primitives::NODE_VERSION;
 
-use clap::Parser;
+use clap::{ArgAction, Parser};
 use std::path::PathBuf;
 
 #[allow(missing_docs)]
@@ -148,9 +148,9 @@ pub struct RunCmd {
 
 	/// Enable approval-voting message processing in parallel.
 	///
-	///**Dangerous!** This is an experimental feature and should not be used in production, unless
-	/// explicitly advised to.
-	#[arg(long)]
+	/// This is a flag used for gradually enabling approval-voting-parallel in production,
+	/// should not be used unless explicitly advised to. It will be removed in the future.
+	#[arg(long, default_value = "true", action=ArgAction::Set)]
 	pub enable_approval_voting_parallel: bool,
 }
 
diff --git a/polkadot/node/service/src/lib.rs b/polkadot/node/service/src/lib.rs
index 820cce8d083..ce17ae5f51b 100644
--- a/polkadot/node/service/src/lib.rs
+++ b/polkadot/node/service/src/lib.rs
@@ -759,13 +759,6 @@ pub fn new_full<
 		Some(backoff)
 	};
 
-	// Running approval voting in parallel is enabled by default on all networks except Polkadot
-	// unless explicitly enabled by the commandline option.
-	// This is meant to be temporary until we have enough confidence in the new system to enable it
-	// by default on all networks.
-	let enable_approval_voting_parallel =
-		!config.chain_spec.is_polkadot() || enable_approval_voting_parallel;
-
 	let disable_grandpa = config.disable_grandpa;
 	let name = config.network.node_name.clone();
 
diff --git a/prdoc/pr_7504.prdoc b/prdoc/pr_7504.prdoc
new file mode 100644
index 00000000000..3b3a64ffcdc
--- /dev/null
+++ b/prdoc/pr_7504.prdoc
@@ -0,0 +1,11 @@
+title: Enable approval-voting-parallel by default on polkadot
+
+doc:
+  - audience: Node Dev
+    description: |
+        Enable approval-voting-parallel by default on polkadot
+crates:
+  - name: polkadot-service
+    bump: patch
+  - name: polkadot-cli
+    bump: patch
-- 
GitLab