Fixed client hangups if the first response to a SHOW DATABASES query was sent too fast.

This commit is contained in:
Markus Makela
2015-02-10 16:07:50 +02:00
parent 36363b09a1
commit 54eb3dd904

View File

@ -797,6 +797,7 @@ static void* newSession(
client_rses->dcb_route->func.read = internalRoute;
client_rses->dcb_route->state = DCB_STATE_POLLING;
client_rses->dcb_route->session = session;
client_rses->init = INIT_MAPPING;
if(using_db)
client_rses->init |= INIT_USE_DB;
/**
@ -908,8 +909,7 @@ static void* newSession(
strncpy(client_rses->connect_db,db,MYSQL_DATABASE_MAXLEN+1);
}
/* Generate database list */
gen_databaselist(router,client_rses);
rses_end_locked_router_action(client_rses);
@ -1648,6 +1648,9 @@ static int routeQuery(
if(!rses_is_closed && router_cli_ses->init != INIT_READY)
{
/* Generate database list */
gen_databaselist(inst,router_cli_ses);
char* querystr = modutil_get_SQL(querybuf);
skygw_log_write(LOGFILE_DEBUG,"dbshard: Storing query for session %p: %s",
router_cli_ses->rses_client_dcb->session,