Merge branch 'develop' into MAX-324
This commit is contained in:
@ -3753,7 +3753,8 @@ static GWBUF* sescmd_cursor_process_replies(
|
||||
bref_clear_state(bref,BREF_IN_USE);
|
||||
bref_set_state(bref,BREF_CLOSED);
|
||||
bref_set_state(bref,BREF_SESCMD_FAILED);
|
||||
dcb_close(bref->bref_dcb);
|
||||
if(bref->bref_dcb)
|
||||
dcb_close(bref->bref_dcb);
|
||||
*reconnect = true;
|
||||
if(replybuf)
|
||||
gwbuf_consume(replybuf,gwbuf_length(replybuf));
|
||||
@ -3786,7 +3787,8 @@ static GWBUF* sescmd_cursor_process_replies(
|
||||
bref_clear_state(&ses->rses_backend_ref[i],BREF_IN_USE);
|
||||
bref_set_state(&ses->rses_backend_ref[i],BREF_CLOSED);
|
||||
bref_set_state(bref,BREF_SESCMD_FAILED);
|
||||
dcb_close(ses->rses_backend_ref[i].bref_dcb);
|
||||
if(ses->rses_backend_ref[i].bref_dcb)
|
||||
dcb_close(ses->rses_backend_ref[i].bref_dcb);
|
||||
*reconnect = true;
|
||||
}
|
||||
}
|
||||
@ -4343,6 +4345,19 @@ static bool route_session_write(
|
||||
|
||||
goto return_succp;
|
||||
}
|
||||
|
||||
if(router_cli_ses->rses_config.rw_max_sescmd_history_size > 0 &&
|
||||
router_cli_ses->rses_nsescmd >= router_cli_ses->rses_config.rw_max_sescmd_history_size)
|
||||
{
|
||||
LOGIF(LT, (skygw_log_write(
|
||||
LOGFILE_TRACE,
|
||||
"Router session exceeded session command history limit. "
|
||||
"Closing router session. <")));
|
||||
router_cli_ses->rses_closed = true;
|
||||
rses_end_locked_router_action(router_cli_ses);
|
||||
goto return_succp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Additional reference is created to querybuf to
|
||||
* prevent it from being released before properties
|
||||
@ -4414,6 +4429,9 @@ static bool route_session_write(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
atomic_add(&router_cli_ses->rses_nsescmd,1);
|
||||
|
||||
/** Unlock router session */
|
||||
rses_end_locked_router_action(router_cli_ses);
|
||||
|
||||
@ -4513,6 +4531,10 @@ static void rwsplit_process_router_options(
|
||||
router->rwsplit_config.rw_slave_select_criteria = c;
|
||||
}
|
||||
}
|
||||
else if(strcmp(options[i], "max_sescmd_history") == 0)
|
||||
{
|
||||
router->rwsplit_config.rw_max_sescmd_history_size = atoi(value);
|
||||
}
|
||||
}
|
||||
} /*< for */
|
||||
}
|
||||
|
Reference in New Issue
Block a user