Vote for the incumbent if still reachable

pmeunier
Jul 26, 2022, 2:30 PM
VEEH77WELUZIS2L32UGTKYHJTUOZ42RY7EIPTKR46NJJF6M2YPHQC

Dependencies

  • [2] FIIWK33F Fixing lock issues
  • [3] NPSWSVZN Init
  • [4] ENEREHTW Restart and rewind the server during failover (requires policykit)

Change contents

  • replacement in src/main.rs at line 233
    [2.1424][3.4476:4553](),[3.4476][3.4476:4553]()
    let mut lock = client.campaign("postrep", host.as_str(), id).await?;
    [2.1424]
    [3.1733]
    let candidate = {
    let l = leader.borrow().as_str().to_string();
    if l.is_empty() {
    host.clone()
    } else {
    use std::net::ToSocketAddrs;
    let s = (l.as_str(), 5432)
    .to_socket_addrs()
    .unwrap()
    .next()
    .unwrap();
    if tokio::time::timeout(
    std::time::Duration::from_secs(120),
    tokio::net::TcpStream::connect(&s),
    )
    .await
    .is_ok()
    {
    l
    } else {
    host.clone()
    }
    }
    };
    let mut lock = client.campaign("postrep", candidate, id).await?;