You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by "Bennett, Tony" <Be...@con-way.com> on 2012/09/26 22:53:52 UTC

[users@httpd] Why does a DELETE transaction check for locks on Parent Collection

Environment:	
	Version:	    2.2.16
	Platform OS:    AIX 6.1
	Configuration:  WebDav enabled
	Client:	    Windows 7 "Mapped Network Drive"

Here is the interaction:

Client  sends a PUT
Server  responds with a 200
Client  sends a LOCK request
Server  responds with a 200 and this header is in the response:
		Lock-Token: <opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>
Client  sends a DELETE and includes this header in the request:
		If: (<opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>)
Server  responds with a 424 Failed Dependency and includes this text in its response body:
       <?xml version="1.0" encoding="utf-8"?>
       <D:multistatus xmlns:D="DAV:">
       <D:response>
       <D:href>/TEST_DIR</D:href>
       <D:status>HTTP/1.1 412 Precondition Failed</D:status>
       <D:responsedescription>A validation error has occurred on the parent resource, 
       preventing the operation on the resource specified by the Request-URI. The error was: 
       The precondition(s) specified by the "If:" header did not match this resource. At 
       least one failure is because: a State-token was supplied, but it was not found in the 
       locks on this resource.</D:responsedescription>
       </D:response>
       </D:multistatus>

Here is a subset of the Apache Error Log:
      Could not DELETE /TEST_DIR/~$EXCEL_File.xlsx due to a failed precondition (e.g. locks).  [424, #0]
     (11)Resource temporarily unavailable: An error occurred on another resource, preventing the requested operation on this resource.  [424, #0]

I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
     If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)

My question is why did Apache check for the "opaquetoken" against the parent collection when the request came from Win7...???

I can't find a requirement to do so in the standard (RFC2518 or RFC4918).

NOTE:  I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
     If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)

Any insight would be helpful.

-tony


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Why does a DELETE transaction check for locks on Parent Collection

Posted by Greg Stein <gs...@gmail.com>.
dev@ people: my post bounced from users@ since I'm not subscribed
there. IOW, Tony and others didn't see my response...

On Wed, Sep 26, 2012 at 8:41 PM, Greg Stein <gs...@gmail.com> wrote:
> The parent collection is modified as a result of the DELETE (a
> resource is removed from the set). Thus, the parent requirements must
> be met.
>
> On Wed, Sep 26, 2012 at 8:35 PM, Jeff Trawick <tr...@gmail.com> wrote:
>> adding dev@...
>>
>> On Wed, Sep 26, 2012 at 4:53 PM, Bennett, Tony <Be...@con-way.com> wrote:
>>> Environment:
>>>         Version:            2.2.16
>>>         Platform OS:    AIX 6.1
>>>         Configuration:  WebDav enabled
>>>         Client:     Windows 7 "Mapped Network Drive"
>>>
>>> Here is the interaction:
>>>
>>> Client  sends a PUT
>>> Server  responds with a 200
>>> Client  sends a LOCK request
>>> Server  responds with a 200 and this header is in the response:
>>>                 Lock-Token: <opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>
>>> Client  sends a DELETE and includes this header in the request:
>>>                 If: (<opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>)
>>> Server  responds with a 424 Failed Dependency and includes this text in its response body:
>>>        <?xml version="1.0" encoding="utf-8"?>
>>>        <D:multistatus xmlns:D="DAV:">
>>>        <D:response>
>>>        <D:href>/TEST_DIR</D:href>
>>>        <D:status>HTTP/1.1 412 Precondition Failed</D:status>
>>>        <D:responsedescription>A validation error has occurred on the parent resource,
>>>        preventing the operation on the resource specified by the Request-URI. The error was:
>>>        The precondition(s) specified by the "If:" header did not match this resource. At
>>>        least one failure is because: a State-token was supplied, but it was not found in the
>>>        locks on this resource.</D:responsedescription>
>>>        </D:response>
>>>        </D:multistatus>
>>>
>>> Here is a subset of the Apache Error Log:
>>>       Could not DELETE /TEST_DIR/~$EXCEL_File.xlsx due to a failed precondition (e.g. locks).  [424, #0]
>>>      (11)Resource temporarily unavailable: An error occurred on another resource, preventing the requested operation on this resource.  [424, #0]
>>>
>>> I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>>>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>>>
>>> My question is why did Apache check for the "opaquetoken" against the parent collection when the request came from Win7...???
>>>
>>> I can't find a requirement to do so in the standard (RFC2518 or RFC4918).
>>>
>>> NOTE:  I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>>>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>>>
>>> Any insight would be helpful.
>>>
>>> -tony
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>>> For additional commands, e-mail: users-help@httpd.apache.org
>>>
>>
>>
>>
>> --
>> Born in Roswell... married an alien...
>> http://emptyhammock.com/

Re: [users@httpd] Why does a DELETE transaction check for locks on Parent Collection

Posted by Jeff Trawick <tr...@gmail.com>.
(Greg's response bounced off of users@.  Tony, follow up on dev@ if
you need to follow up.)

On Wed, Sep 26, 2012 at 8:41 PM, Greg Stein <gs...@gmail.com> wrote:
> The parent collection is modified as a result of the DELETE (a
> resource is removed from the set). Thus, the parent requirements must
> be met.
>
> On Wed, Sep 26, 2012 at 8:35 PM, Jeff Trawick <tr...@gmail.com> wrote:
>> adding dev@...
>>
>> On Wed, Sep 26, 2012 at 4:53 PM, Bennett, Tony <Be...@con-way.com> wrote:
>>> Environment:
>>>         Version:            2.2.16
>>>         Platform OS:    AIX 6.1
>>>         Configuration:  WebDav enabled
>>>         Client:     Windows 7 "Mapped Network Drive"
>>>
>>> Here is the interaction:
>>>
>>> Client  sends a PUT
>>> Server  responds with a 200
>>> Client  sends a LOCK request
>>> Server  responds with a 200 and this header is in the response:
>>>                 Lock-Token: <opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>
>>> Client  sends a DELETE and includes this header in the request:
>>>                 If: (<opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>)
>>> Server  responds with a 424 Failed Dependency and includes this text in its response body:
>>>        <?xml version="1.0" encoding="utf-8"?>
>>>        <D:multistatus xmlns:D="DAV:">
>>>        <D:response>
>>>        <D:href>/TEST_DIR</D:href>
>>>        <D:status>HTTP/1.1 412 Precondition Failed</D:status>
>>>        <D:responsedescription>A validation error has occurred on the parent resource,
>>>        preventing the operation on the resource specified by the Request-URI. The error was:
>>>        The precondition(s) specified by the "If:" header did not match this resource. At
>>>        least one failure is because: a State-token was supplied, but it was not found in the
>>>        locks on this resource.</D:responsedescription>
>>>        </D:response>
>>>        </D:multistatus>
>>>
>>> Here is a subset of the Apache Error Log:
>>>       Could not DELETE /TEST_DIR/~$EXCEL_File.xlsx due to a failed precondition (e.g. locks).  [424, #0]
>>>      (11)Resource temporarily unavailable: An error occurred on another resource, preventing the requested operation on this resource.  [424, #0]
>>>
>>> I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>>>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>>>
>>> My question is why did Apache check for the "opaquetoken" against the parent collection when the request came from Win7...???
>>>
>>> I can't find a requirement to do so in the standard (RFC2518 or RFC4918).
>>>
>>> NOTE:  I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>>>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>>>
>>> Any insight would be helpful.
>>>
>>> -tony
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>>> For additional commands, e-mail: users-help@httpd.apache.org
>>>
>>
>>
>>
>> --
>> Born in Roswell... married an alien...
>> http://emptyhammock.com/



-- 
Born in Roswell... married an alien...
http://emptyhammock.com/

Re: [users@httpd] Why does a DELETE transaction check for locks on Parent Collection

Posted by Jeff Trawick <tr...@gmail.com>.
(Greg's response bounced off of users@.  Tony, follow up on dev@ if
you need to follow up.)

On Wed, Sep 26, 2012 at 8:41 PM, Greg Stein <gs...@gmail.com> wrote:
> The parent collection is modified as a result of the DELETE (a
> resource is removed from the set). Thus, the parent requirements must
> be met.
>
> On Wed, Sep 26, 2012 at 8:35 PM, Jeff Trawick <tr...@gmail.com> wrote:
>> adding dev@...
>>
>> On Wed, Sep 26, 2012 at 4:53 PM, Bennett, Tony <Be...@con-way.com> wrote:
>>> Environment:
>>>         Version:            2.2.16
>>>         Platform OS:    AIX 6.1
>>>         Configuration:  WebDav enabled
>>>         Client:     Windows 7 "Mapped Network Drive"
>>>
>>> Here is the interaction:
>>>
>>> Client  sends a PUT
>>> Server  responds with a 200
>>> Client  sends a LOCK request
>>> Server  responds with a 200 and this header is in the response:
>>>                 Lock-Token: <opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>
>>> Client  sends a DELETE and includes this header in the request:
>>>                 If: (<opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>)
>>> Server  responds with a 424 Failed Dependency and includes this text in its response body:
>>>        <?xml version="1.0" encoding="utf-8"?>
>>>        <D:multistatus xmlns:D="DAV:">
>>>        <D:response>
>>>        <D:href>/TEST_DIR</D:href>
>>>        <D:status>HTTP/1.1 412 Precondition Failed</D:status>
>>>        <D:responsedescription>A validation error has occurred on the parent resource,
>>>        preventing the operation on the resource specified by the Request-URI. The error was:
>>>        The precondition(s) specified by the "If:" header did not match this resource. At
>>>        least one failure is because: a State-token was supplied, but it was not found in the
>>>        locks on this resource.</D:responsedescription>
>>>        </D:response>
>>>        </D:multistatus>
>>>
>>> Here is a subset of the Apache Error Log:
>>>       Could not DELETE /TEST_DIR/~$EXCEL_File.xlsx due to a failed precondition (e.g. locks).  [424, #0]
>>>      (11)Resource temporarily unavailable: An error occurred on another resource, preventing the requested operation on this resource.  [424, #0]
>>>
>>> I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>>>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>>>
>>> My question is why did Apache check for the "opaquetoken" against the parent collection when the request came from Win7...???
>>>
>>> I can't find a requirement to do so in the standard (RFC2518 or RFC4918).
>>>
>>> NOTE:  I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>>>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>>>
>>> Any insight would be helpful.
>>>
>>> -tony
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>>> For additional commands, e-mail: users-help@httpd.apache.org
>>>
>>
>>
>>
>> --
>> Born in Roswell... married an alien...
>> http://emptyhammock.com/



-- 
Born in Roswell... married an alien...
http://emptyhammock.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Why does a DELETE transaction check for locks on Parent Collection

Posted by Greg Stein <gs...@gmail.com>.
The parent collection is modified as a result of the DELETE (a
resource is removed from the set). Thus, the parent requirements must
be met.

On Wed, Sep 26, 2012 at 8:35 PM, Jeff Trawick <tr...@gmail.com> wrote:
> adding dev@...
>
> On Wed, Sep 26, 2012 at 4:53 PM, Bennett, Tony <Be...@con-way.com> wrote:
>> Environment:
>>         Version:            2.2.16
>>         Platform OS:    AIX 6.1
>>         Configuration:  WebDav enabled
>>         Client:     Windows 7 "Mapped Network Drive"
>>
>> Here is the interaction:
>>
>> Client  sends a PUT
>> Server  responds with a 200
>> Client  sends a LOCK request
>> Server  responds with a 200 and this header is in the response:
>>                 Lock-Token: <opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>
>> Client  sends a DELETE and includes this header in the request:
>>                 If: (<opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>)
>> Server  responds with a 424 Failed Dependency and includes this text in its response body:
>>        <?xml version="1.0" encoding="utf-8"?>
>>        <D:multistatus xmlns:D="DAV:">
>>        <D:response>
>>        <D:href>/TEST_DIR</D:href>
>>        <D:status>HTTP/1.1 412 Precondition Failed</D:status>
>>        <D:responsedescription>A validation error has occurred on the parent resource,
>>        preventing the operation on the resource specified by the Request-URI. The error was:
>>        The precondition(s) specified by the "If:" header did not match this resource. At
>>        least one failure is because: a State-token was supplied, but it was not found in the
>>        locks on this resource.</D:responsedescription>
>>        </D:response>
>>        </D:multistatus>
>>
>> Here is a subset of the Apache Error Log:
>>       Could not DELETE /TEST_DIR/~$EXCEL_File.xlsx due to a failed precondition (e.g. locks).  [424, #0]
>>      (11)Resource temporarily unavailable: An error occurred on another resource, preventing the requested operation on this resource.  [424, #0]
>>
>> I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>>
>> My question is why did Apache check for the "opaquetoken" against the parent collection when the request came from Win7...???
>>
>> I can't find a requirement to do so in the standard (RFC2518 or RFC4918).
>>
>> NOTE:  I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>>
>> Any insight would be helpful.
>>
>> -tony
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>> For additional commands, e-mail: users-help@httpd.apache.org
>>
>
>
>
> --
> Born in Roswell... married an alien...
> http://emptyhammock.com/

Re: [users@httpd] Why does a DELETE transaction check for locks on Parent Collection

Posted by Jeff Trawick <tr...@gmail.com>.
adding dev@...

On Wed, Sep 26, 2012 at 4:53 PM, Bennett, Tony <Be...@con-way.com> wrote:
> Environment:
>         Version:            2.2.16
>         Platform OS:    AIX 6.1
>         Configuration:  WebDav enabled
>         Client:     Windows 7 "Mapped Network Drive"
>
> Here is the interaction:
>
> Client  sends a PUT
> Server  responds with a 200
> Client  sends a LOCK request
> Server  responds with a 200 and this header is in the response:
>                 Lock-Token: <opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>
> Client  sends a DELETE and includes this header in the request:
>                 If: (<opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>)
> Server  responds with a 424 Failed Dependency and includes this text in its response body:
>        <?xml version="1.0" encoding="utf-8"?>
>        <D:multistatus xmlns:D="DAV:">
>        <D:response>
>        <D:href>/TEST_DIR</D:href>
>        <D:status>HTTP/1.1 412 Precondition Failed</D:status>
>        <D:responsedescription>A validation error has occurred on the parent resource,
>        preventing the operation on the resource specified by the Request-URI. The error was:
>        The precondition(s) specified by the "If:" header did not match this resource. At
>        least one failure is because: a State-token was supplied, but it was not found in the
>        locks on this resource.</D:responsedescription>
>        </D:response>
>        </D:multistatus>
>
> Here is a subset of the Apache Error Log:
>       Could not DELETE /TEST_DIR/~$EXCEL_File.xlsx due to a failed precondition (e.g. locks).  [424, #0]
>      (11)Resource temporarily unavailable: An error occurred on another resource, preventing the requested operation on this resource.  [424, #0]
>
> I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>
> My question is why did Apache check for the "opaquetoken" against the parent collection when the request came from Win7...???
>
> I can't find a requirement to do so in the standard (RFC2518 or RFC4918).
>
> NOTE:  I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>
> Any insight would be helpful.
>
> -tony
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>



-- 
Born in Roswell... married an alien...
http://emptyhammock.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Why does a DELETE transaction check for locks on Parent Collection

Posted by Jeff Trawick <tr...@gmail.com>.
adding dev@...

On Wed, Sep 26, 2012 at 4:53 PM, Bennett, Tony <Be...@con-way.com> wrote:
> Environment:
>         Version:            2.2.16
>         Platform OS:    AIX 6.1
>         Configuration:  WebDav enabled
>         Client:     Windows 7 "Mapped Network Drive"
>
> Here is the interaction:
>
> Client  sends a PUT
> Server  responds with a 200
> Client  sends a LOCK request
> Server  responds with a 200 and this header is in the response:
>                 Lock-Token: <opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>
> Client  sends a DELETE and includes this header in the request:
>                 If: (<opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>)
> Server  responds with a 424 Failed Dependency and includes this text in its response body:
>        <?xml version="1.0" encoding="utf-8"?>
>        <D:multistatus xmlns:D="DAV:">
>        <D:response>
>        <D:href>/TEST_DIR</D:href>
>        <D:status>HTTP/1.1 412 Precondition Failed</D:status>
>        <D:responsedescription>A validation error has occurred on the parent resource,
>        preventing the operation on the resource specified by the Request-URI. The error was:
>        The precondition(s) specified by the "If:" header did not match this resource. At
>        least one failure is because: a State-token was supplied, but it was not found in the
>        locks on this resource.</D:responsedescription>
>        </D:response>
>        </D:multistatus>
>
> Here is a subset of the Apache Error Log:
>       Could not DELETE /TEST_DIR/~$EXCEL_File.xlsx due to a failed precondition (e.g. locks).  [424, #0]
>      (11)Resource temporarily unavailable: An error occurred on another resource, preventing the requested operation on this resource.  [424, #0]
>
> I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>
> My question is why did Apache check for the "opaquetoken" against the parent collection when the request came from Win7...???
>
> I can't find a requirement to do so in the standard (RFC2518 or RFC4918).
>
> NOTE:  I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>
> Any insight would be helpful.
>
> -tony
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>



-- 
Born in Roswell... married an alien...
http://emptyhammock.com/