[Sqlrelay-discussion] Database Server Failover BUG
Brought to you by:
mused
|
From: Cesar P. <cpe...@bt...> - 2005-10-07 19:49:25
|
I'm using sqlrelay to connect to MS-SQL thru freetds
When the DB Server goes down the I got this message:
ERROR sendQuery: Client Library error:
severity(78)
layer(0)
origin(0)
number(38)
Error: Write to SQL Server failed.
But the connection stay live and doesn't try to reconnect
I look into the code and found that this error isn't considered
A server fail for freetds only the read
src/connections/freetds/freetds.C:=20
CS_RETCODE freetdsconnection::csMessageCallback
.
.
.
// for a read from sql server failed message, set deadconnection
to 1
} else if (CS_SEVERITY(msgp->msgnumber)=3D=3D78 &&
CS_LAYER(msgp->msgnumber)=3D=3D0 &&
CS_ORIGIN(msgp->msgnumber)=3D=3D0 &&
CS_NUMBER(msgp->msgnumber)=3D=3D36) {
deadconnection=3Dtrue;
}
I think must be=20
// for a read-from or write-to sql server failed message,
// set deadconnection to 1
} else if (CS_SEVERITY(msgp->msgnumber)=3D=3D78 &&
CS_LAYER(msgp->msgnumber)=3D=3D0 &&
CS_ORIGIN(msgp->msgnumber)=3D=3D0 &&
(CS_NUMBER(msgp->msgnumber)=3D=3D36 ||
CS_NUMBER(msgp->msgnumber)=3D=3D38 )) {
deadconnection=3Dtrue;
}
And the same in=20
CS_RETCODE freetdsconnection::clientMessageCallback
Appreciate comments.
Thanx in advance
|