DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=34753>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34753

           Summary: Continuous action on WebDAV server cause
                    OutOfMemoryError
           Product: Slide
           Version: 2.1
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P3
         Component: Transaction Manager
        AssignedTo: slide-dev@jakarta.apache.org
        ReportedBy: [EMAIL PROTECTED]


I want to use Slide as a file server to handle a continuous file transfer 
action, which I need to connect, put file, delete file and disconnect to the 
server repeatly. When I use a test program to run such action for a night, I 
find that the Slide server will throw OutOfMemory Error.
The Exception is captured as below:

http-8080-Processor5, 05-ŒÜŒŽ-2005 03:22:35, root, PUT, 201 "Created", 18000 
ms, /files/TestFile3/TestFile3.dat
05 May 2005 03:22:58 - 
org.apache.commons.transaction.file.FileResourceManager - EMERGENCY - Fatal 
error during critical commit/rollback of transaction [EMAIL PROTECTED]
f, setting database to dirty.
05 May 2005 03:22:58 - 
org.apache.commons.transaction.file.FileResourceManager - EMERGENCY - 
java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
05 May 2005 03:22:58 - org.apache.slide.transaction.SlideTransaction - 
WARNING - Commit failure: Resource manager TxContentFileStore at 
store/content  working o
n work/content Error code java.lang.OutOfMemoryError
 in Transaction 123117 xid http-8080-Processor19-1115234562203-123117- in 
thread http-8080-Processor19
java.lang.OutOfMemoryError
05 May 2005 03:22:58 - org.apache.slide.webdav.method.AbstractWebdavMethod - 
ERROR - javax.transaction.HeuristicMixedException
javax.transaction.HeuristicMixedException
        at org.apache.slide.transaction.SlideTransaction.commit
(SlideTransaction.java:332)
        at org.apache.slide.transaction.SlideTransactionManager.commit
(SlideTransactionManager.java:186)
        at org.apache.slide.common.NamespaceAccessTokenImpl.commit
(NamespaceAccessTokenImpl.java:423)
        at org.apache.slide.webdav.method.AbstractWebdavMethod.run
(AbstractWebdavMethod.java:408)
        at org.apache.slide.webdav.WebdavServlet.service
(WebdavServlet.java:155)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
        at org.apache.slide.webdav.filter.LogFilter.doFilter
(LogFilter.java:141)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:186)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal
(StandardContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:540)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:929)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service
(CoyoteAdapter.java:160)
        at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:799)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnecti
on(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)
javax.transaction.HeuristicMixedException
        at org.apache.slide.transaction.SlideTransaction.commit
(SlideTransaction.java:332)
        at org.apache.slide.transaction.SlideTransactionManager.commit
(SlideTransactionManager.java:186)
        at org.apache.slide.common.NamespaceAccessTokenImpl.commit
(NamespaceAccessTokenImpl.java:423)
        at org.apache.slide.webdav.method.AbstractWebdavMethod.run
(AbstractWebdavMethod.java:408)
        at org.apache.slide.webdav.WebdavServlet.service
(WebdavServlet.java:155)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
        at org.apache.slide.webdav.filter.LogFilter.doFilter
(LogFilter.java:141)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:186)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal
(StandardContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:540)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:929)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service
(CoyoteAdapter.java:160)
        at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:799)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnecti
on(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)
java.lang.IllegalStateException
        at org.apache.slide.transaction.SlideTransactionManager.rollback
(SlideTransactionManager.java:213)
        at org.apache.slide.common.NamespaceAccessTokenImpl.rollback
(NamespaceAccessTokenImpl.java:443)
        at org.apache.slide.webdav.method.AbstractWebdavMethod.run
(AbstractWebdavMethod.java:429)
        at org.apache.slide.webdav.WebdavServlet.service
(WebdavServlet.java:155)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
        at org.apache.slide.webdav.filter.LogFilter.doFilter
(LogFilter.java:141)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:186)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal
(StandardContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:540)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:929)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service
(CoyoteAdapter.java:160)
        at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:799)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnecti
on(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)
05 May 2005 03:22:59 - org.apache.slide.webdav.WebdavServlet - ERROR - 
org.apache.slide.webdav.WebdavException: Internal Server Error
org.apache.slide.webdav.WebdavException: Internal Server Error
        at org.apache.slide.webdav.method.AbstractWebdavMethod.run
(AbstractWebdavMethod.java:424)
        at org.apache.slide.webdav.WebdavServlet.service
(WebdavServlet.java:155)

And my testing program has a test loop as follows: (I use 8600 as my default 
port)
 
try {
        int loopCount = 0;
        boolean executeResult = true;
        HttpURL homeUrl = new HttpURL("http://192.168.0.21:8600/slide/";);
        homeUrl.setUserinfo("root", "root");
        WebdavResource res = new WebdavResource(homeUrl);
        if(res == null) {
            throw new PerformanceTestException("Something is Wrong!");
        }
        executeResult = executeResult & res.mkcolMethod("/slide/files/abc/");
        if (executeResult) System.out.println("Folder cannot be created.");
        executeResult = true;
        while (executeResult && loopCount < 86400) {
                long thisRunTime = System.currentTimeMillis();
                executeResult = executeResult & res.putMethod
("/slide/files/abc/def.dat", new java.io.File("def.dat"));
                executeResult = executeResult & res.deleteMethod
("/slide/files/abc/def.dat");
                loopCount++;
                System.out.print("\rloopCount: " + loopCount + " ");
                while ((System.currentTimeMillis() - thisRunTime) < 1000) {
                        Thread.sleep(1000 - System.currentTimeMillis() + 
thisRunTime);
                }
        }
        executeResult = executeResult & res.deleteMethod("/slide/files/abc/");
        res.close();
} catch (Throwable t) {
        t.printStackTrace();
}

In fact I had tested to repeat actions on
Open and Close connection only
Make Collection and delete collection only
Put file only
but I still find somekind like OutOfMemoryError. It seems like that Slide will 
eat up some memory for any Transastion-related actions.

My config for Slide use default config from Slide site.
<nodestore classname="org.apache.slide.store.txfile.TxXMLFileDescriptorsStore">

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to