On 28/06/2013, at 9:16 PM, Andrew Beekhof <and...@beekhof.net> wrote:
> > On 28/06/2013, at 8:10 PM, Andrew Beekhof <and...@beekhof.net> wrote: > >> >> On 28/06/2013, at 6:42 PM, Bernardo Cabezas Serra <bcabe...@apsl.net> wrote: >> >>> Hello Andrew, >>> >>> El 27/06/13 14:44, Andrew Beekhof escribió: >>>> You should see additional logs sent to /var/log/pacemaker.log >>> >>> Finally yesterday issue happened again. This time, node "selavi" was DC, >>> and node "turifel" joined the cluster. Cluster was in status unmanaged. >>> >>> Unfortunately, I have no pacemaker trace logs on selavi, but have it for >>> turifel. >> >> No good I'm afraid. >> And they both look heavily filtered. > > Aha! But I seem to be able to produce it on my test cluster. > I'll enable tracing and see what it turns up. > Fixed: diff --git a/lib/cluster/membership.c b/lib/cluster/membership.c index 875c1c8..556c0f4 100644 --- a/lib/cluster/membership.c +++ b/lib/cluster/membership.c @@ -178,6 +178,14 @@ static void crm_dump_peer_hash(int level, const char *caller) } } +static gboolean crm_hash_find_by_data(gpointer key, gpointer value, gpointer user_data) +{ + if(value == user_data) { + return TRUE; + } + return FALSE; +} + /* coverity[-alloc] Memory is referenced in one or both hashtables */ crm_node_t * crm_get_peer(unsigned int id, const char *uname) @@ -259,7 +267,7 @@ crm_get_peer(unsigned int id, const char *uname) crm_dump_peer_hash(LOG_DEBUG, __FUNCTION__); crm_info("Merging %p into %p", by_name, by_id); - g_hash_table_remove(crm_peer_cache, by_name); + g_hash_table_foreach_remove(crm_peer_cache, crm_hash_find_by_data, by_name); } if (node == NULL) { _______________________________________________ Pacemaker mailing list: Pacemaker@oss.clusterlabs.org http://oss.clusterlabs.org/mailman/listinfo/pacemaker Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org