Exemplo n.º 1
0
static void
_task_reload_m2_lb(gpointer p)
{
	ADAPTIVE_PERIOD_DECLARE();
	if (!PSRV(p)->nsinfo)
		return;

	if (ADAPTIVE_PERIOD_SKIP())
		return;

	oio_lb_world__reload_pools(PSRV(p)->lb_world, PSRV(p)->lb,
			PSRV(p)->nsinfo);

	/* In meta2, we are only interrested in rawx services */
	GSList *svctypes = g_slist_prepend(NULL, NAME_SRVTYPE_RAWX);
	GError *err = sqlx_reload_lb_service_types(PSRV(p)->lb_world, PSRV(p)->lb,
			svctypes);
	if (err) {
		GRID_WARN("Failed to reload "NAME_SRVTYPE_RAWX" services: %s",
				err->message);
		g_clear_error(&err);
	} else {
		ADAPTIVE_PERIOD_ONSUCCESS(10);
	}
	g_slist_free(svctypes);

	oio_lb_world__reload_storage_policies(PSRV(p)->lb_world,
			PSRV(p)->lb, PSRV(p)->nsinfo);
	oio_lb_world__debug(PSRV(p)->lb_world);
}
Exemplo n.º 2
0
void
sqlx_task_reload_lb (struct sqlx_service_s *ss)
{
	EXTRA_ASSERT(ss != NULL);
	ADAPTIVE_PERIOD_DECLARE();

	if (!grid_main_is_running ())
		return;
	if (!ss->lb || !ss->nsinfo)
		return;
	if (ADAPTIVE_PERIOD_SKIP())
		return;

	GError *err = _reload_lbpool(ss->lb, FALSE);
	if (!err) {
		ADAPTIVE_PERIOD_ONSUCCESS(10);
	} else {
		GRID_WARN("Failed to reload the LB pool services: (%d) %s",
				err->code, err->message);
		g_clear_error(&err);
	}

	grid_lbpool_reconfigure(ss->lb, ss->nsinfo);
}