FCNTL on Solaris
jra at samba.org
Mon Apr 22 07:17:18 GMT 2002
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.
> I just found this, it may be a solution,
> its from the page
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).
More information about the samba-technical