You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ruediger Pluem <rp...@apache.org> on 2022/10/17 10:04:55 UTC

Re: svn commit: r1904638 - in /httpd/httpd/trunk: changes-entries/DAVLockDiscovery.txt modules/dav/main/mod_dav.c modules/dav/main/mod_dav.h modules/dav/main/props.c


On 10/17/22 11:48 AM, ylavic@apache.org wrote:
> Author: ylavic
> Date: Mon Oct 17 09:48:11 2022
> New Revision: 1904638
> 
> URL: http://svn.apache.org/viewvc?rev=1904638&view=rev
> Log:
> mod_dav: Allow to disable lock discovery via an DAVLockDiscovery expression.
> 
> mod_dav-fs scales badly when a few clients run PROPFIND requests to discover
> directory content. Each PROPFIND involves lockdiscovery, which in turn waits
> for a locked access to the file containing the lock database. Performances
> quickly drop because of lock contention on this file.
> 
> Add a DAVLockDiscovery configuration directive that allows lockdiscovery to be
> disabled. Its argument is an Apache expression so that flexible configuration
> are possible (per-request).
> 
> When lock discovery is disabled, an empty lockdiscovery property is returned on
> POPRFIND methods, just like if no lock was set on the object. That should cause
> no regression, since a client cannot rely on lockdiscovery to decide when a
> file should be accessed, the LOCK methood must be used.
> 
> If DAVLockDiscovery is not specified, the behavior is unchanged.

Why do we need to use an Apache expression here? Wouldn't it be sufficient to have
DAVLockDiscovery as a flag (On/Off) with default to On that can be placed in an
<If > block if expressions are needed?

Regards

RĂ¼diger


Re: svn commit: r1904638 - in /httpd/httpd/trunk: changes-entries/DAVLockDiscovery.txt modules/dav/main/mod_dav.c modules/dav/main/mod_dav.h modules/dav/main/props.c

Posted by Yann Ylavic <yl...@gmail.com>.
On Mon, Oct 17, 2022 at 12:05 PM Ruediger Pluem <rp...@apache.org> wrote:
>
> On 10/17/22 11:48 AM, ylavic@apache.org wrote:
> >
> > Add a DAVLockDiscovery configuration directive that allows lockdiscovery to be
> > disabled. Its argument is an Apache expression so that flexible configuration
> > are possible (per-request).
>
> Why do we need to use an Apache expression here? Wouldn't it be sufficient to have
> DAVLockDiscovery as a flag (On/Off) with default to On that can be placed in an
> <If > block if expressions are needed?

Yes, that'd work equally and is probably more inline with other directives.
I can change it that way after we're done discussing the suitability
of the patch..


Regards;
Yann.

Re: svn commit: r1904638 - in /httpd/httpd/trunk: changes-entries/DAVLockDiscovery.txt modules/dav/main/mod_dav.c modules/dav/main/mod_dav.h modules/dav/main/props.c

Posted by Emmanuel Dreyfus <ma...@netbsd.org>.
On Mon, Oct 17, 2022 at 12:04:55PM +0200, Ruediger Pluem wrote:
> Why do we need to use an Apache expression here? Wouldn't it be sufficient to have
> DAVLockDiscovery as a flag (On/Off) with default to On that can be placed in an
> <If > block if expressions are needed?

Yes, that would be fine too. I was too focused on a specific client's client
behavior that expr on User-Agent and remote IP seemed  critical to me,
but indeed <If> acheive the same result.



-- 
Emmanuel Dreyfus
manu@netbsd.org

Re: svn commit: r1904638 - in /httpd/httpd/trunk: changes-entries/DAVLockDiscovery.txt modules/dav/main/mod_dav.c modules/dav/main/mod_dav.h modules/dav/main/props.c

Posted by Ruediger Pluem <rp...@apache.org>.

On 10/26/22 8:51 PM, Emmanuel Dreyfus wrote:
> On Mon, Oct 17, 2022 at 12:04:55PM +0200, Ruediger Pluem wrote:
>> Why do we need to use an Apache expression here? Wouldn't it be sufficient to have
>> DAVLockDiscovery as a flag (On/Off)
> 
> I posted a patch for that change, along with documentation, on
> https://bz.apache.org/bugzilla/show_bug.cgi?id=66313
> 
> Is it fine for you?
> 


Looks good. Thanks.

Regards

RĂ¼diger

Re: svn commit: r1904638 - in /httpd/httpd/trunk: changes-entries/DAVLockDiscovery.txt modules/dav/main/mod_dav.c modules/dav/main/mod_dav.h modules/dav/main/props.c

Posted by Emmanuel Dreyfus <ma...@netbsd.org>.
On Mon, Oct 17, 2022 at 12:04:55PM +0200, Ruediger Pluem wrote:
> Why do we need to use an Apache expression here? Wouldn't it be sufficient to have
> DAVLockDiscovery as a flag (On/Off)

I posted a patch for that change, along with documentation, on
https://bz.apache.org/bugzilla/show_bug.cgi?id=66313

Is it fine for you?

-- 
Emmanuel Dreyfus
manu@netbsd.org