From 5835b3b8eb942a2eed4e44124f279f5d268d5b12 Mon Sep 17 00:00:00 2001 From: Justin Starry Date: Sun, 10 Nov 2019 12:20:52 -0500 Subject: [PATCH] Increase timeout when confirming airdrop for max commitment (#6858) * Increase timeout when confirming airdrop for max commitment * Add commitment to airdrop rpc trace * Flip commitment check --- core/src/rpc.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/core/src/rpc.rs b/core/src/rpc.rs index f6ce25fa2c..9696bca0c2 100644 --- a/core/src/rpc.rs +++ b/core/src/rpc.rs @@ -757,7 +757,12 @@ impl RpcSol for RpcSolImpl { lamports: u64, commitment: Option, ) -> Result { - trace!("request_airdrop id={} lamports={}", pubkey_str, lamports); + trace!( + "request_airdrop id={} lamports={} commitment: {:?}", + pubkey_str, + lamports, + &commitment + ); let drone_addr = meta .request_processor @@ -798,6 +803,10 @@ impl RpcSol for RpcSolImpl { let signature = transaction.signatures[0]; let now = Instant::now(); let mut signature_status; + let signature_timeout = match &commitment { + Some(config) if config.commitment == CommitmentLevel::Recent => 5, + _ => 30, + }; loop { signature_status = meta .request_processor @@ -809,7 +818,7 @@ impl RpcSol for RpcSolImpl { if signature_status == Some(Ok(())) { info!("airdrop signature ok"); return Ok(signature.to_string()); - } else if now.elapsed().as_secs() > 5 { + } else if now.elapsed().as_secs() > signature_timeout { info!("airdrop signature timeout"); return Err(Error::internal_error()); }