[Sqlrelay-discussion] listener hang with open database port
Brought to you by:
mused
|
From: Cal H. <ca...@fb...> - 2010-05-26 20:04:22
|
David / Renat, I was wondering if you might know the answer to this. I have a special fail condition with DB2 that isn't being handled correctly with relay. On some rare cases, if DB2 is overloaded or crashes in a mysterious way, the port is left open but unresponsive after the connection is setup. This is different than the typical connection timeout, because the connection is made quickly, it just hangs on authentication indefinitely. You can recreate this by setting up a DB2 catalog to point at some open service that doesn't respond. I setup one pointing to a running apache instance and it recreated my scenario perfectly. (Even connecting with the db2 command line utility hangs forever, and you can't break out or even kill the process) I've also looked around for DB2CLI.INI timeout settings for this, and there isn't any help. Only connection timeout settings exist. I've also applied all of Renat's patches, and still have the same problem. The last entry I see in the listener debug log is: "waiting for the scaler..." which is from sqlrlistener.C around line 1285. It hangs at that point until I manually kill the listener process. I've been trying to study what is happening here between the listener and scaler, but haven't determined anything so far. Let me know if you have any ideas. Thanks! --Cal |