On Mon, Apr 22, 2002 at 10:07:18PM +1000, David Schwarz wrote: > >On Thu, Apr 18, 2002 at 11:40:13AM +1000, Wade Turland wrote: > > > >>> Tridge found the (already noted) related bug on our system and conceded it > >>> was a design flaw. Apparently each new smbd process that starts, does a > >>> quick traversal of the tdb databases to clean out any stale entries, and on > >>> Solaris, these are taking too long. Now when the client times out, it makes > >>> another attempt, but the first attempt is still running so it bogs the > >>> system down quickly. This was first found in the UK in 2.2.2 with > >>> connections.tdb. > >>> > >>> It sounds like Mark has our problem, with byte-range locking (brlock.tdb). > >>> If you try the latest CVS it should be fixed. > >>> > >>> Andrew said he would look at all the others too and fix them. Andy, maybe > >>> you can help with printing.tdb otherwise keep checking the CVS. > > > > > >Ok - discussed this with Andrew last night. It seems that this is only > >a problem on Solaris. Solaris seems to have *serious* issues with fcntl > >locks with multiple processes contending for locks. No other system we > >run on seems to have this problem (they have their own problems :-). > > > >Dave CB - can you investigate this within Sun please. This is a *critical* > >part of Samba, we may have to look into a solaris-specific workaround and > >this would be bad. > > > >Jeremy. > > > > I just found this, it may be a solution, > its from the page > http://www.geocrawler.com/archives/3/417/2001/5/0/5866251/
Hmmm. That means moving to semaphores on Solaris. The problem with sysV semaphores is they are persistent and don't get removed when the process dies (unless you use SEM_UNDO on every call.... nasty). Jeremy.
