Skip to content

Commit

Permalink
Merge branch '4.1.x' into 4.2.x
Browse files Browse the repository at this point in the history
  • Loading branch information
fvennetier committed Jun 18, 2018
2 parents 83dedf6 + 171ed2a commit 2c5272a
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions sqliterepo/election.c
Expand Up @@ -1531,14 +1531,15 @@ deferred_completion_ASKING(struct exec_later_ASKING_context_s *d)

member_lock(d->member);
member_log_completion("ASK", d->zrc, d->member);

if (d->zrc != ZOK) {
transition_error(d->member, EVT_MASTER_KO, d->zrc);
} else {
const char * const * peers = (const char * const *) d->member->peers;
if (!d->master[0] || !metautils_url_valid_for_connect(d->master)) {
transition(d->member, EVT_MASTER_BAD, NULL);
} else if (!d->member->peers || !oio_strv_has((const char * const *)d->member->peers, d->master)) {
/* The master is an unknown peer. A reload of the peers is necessary */
GRID_WARN("unknown master [%s] for [%s.%s]", d->master,
} else if (!peers) {
GRID_WARN("No peer known for [%s.%s]",
d->member->inline_name.base, d->member->inline_name.type);
d->member->requested_peers_decache = 1;
transition(d->member, EVT_MASTER_BAD, NULL);
Expand All @@ -1561,6 +1562,17 @@ deferred_completion_ASKING(struct exec_later_ASKING_context_s *d)
}
TRACE_EXECUTION(d->member->manager);

transition(d->member, EVT_MASTER_BAD, NULL);
} else if (!oio_strv_has(peers, d->master)) {
/* The master is an unknown peer. A reload of the peers is necessary */
GString *tmp = g_string_sized_new(128);
for (const char * const *p = peers; peers && *p ;++p)
g_string_append_printf(tmp, " [%s]", *p);
GRID_WARN("unknown master [%s] for [%s.%s], only%s", d->master,
d->member->inline_name.base, d->member->inline_name.type,
tmp->str);
g_string_free(tmp, TRUE);
d->member->requested_peers_decache = 1;
transition(d->member, EVT_MASTER_BAD, NULL);
} else {
transition(d->member, EVT_MASTER_OK, d->master);
Expand Down

0 comments on commit 2c5272a

Please sign in to comment.