bugzilla-daemon at main.slony.info bugzilla-daemon at main.slony.info
Fri Mar 18 11:01:56 PDT 2011
http://www.slony.info/bugzilla/show_bug.cgi?id=175

--- Comment #17 from Steve Singer <ssinger at ca.afilias.info> 2011-03-18 11:01:56 PDT ---

> 
> > 2.  In monitor thread - dbconn is never closed.  Especially in the cases where
> > we 'stop' the monitoring thread we should shutdown the connection (if we are
> > able). We also MIGHT want to think about emptying the queue at this point.  We
> > aren't going to empty it later and if the database connection was stuck for a
> > while before it timed out leading to the error the queue might have grown in
> > size.  
> 
> dbconn isn't closed directly - it's closed via slon_disconnect(conn).

Didn't see that.  We then need to call slon_disconnect on line 92


> 
> As for emptying the queue, I don't see much value in it.  The condition on the
> loop is on the waits returning SCHED_STATUS_OK.  I don't think you get to ask
> it to terminate, or is there a signal you could throw that would kick just the
> one thread?
> 

Lines: 121, 191, and to a lesser extend 212 and 95 are all on code paths where
we break out of the loop but don't free the space already used by the queue.


> Actually, we're doubling the size of the array each time, so it's perfectly
> reasonable to gripe in the logs any time we resize and the size > 100.  I'll do
> that...

For the moment I guess this is fine to commit, At some point I will try to find
time to implement a properly bounded queue based on the number of threads
such that old entries get thrown away when the queue hits the bound size.

-- 
Configure bugmail: http://www.slony.info/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the Slony1-bugs mailing list