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/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 -
RE: PROPFIND 409 conflict ERROR with timeout/deadlock
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 externa
RE: PROPFIND 409 conflict ERROR with timeout/deadlock
Hello again Shakti, Maybe you can't start a nested transaction like it happens in the "no" branch of point 3 and 4 (the 1st transaction happens on point 2). Hope this helps, Miguel Figueiredo -Original Message- From: Shakti Shrivastava [mailto:[EMAIL PROTECTED] Sent: sexta-feira, 28 de Setembro de 2007 16:23 To: Slide Users Mailing List Subject: RE: PROPFIND 409 conflict ERROR with timeout/deadlock 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-