From c1b64ebae9beefa7cb6960ed25bcd753b1af1286 Mon Sep 17 00:00:00 2001
From: "paritytech-cmd-bot-polkadot-sdk[bot]"
 <179002856+paritytech-cmd-bot-polkadot-sdk[bot]@users.noreply.github.com>
Date: Tue, 5 Nov 2024 08:35:59 +0100
Subject: [PATCH] [stable2409] Backport #5924 (#6356)

Backport #5924 into `stable2409` from AndreiEres.

See the
[documentation](https://github.com/paritytech/polkadot-sdk/blob/master/docs/BACKPORT.md)
on how to use this bot.

<!--
  # To be used by other automation, do not modify:
  original-pr-number: #${pull_number}
-->

Co-authored-by: Andrei Eres <eresav@me.com>
---
 .../network/protocol/src/request_response/mod.rs    | 10 ++++++----
 prdoc/pr_5924.prdoc                                 | 13 +++++++++++++
 2 files changed, 19 insertions(+), 4 deletions(-)
 create mode 100644 prdoc/pr_5924.prdoc

diff --git a/polkadot/node/network/protocol/src/request_response/mod.rs b/polkadot/node/network/protocol/src/request_response/mod.rs
index b498de55dce..296c462b508 100644
--- a/polkadot/node/network/protocol/src/request_response/mod.rs
+++ b/polkadot/node/network/protocol/src/request_response/mod.rs
@@ -123,10 +123,12 @@ const DEFAULT_REQUEST_TIMEOUT_CONNECTED: Duration = Duration::from_secs(1);
 /// Timeout for requesting availability chunks.
 pub const CHUNK_REQUEST_TIMEOUT: Duration = DEFAULT_REQUEST_TIMEOUT_CONNECTED;
 
-/// This timeout is based on what seems sensible from a time budget perspective, considering 6
-/// second block time. This is going to be tough, if we have multiple forks and large PoVs, but we
-/// only have so much time.
-const POV_REQUEST_TIMEOUT_CONNECTED: Duration = Duration::from_millis(1200);
+/// This timeout is based on the following parameters, assuming we use asynchronous backing with no
+/// time budget within a relay block:
+/// - 500 Mbit/s networking speed
+/// - 10 MB PoV
+/// - 10 parallel executions
+const POV_REQUEST_TIMEOUT_CONNECTED: Duration = Duration::from_millis(2000);
 
 /// We want timeout statement requests fast, so we don't waste time on slow nodes. Responders will
 /// try their best to either serve within that timeout or return an error immediately. (We need to
diff --git a/prdoc/pr_5924.prdoc b/prdoc/pr_5924.prdoc
new file mode 100644
index 00000000000..26bde8eec0d
--- /dev/null
+++ b/prdoc/pr_5924.prdoc
@@ -0,0 +1,13 @@
+# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0
+# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json
+
+title: Bump PoV request timeout
+
+doc:
+  - audience: Node Dev
+    description: |
+      With asynchronous backing and PoV size 10MB, we can increase the PoV request timeout from 1.2s to 2s.
+
+crates:
+  - name: polkadot-node-network-protocol
+    bump: patch
-- 
GitLab