Re: [Sqlrelay-discussion] getting stuck (Oracle)
Brought to you by:
mused
|
From: David M. <dav...@fi...> - 2008-02-11 21:37:22
|
The "acquiring announce mutex" thing is actually normal behavior. One of the sqlr-connection daemons will acquire the mutex and wait for the listener to give it some work to do. The others will wait for their turn. As soon as the sqlr-listener has given the sqlr-connection daemon a query to run, another sqlr-connection daemon will acquire the mutex and wait. So, that part is normal. Does it work as expected if connections="10" and maxconnections="10" and just start failing when they're bumped up to 15? If so, the only thing I can think of offhand is that you've exhausted some resource like memory or some semaphore-related resource or something. What else do you have running on the machine? Also, a common error is to start up too many cursors per connection, which can easily exhaust memory as each allocates a pretty large fetch buffer. See http://sqlrelay.sourceforge.net/sqlrelay/tuning.html#memoryusage for more info on that. Also, send me your sqlrelay.conf file entries with the passwords XXX'ed out, there might be something helpful in there. Dave On Mon, 2008-02-11 at 15:55 -0500, John Klassa wrote: > I decided to try running just one instance of SQL Relay (rather than > two, with one simply routing SELECTs to the other). It seems to work > now, so I suspect the issue was that the two instances were stepping > on each other somehow. I'm still digging... > > On Feb 11, 2008 3:29 PM, John Klassa <kl...@gm...> wrote: > > A previous thread on this list suggested that the listener(s) might > > not be running... They are. For them, the last debug/log line reads: > > > > 02/11/2008 11:09:25 PST listener [7683] : waiting for client connection... > > > > Thanks. > > > > > > On Feb 11, 2008 12:55 PM, John Klassa <kl...@gm...> wrote: > > > Slight correction... Clients can occasionally connect, and do a bit > > > more work. Perhaps something eventually times out and gives up? > > > Regardless, most of the time, clients are just stuck, waiting, and the > > > debug output looks largely the same (i.e. most of them ending in, > > > "acquiring announce mutex"). > > > > > > > > > On Feb 11, 2008 12:51 PM, John Klassa <kl...@gm...> wrote: > > > > I have a setup with two SQL Relay instances -- one just routes > > > > "select" statements to the other, and drops anything else. The > > > > "other" is actually connected to the database, and does work. > > > > > > > > I've found that if I change the worker (the one that's actually > > > > connected to the DB) from having: > > > > > > > > connections="10" > > > > maxconnections="10" > > > > > > > > to having : > > > > > > > > connections="15" > > > > maxconnections="15" > > > > > > > > then after I run just a few commands through SQL Relay, it hangs. > > > > Clients can't connect, and no work gets done -- even though the SQL > > > > Relay server and the database are sitting largely idle, doing nothing. > > > > No error messages anywhere (other than timeouts on the clients). > > > > Nothing ever frees up, and SQL Relay never does useful work again, > > > > until I restart it. > > > > > > > > The database user I'm connecting as has no simultaneous session limit, > > > > according to my DBA. So, I'm at a bit of a loss. It's as though > > > > something is getting locked, and blocking everything from then on. > > > > > > > > When I turn on debug, the connection debug files end like this (this > > > > is the output of "tail -2" on each): > > > > > > > > 02/11/2008 09:44:15 PST connection [7638] : acquiring announce mutex > > > > > > > > 02/11/2008 09:43:35 PST connection [7640] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:11 PST connection [7642] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:24 PST connection [7644] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:14 PST connection [7646] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:13 PST connection [7648] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:18 PST connection [7650] : waiting for listener > > > > > > > > 02/11/2008 09:44:15 PST connection [7652] : acquiring announce mutex > > > > > > > > 02/11/2008 09:43:43 PST connection [7661] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:11 PST connection [7663] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:10 PST connection [7665] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:18 PST connection [7667] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:13 PST connection [7669] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:17 PST connection [7671] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:18 PST connection [7673] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:18 PST connection [7685] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:12 PST connection [7687] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:14 PST connection [7689] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:19 PST connection [7691] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:13 PST connection [7693] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:13 PST connection [7699] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:14 PST connection [7701] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:18 PST connection [7703] : waiting for listener > > > > > > > > 02/11/2008 09:44:16 PST connection [7708] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:17 PST connection [7710] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:18 PST connection [7712] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:14 PST connection [7732] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:10 PST connection [7737] : acquiring announce mutex > > > > > > > > 02/11/2008 09:44:18 PST connection [7744] : > > > > preparing/executing... > > > > > > > > 02/11/2008 09:44:12 PST connection [7753] : acquiring announce mutex > > > > > > > > So it looks like they're all waiting to acquire the announce mutex. > > > > > > > > I tried building against Oracle 9 and Oracle 10, and get this same > > > > result either way. > > > > > > > > (On that note, I need to post separately about Oracle 10. I had to > > > > finagle it to build, there.) > > > > > > > > Anyway, any thoughts on how to fix this "announce mutex" issue? > > > > > > > > Thanks! > > > > > > > > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Sqlrelay-discussion mailing list > Sql...@li... > https://lists.sourceforge.net/lists/listinfo/sqlrelay-discussion > > > __________________________________________________ > D O T E A S Y - "Join the web hosting revolution!" > http://www.doteasy.com __________________________________________________ D O T E A S Y - "Join the web hosting revolution!" http://www.doteasy.com |