Added error check to mysql_backend.c to prevent unnecessary logging.

This commit is contained in:
VilhoRaatikka
2014-12-03 15:42:04 +02:00
parent 730cd67992
commit 6d98df0c37

View File

@ -830,18 +830,22 @@ static int gw_error_backend_event(DCB *dcb)
*/ */
if (dcb->state != DCB_STATE_POLLING) if (dcb->state != DCB_STATE_POLLING)
{ {
int error, len; int error, len;
char buf[100]; char buf[100];
len = sizeof(error); len = sizeof(error);
if (getsockopt(dcb->fd, SOL_SOCKET, SO_ERROR, &error, &len) == 0) if (getsockopt(dcb->fd, SOL_SOCKET, SO_ERROR, &error, &len) == 0)
{ {
strerror_r(error, buf, 100); if (error != 0)
LOGIF(LE, (skygw_log_write_flush( {
LOGFILE_ERROR, strerror_r(error, buf, 100);
"DCB in state %s got error '%s'.", LOGIF(LE, (skygw_log_write_flush(
gw_dcb_state2string(dcb->state), LOGFILE_ERROR,
buf))); "DCB in state %s got error '%s'.",
STRDCBSTATE(dcb->state),
buf)));
}
} }
return 1; return 1;
} }
@ -869,18 +873,21 @@ static int gw_error_backend_event(DCB *dcb)
if (ses_state != SESSION_STATE_ROUTER_READY) if (ses_state != SESSION_STATE_ROUTER_READY)
{ {
int error, len; int error, len;
char buf[100]; char buf[100];
len = sizeof(error); len = sizeof(error);
if (getsockopt(dcb->fd, SOL_SOCKET, SO_ERROR, &error, &len) == 0) if (getsockopt(dcb->fd, SOL_SOCKET, SO_ERROR, &error, &len) == 0)
{ {
strerror_r(error, buf, 100); if (error != 0)
LOGIF(LE, (skygw_log_write_flush( {
LOGFILE_ERROR, strerror_r(error, buf, 100);
"Error '%s' in session that is not ready for routing.", LOGIF(LE, (skygw_log_write_flush(
buf))); LOGFILE_ERROR,
} "Error '%s' in session that is not ready for routing.",
buf)));
}
}
gwbuf_free(errbuf); gwbuf_free(errbuf);
goto retblock; goto retblock;
} }