RE: PROPFIND 409 conflict ERROR with timeout/deadlock

2007-09-28 Thread Shakti Shrivastava
Hi Miguel,

That fixed the issue. Thank you very much. But I still don't understand
why? Can Oliver chime in? I would really want to know.

This is what the code is doing (while trying to upload a resource like
http://host:port/slide/files/user-75/myfile.txt

1. Find collection files (this is http://host:port/slide/files)
2. If found add to a list (cache) and start a transaction (explicitly,
using startTransaction())
3. Check if collection user-57 exists using getChildren() if so add to
list (cache). No (explicit) transaction started here
4. Check if myfile.txt exists. No (explicit) transaction started here *
this is where the timeout is occurring 
5. If no then use putMethod()
6. Complete with commitTransaction()
7. in case of error do abortTransaction()

As you see there isn't an issue of nested transactions. Again, thanks
for your input.


-Original Message-
From: Miguel Figueiredo [mailto:[EMAIL PROTECTED] 
Sent: Friday, September 28, 2007 2:28 AM
To: 'Slide Users Mailing List'
Subject: RE: PROPFIND 409 conflict ERROR with timeout/deadlock

Hello Shakti,

 Although I'm not familiar with the details (Oliver would), you will be
happy to know that Slide already wraps write requests in internal
transactions. Checkout your Domain.xml, there is a piece of
configuration
that implicitly says just that:


false

 From here http://www.checkupdown.com/status/E409.html I deduct that you
might be doing something illegal from the point of view of Slide WebApp.
What can it be?

 Hope this helps,
 Miguel Figueiredo

-Original Message-
From: Shakti Shrivastava [mailto:[EMAIL PROTECTED] 
Sent: quinta-feira, 27 de Setembro de 2007 23:30
To: slide-user@jakarta.apache.org
Subject: PROPFIND 409 conflict ERROR with timeout/deadlock

I am getting 409 conflict error when trying to create a WebdavResource
object for a given URL. 

The code is trying to create a file along with any missing collections
(that may not exist). Everything works fine however the code seems to
deadlock when trying to create a WebdavResource object on the filename.
I am using startTransaction and commitTransaction to make sure the file
upload either completes successfully or fails completely. The code runs
fine, in that the file upload completes, but I want to understand the
reason of the timeout here and get rid of it. Can someone please shed
some light on this?

I have googled this and nowhere can I find 409 status code associated
with a PROPFIND. This leads me to believe that this timeout has
something to do with a lock. However, nowhere in my code am I explicitly
locking any resource (may be it's the startTransaction()?).

Thanks in advance.

Using:

Tomcat 5.5.x
Slide version 2.2 (from SVN)
JVM: 1.5.x

 

Here are the logs from the SLIDE server (2 lines prefixed with * are the
ones where the error is happening)

http-8081-Processor25, 25-Sep-2007 18:50:08, unauthenticated, GET, 404
"Not Found", 547 ms, /files/user-docs/user-57
http-8081-Processor24, 25-Sep-2007 18:50:31, unauthenticated, PROPFIND,
404 "Not Found", 781 ms, /files/user-docs/user-57
http-8081-Processor25, 25-Sep-2007 18:50:32, unauthenticated, PROPFIND,
207 "Multi-Status", 125 ms, /files
http-8081-Processor25, 25-Sep-2007 18:50:32, unauthenticated, LOCK, 200
"OK", 31 ms, /files
25 Sep 2007 18:50:32 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor25, 25-Sep-2007 18:50:32, unauthenticated, PROPFIND,
207 "Multi-Status", 63 ms, /files
25 Sep 2007 18:50:32 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor25, 25-Sep-2007 18:50:32, unauthenticated, MKCOL, 201
"Created", 219 ms, /files/user-docs/user-57
25 Sep 2007 18:50:33 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor25, 25-Sep-2007 18:50:33, unauthenticated, PROPFIND,
207 "Multi-Status", 281 ms, /files/3
25 Sep 2007 18:50:33 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor25, 25-Sep-2007 18:50:33, unauthenticated, PROPFIND,
207 "Multi-Status", 0 ms, /files/user-docs/user-57
** 25 Sep 2007 18:52:33 - file-meta-store - INFO - DEADLOCK
VICTIM: Thread Thread[http-8081-Processor23,5,main] marked transaction
branch http-8081-Processor23-1190771433584-32 for rollback
** http-8081-Processor23, 25-Sep-2007 18:50:33, unauthenticated,
PROPFIND, 409 "Conflict", 120063 ms, /files/user-docs/user-57/myfile.txt
25 Sep 2007 18:52:33 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor24, 25-Sep-2007 18:52:33, unauthenticated, CHECKOUT,
404 "Not Found", 31 ms, /files/user-docs/user-57/myfile.txt
25 Sep 2007 18:52:33 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor24, 25-Sep-2007 18:52:33, unauthenticated, GET, 404
"Not Found", 15 ms, /files/user-docs/user-57/myfil

RE: PROPFIND 409 conflict ERROR with timeout/deadlock

2007-09-28 Thread Miguel Figueiredo
Hello Shakti,

 Although I'm not familiar with the details (Oliver would), you will be
happy to know that Slide already wraps write requests in internal
transactions. Checkout your Domain.xml, there is a piece of configuration
that implicitly says just that:


false

 From here http://www.checkupdown.com/status/E409.html I deduct that you
might be doing something illegal from the point of view of Slide WebApp.
What can it be?

 Hope this helps,
 Miguel Figueiredo

-Original Message-
From: Shakti Shrivastava [mailto:[EMAIL PROTECTED] 
Sent: quinta-feira, 27 de Setembro de 2007 23:30
To: slide-user@jakarta.apache.org
Subject: PROPFIND 409 conflict ERROR with timeout/deadlock

I am getting 409 conflict error when trying to create a WebdavResource
object for a given URL. 

The code is trying to create a file along with any missing collections
(that may not exist). Everything works fine however the code seems to
deadlock when trying to create a WebdavResource object on the filename.
I am using startTransaction and commitTransaction to make sure the file
upload either completes successfully or fails completely. The code runs
fine, in that the file upload completes, but I want to understand the
reason of the timeout here and get rid of it. Can someone please shed
some light on this?

I have googled this and nowhere can I find 409 status code associated
with a PROPFIND. This leads me to believe that this timeout has
something to do with a lock. However, nowhere in my code am I explicitly
locking any resource (may be it's the startTransaction()?).

Thanks in advance.

Using:

Tomcat 5.5.x
Slide version 2.2 (from SVN)
JVM: 1.5.x

 

Here are the logs from the SLIDE server (2 lines prefixed with * are the
ones where the error is happening)

http-8081-Processor25, 25-Sep-2007 18:50:08, unauthenticated, GET, 404
"Not Found", 547 ms, /files/user-docs/user-57
http-8081-Processor24, 25-Sep-2007 18:50:31, unauthenticated, PROPFIND,
404 "Not Found", 781 ms, /files/user-docs/user-57
http-8081-Processor25, 25-Sep-2007 18:50:32, unauthenticated, PROPFIND,
207 "Multi-Status", 125 ms, /files
http-8081-Processor25, 25-Sep-2007 18:50:32, unauthenticated, LOCK, 200
"OK", 31 ms, /files
25 Sep 2007 18:50:32 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor25, 25-Sep-2007 18:50:32, unauthenticated, PROPFIND,
207 "Multi-Status", 63 ms, /files
25 Sep 2007 18:50:32 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor25, 25-Sep-2007 18:50:32, unauthenticated, MKCOL, 201
"Created", 219 ms, /files/user-docs/user-57
25 Sep 2007 18:50:33 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor25, 25-Sep-2007 18:50:33, unauthenticated, PROPFIND,
207 "Multi-Status", 281 ms, /files/3
25 Sep 2007 18:50:33 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor25, 25-Sep-2007 18:50:33, unauthenticated, PROPFIND,
207 "Multi-Status", 0 ms, /files/user-docs/user-57
** 25 Sep 2007 18:52:33 - file-meta-store - INFO - DEADLOCK
VICTIM: Thread Thread[http-8081-Processor23,5,main] marked transaction
branch http-8081-Processor23-1190771433584-32 for rollback
** http-8081-Processor23, 25-Sep-2007 18:50:33, unauthenticated,
PROPFIND, 409 "Conflict", 120063 ms, /files/user-docs/user-57/myfile.txt
25 Sep 2007 18:52:33 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor24, 25-Sep-2007 18:52:33, unauthenticated, CHECKOUT,
404 "Not Found", 31 ms, /files/user-docs/user-57/myfile.txt
25 Sep 2007 18:52:33 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor24, 25-Sep-2007 18:52:33, unauthenticated, GET, 404
"Not Found", 15 ms, /files/user-docs/user-57/myfile.txt
25 Sep 2007 18:52:33 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor24, 25-Sep-2007 18:52:33, unauthenticated, PUT, 201
"Created", 109 ms, /files/user-docs/user-57/myfile.txt
25 Sep 2007 18:52:34 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor24, 25-Sep-2007 18:52:34, unauthenticated, PROPPATCH,
207 "Multi-Status", 47 ms, /files/user-docs/user-57/myfile.txt
25 Sep 2007 18:52:34 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor24, 25-Sep-2007 18:52:34, unauthenticated, PROPPATCH,
207 "Multi-Status", 0 ms, /files/user-docs/user-57/myfile.txt
25 Sep 2007 18:52:34 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO - Using
external transaction 
http-8081-Processor24, 25-Sep-2007 18:52:34, unauthenticated, PROPPATCH,
207 "Multi-Status", 0 ms, /files/user-docs/user-57/myfile.txt
25 Sep 2007 18:52:34 -
org.apache.slide.webdav.method.AbstractWebdavMethod - INFO -