OOME under high load (= keeping F5 pressed in the browser) caused by
DiskDataStore
----------------------------------------------------------------------------------
Key: WICKET-3804
URL: https://issues.apache.org/jira/browse/WICKET-3804
Project: Wicket
Issue Type: Bug
Components: wicket-core
Affects Versions: 1.5-RC4
Reporter: Peter Ertl
Assignee: Peter Ertl
Priority: Critical
when trying martin-g's alternative serializer (KryoSerializer) I encountered
OOME. Did not get it with regular serialization. Probably since kryo serializer
is significantly faster and puts DiskDataStore under more stress ...
WARN - log - Error for
/repeater/wicket/bookmarkable/org.apache.wicket.examples.repeater.SortingPage
java.lang.OutOfMemoryError: Direct buffer memory
at java.nio.Bits.reserveMemory(Bits.java:633)
at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:98)
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:288)
at sun.nio.ch.Util.getTemporaryDirectBuffer(Util.java:155)
at sun.nio.ch.IOUtil.write(IOUtil.java:37)
at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:638)
at
org.apache.wicket.pageStore.DiskDataStore$SessionEntry.savePage(DiskDataStore.java:330)
at
org.apache.wicket.pageStore.DiskDataStore.storeData(DiskDataStore.java:172)
at
org.apache.wicket.pageStore.DefaultPageStore.storePageData(DefaultPageStore.java:115)
at
org.apache.wicket.pageStore.DefaultPageStore.storePage(DefaultPageStore.java:144)
at
org.apache.wicket.page.PageStoreManager$PersistentRequestAdapter.storeTouchedPages(PageStoreManager.java:377)
at
org.apache.wicket.page.RequestAdapter.commitRequest(RequestAdapter.java:171)
at
org.apache.wicket.page.AbstractPageManager.commitRequest(AbstractPageManager.java:94)
at
org.apache.wicket.page.PageManagerDecorator.commitRequest(PageManagerDecorator.java:68)
at
org.apache.wicket.page.PageAccessSynchronizer$2.commitRequest(PageAccessSynchronizer.java:213)
at org.apache.wicket.Application$2.onDetach(Application.java:1557)
at
org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:100)
at
org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:95)
at
org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:121)
at
org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:112)
at
org.apache.wicket.request.cycle.RequestCycleListenerCollection.onDetach(RequestCycleListenerCollection.java:94)
at
org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:540)
at
org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:479)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:257)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:160)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:216)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:476)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.server.Server.handle(Server.java:346)
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589)
at
org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:601)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214)
at
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411)
at
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:241)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529)
at java.lang.Thread.run(Thread.java:680)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira