Merge branch 'develop' into schemarouter_refresh
Conflicts: Documentation/Tutorials/Replication-Proxy-Binlog-Router-Tutorial.md
This commit is contained in:
@ -1179,7 +1179,6 @@ static void closeSession(
|
||||
*/
|
||||
dcb_close(dcb);
|
||||
/** decrease server current connection counters */
|
||||
atomic_add(&bref->bref_backend->backend_server->stats.n_current, -1);
|
||||
atomic_add(&bref->bref_backend->backend_conn_count, -1);
|
||||
}
|
||||
}
|
||||
@ -2924,11 +2923,16 @@ int bref_cmp_current_load(
|
||||
return ((1000 * s1->stats.n_current_ops) - b1->weight)
|
||||
- ((1000 * s2->stats.n_current_ops) - b2->weight);
|
||||
}
|
||||
|
||||
|
||||
static void bref_clear_state(
|
||||
backend_ref_t* bref,
|
||||
bref_state_t state)
|
||||
{
|
||||
if(bref == NULL)
|
||||
{
|
||||
skygw_log_write(LE,"[%s] Error: NULL parameter.",__FUNCTION__);
|
||||
return;
|
||||
}
|
||||
if (state != BREF_WAITING_RESULT)
|
||||
{
|
||||
bref->bref_state &= ~state;
|
||||
@ -2937,10 +2941,10 @@ static void bref_clear_state(
|
||||
{
|
||||
int prev1;
|
||||
int prev2;
|
||||
|
||||
|
||||
/** Decrease waiter count */
|
||||
prev1 = atomic_add(&bref->bref_num_result_wait, -1);
|
||||
|
||||
|
||||
if (prev1 <= 0) {
|
||||
atomic_add(&bref->bref_num_result_wait, 1);
|
||||
}
|
||||
@ -2950,14 +2954,26 @@ static void bref_clear_state(
|
||||
prev2 = atomic_add(
|
||||
&bref->bref_backend->backend_server->stats.n_current_ops, -1);
|
||||
ss_dassert(prev2 > 0);
|
||||
}
|
||||
if(prev2 <= 0)
|
||||
{
|
||||
skygw_log_write(LE,"[%s] Error: negative current operation count in backend %s:%u",
|
||||
__FUNCTION__,
|
||||
&bref->bref_backend->backend_server->name,
|
||||
&bref->bref_backend->backend_server->port);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void bref_set_state(
|
||||
static void bref_set_state(
|
||||
backend_ref_t* bref,
|
||||
bref_state_t state)
|
||||
{
|
||||
if(bref == NULL)
|
||||
{
|
||||
skygw_log_write(LE,"[%s] Error: NULL parameter.",__FUNCTION__);
|
||||
return;
|
||||
}
|
||||
if (state != BREF_WAITING_RESULT)
|
||||
{
|
||||
bref->bref_state |= state;
|
||||
@ -2966,15 +2982,28 @@ static void bref_set_state(
|
||||
{
|
||||
int prev1;
|
||||
int prev2;
|
||||
|
||||
|
||||
/** Increase waiter count */
|
||||
prev1 = atomic_add(&bref->bref_num_result_wait, 1);
|
||||
ss_dassert(prev1 >= 0);
|
||||
|
||||
if(prev1 < 0)
|
||||
{
|
||||
skygw_log_write(LE,"[%s] Error: negative number of connections waiting for results in backend %s:%u",
|
||||
__FUNCTION__,
|
||||
&bref->bref_backend->backend_server->name,
|
||||
&bref->bref_backend->backend_server->port);
|
||||
}
|
||||
/** Increase global operation count */
|
||||
prev2 = atomic_add(
|
||||
&bref->bref_backend->backend_server->stats.n_current_ops, 1);
|
||||
ss_dassert(prev2 >= 0);
|
||||
ss_dassert(prev2 >= 0);
|
||||
if(prev2 < 0)
|
||||
{
|
||||
skygw_log_write(LE,"[%s] Error: negative current operation count in backend %s:%u",
|
||||
__FUNCTION__,
|
||||
&bref->bref_backend->backend_server->name,
|
||||
&bref->bref_backend->backend_server->port);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -319,7 +319,7 @@ parse_mapping_response(ROUTER_CLIENT_SES* rses, char* target, GWBUF* buf)
|
||||
if(PTR_IS_RESULTSET(((unsigned char*)buf->start)) &&
|
||||
modutil_count_signal_packets(buf,0,0,&more) == 2)
|
||||
{
|
||||
ptr = (char*)buf->start;
|
||||
ptr = (unsigned char*)buf->start;
|
||||
|
||||
if(ptr[5] != 1)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user