[Date Prev][Date Next]
Re: overlay order important and not documented?
Pierangelo Masarati wrote:
Howard Chu wrote:
Not documented... The accesslog overlay serializes all write
operations by taking a lock. This means only one write operation is
allowed to progress at any time.
The refint overlay creates multiple write operations from a single
write operation. If the accesslog overlay has already locked the
current operation, then yes, the refint overlay will deadlock at that
point because its write operations still go through the entire overlay
stack. I think the fix for this will be to change the refint overlay
to bypass any overlays above it when performing its own writes.
Wouldn't this prevent writes by refint from being logged by accesslog?
Yes, and that's probably the cleanest behavior. The overlay stack is
only supposed to be executed completely for operations that came from
the frontend. Any overlay on the stack should go through any other
overlays below it, but not through any that are above it.
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
Chief Architect, OpenLDAP http://www.openldap.org/project/