From 008e387381b8c44d938e8f9f634574d8487c9156 Mon Sep 17 00:00:00 2001 From: Ryo Onodera Date: Sat, 16 Jan 2021 23:07:50 +0900 Subject: [PATCH] WIP fix the occasional stuck RPC request (cherry picked from commit 5cf9094bb9817add3f55b4fcada315e9f6e7d9e1) --- core/src/rpc_service.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/src/rpc_service.rs b/core/src/rpc_service.rs index d75e9c2604..83cc9ccd33 100644 --- a/core/src/rpc_service.rs +++ b/core/src/rpc_service.rs @@ -357,6 +357,14 @@ impl JsonRpcService { let ledger_path = ledger_path.to_path_buf(); + let runtime01 = { + use tokio_01::runtime::{Builder as RuntimeBuilder, Runtime, TaskExecutor}; + RuntimeBuilder::new() + .name_prefix("rpc") + .build() + .unwrap() + }; + let (close_handle_sender, close_handle_receiver) = channel(); let thread_hdl = Builder::new() .name("solana-jsonrpc".to_string()) @@ -375,7 +383,8 @@ impl JsonRpcService { io, move |_req: &hyper::Request| request_processor.clone(), ) - .threads(rpc_threads) + .event_loop_executor(runtime01.executor()) + .threads(1) .cors(DomainsValidation::AllowOnly(vec![ AccessControlAllowOrigin::Any, ]))