Compare commits

..

No commits in common. "e701c8fdbd89eda3ba3ac17ab7328b52113dbf59" and "3fc1543fb4a1b9321cf5ecc9a81e152a14950995" have entirely different histories.

4 changed files with 16 additions and 41 deletions

View File

@ -662,7 +662,6 @@ async fn check_watch_process(
"get block hash for block {} from RPC, assume there is no org", "get block hash for block {} from RPC, assume there is no org",
*progress - 1 *progress - 1
); );
let hash = loop {
match provider.get_block(*progress - 1).await { match provider.get_block(*progress - 1).await {
Ok(Some(v)) => { Ok(Some(v)) => {
break v.hash.expect("parent block hash expect exist"); break v.hash.expect("parent block hash expect exist");
@ -671,17 +670,11 @@ async fn check_watch_process(
panic!("parent block {} expect exist", *progress - 1); panic!("parent block {} expect exist", *progress - 1);
} }
Err(e) => { Err(e) => {
if e.to_string().contains("server is too busy") {
warn!("server busy, wait for parent block {}", *progress - 1);
} else {
panic!("parent block {} expect exist, error {}", *progress - 1, e); panic!("parent block {} expect exist, error {}", *progress - 1, e);
} }
} }
} }
}; };
break hash;
}
};
} }
progress_reset_history.retain(|k, _| k + 1000 >= *progress); progress_reset_history.retain(|k, _| k + 1000 >= *progress);

View File

@ -10,7 +10,7 @@ mod service;
use duration_str::deserialize_duration; use duration_str::deserialize_duration;
use network::Multiaddr; use network::Multiaddr;
use serde::Deserialize; use serde::Deserialize;
use std::{net::IpAddr, time::Duration}; use std::time::Duration;
pub use crate::service::RouterService; pub use crate::service::RouterService;
@ -26,7 +26,6 @@ pub struct Config {
pub libp2p_nodes: Vec<Multiaddr>, pub libp2p_nodes: Vec<Multiaddr>,
pub private_ip_enabled: bool, pub private_ip_enabled: bool,
pub check_announced_ip: bool, pub check_announced_ip: bool,
pub public_address: Option<IpAddr>,
// batcher // batcher
/// Timeout to publish messages in batch /// Timeout to publish messages in batch
@ -48,7 +47,6 @@ impl Default for Config {
libp2p_nodes: vec![], libp2p_nodes: vec![],
private_ip_enabled: false, private_ip_enabled: false,
check_announced_ip: false, check_announced_ip: false,
public_address: None,
batcher_timeout: Duration::from_secs(1), batcher_timeout: Duration::from_secs(1),
batcher_file_capacity: 1, batcher_file_capacity: 1,

View File

@ -348,26 +348,17 @@ impl Libp2pEventHandler {
} }
} }
async fn construct_announced_ip(&self) -> Option<Multiaddr> { async fn get_listen_addr_or_add(&self) -> Option<Multiaddr> {
// public address configured
if let Some(ip) = self.config.public_address {
let mut addr = Multiaddr::empty();
addr.push(ip.into());
addr.push(Protocol::Tcp(self.network_globals.listen_port_tcp()));
return Some(addr);
}
// public listen address
if let Some(addr) = self.get_listen_addr() { if let Some(addr) = self.get_listen_addr() {
return Some(addr); return Some(addr);
} }
// auto detect public IP address
let ipv4_addr = public_ip::addr_v4().await?; let ipv4_addr = public_ip::addr_v4().await?;
let mut addr = Multiaddr::empty(); let mut addr = Multiaddr::empty();
addr.push(Protocol::Ip4(ipv4_addr)); addr.push(Protocol::Ip4(ipv4_addr));
addr.push(Protocol::Tcp(self.network_globals.listen_port_tcp())); addr.push(Protocol::Tcp(self.network_globals.listen_port_tcp()));
addr.push(Protocol::P2p(self.network_globals.local_peer_id().into()));
self.network_globals self.network_globals
.listen_multiaddrs .listen_multiaddrs
@ -429,7 +420,7 @@ impl Libp2pEventHandler {
let peer_id = *self.network_globals.peer_id.read(); let peer_id = *self.network_globals.peer_id.read();
let addr = self.construct_announced_ip().await?; let addr = self.get_listen_addr_or_add().await?;
let timestamp = timestamp_now(); let timestamp = timestamp_now();
let shard_config = self.store.get_store().get_shard_config(); let shard_config = self.store.get_store().get_shard_config();
@ -461,7 +452,7 @@ impl Libp2pEventHandler {
shard_config: ShardConfig, shard_config: ShardConfig,
) -> Option<PubsubMessage> { ) -> Option<PubsubMessage> {
let peer_id = *self.network_globals.peer_id.read(); let peer_id = *self.network_globals.peer_id.read();
let addr = self.construct_announced_ip().await?; let addr = self.get_listen_addr_or_add().await?;
let timestamp = timestamp_now(); let timestamp = timestamp_now();
let msg = AnnounceShardConfig { let msg = AnnounceShardConfig {
@ -537,7 +528,7 @@ impl Libp2pEventHandler {
index_end: u64, index_end: u64,
) -> Option<PubsubMessage> { ) -> Option<PubsubMessage> {
let peer_id = *self.network_globals.peer_id.read(); let peer_id = *self.network_globals.peer_id.read();
let addr = self.construct_announced_ip().await?; let addr = self.get_listen_addr_or_add().await?;
let timestamp = timestamp_now(); let timestamp = timestamp_now();
let msg = AnnounceChunks { let msg = AnnounceChunks {

View File

@ -200,13 +200,6 @@ impl ZgsConfig {
pub fn router_config(&self, network_config: &NetworkConfig) -> Result<router::Config, String> { pub fn router_config(&self, network_config: &NetworkConfig) -> Result<router::Config, String> {
let mut router_config = self.router.clone(); let mut router_config = self.router.clone();
router_config.libp2p_nodes = network_config.libp2p_nodes.to_vec(); router_config.libp2p_nodes = network_config.libp2p_nodes.to_vec();
if router_config.public_address.is_none() {
if let Some(addr) = &self.network_enr_address {
router_config.public_address = Some(addr.parse().unwrap());
}
}
Ok(router_config) Ok(router_config)
} }