Reconnect to peers after connecting drops
parent
dc57c5c362
commit
663153713b
6
osd.cpp
6
osd.cpp
|
@ -365,8 +365,12 @@ void osd_t::stop_client(int peer_fd)
|
|||
osd_client_t cl = it->second;
|
||||
if (cl.osd_num)
|
||||
{
|
||||
// FIXME: Reload configuration from Consul when the connection is dropped
|
||||
printf("[%lu] Stopping client %d (OSD peer %lu)\n", osd_num, peer_fd, cl.osd_num);
|
||||
if (cl.peer_state == PEER_CONNECTED)
|
||||
{
|
||||
// Reload configuration from Consul when the connection is dropped
|
||||
peer_states.erase(cl.osd_num);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -214,7 +214,6 @@ void osd_t::load_pgs()
|
|||
}
|
||||
}
|
||||
parse_pgs(pg_config, pg_history);
|
||||
peering_state = OSD_CONNECTING_PEERS;
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -288,6 +287,10 @@ void osd_t::parse_pgs(const json11::Json & pg_config, const std::map<pg_num_t, j
|
|||
pg_count++;
|
||||
}
|
||||
this->pg_count = pg_count;
|
||||
if (wanted_peers.size() > 0)
|
||||
{
|
||||
peering_state |= OSD_CONNECTING_PEERS;
|
||||
}
|
||||
}
|
||||
|
||||
void osd_t::load_and_connect_peers()
|
||||
|
|
|
@ -327,6 +327,11 @@ void osd_t::start_pg_peering(pg_num_t pg_num)
|
|||
{
|
||||
cur_peers.insert(peer_osd);
|
||||
}
|
||||
else if (wanted_peers.find(peer_osd) == wanted_peers.end())
|
||||
{
|
||||
wanted_peers[peer_osd] = { 0 };
|
||||
peering_state |= OSD_CONNECTING_PEERS;
|
||||
}
|
||||
}
|
||||
if (pg.peering_state)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue