Try a different arrangement of DCB closures in handleError of read-write split.
This commit is contained in:
@ -4891,6 +4891,7 @@ static void handleError (
|
|||||||
"corresponding backend ref.",
|
"corresponding backend ref.",
|
||||||
srv->name,
|
srv->name,
|
||||||
srv->port)));
|
srv->port)));
|
||||||
|
dcb_close(backend_dcb);
|
||||||
}
|
}
|
||||||
if (!srv->master_err_is_logged)
|
if (!srv->master_err_is_logged)
|
||||||
{
|
{
|
||||||
@ -4969,6 +4970,10 @@ static void handle_error_reply_client(
|
|||||||
dcb_close(backend_dcb);
|
dcb_close(backend_dcb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dcb_close(backend_dcb);
|
||||||
|
}
|
||||||
|
|
||||||
if (sesstate == SESSION_STATE_ROUTER_READY)
|
if (sesstate == SESSION_STATE_ROUTER_READY)
|
||||||
{
|
{
|
||||||
@ -5018,6 +5023,7 @@ static bool handle_error_new_connection(
|
|||||||
if ((bref = get_bref_from_dcb(myrses, backend_dcb)) == NULL)
|
if ((bref = get_bref_from_dcb(myrses, backend_dcb)) == NULL)
|
||||||
{
|
{
|
||||||
succp = true;
|
succp = true;
|
||||||
|
dcb_close(backend_dcb);
|
||||||
goto return_succp;
|
goto return_succp;
|
||||||
}
|
}
|
||||||
CHK_BACKEND_REF(bref);
|
CHK_BACKEND_REF(bref);
|
||||||
|
|||||||
Reference in New Issue
Block a user