[ https://issues.apache.org/jira/browse/WICKET-1773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12628333#action_12628333 ]
Jan Kriesten commented on WICKET-1773: -------------------------------------- Behavior is reproducable when sessions are invalidated not within wicket but e.g. Spring Security. It turns out that DiskPageStore#unbind calls flushPagesToSaveList() which again tries to write to the no longer existing SessionStore. Just clearing the list of pages instead of trying to write them solves the problem: ---8<--- public void unbind(String sessionId) { SessionEntry entry = (SessionEntry)sessionIdToEntryMap.remove(sessionId); if (entry != null) { if (isSynchronous()) { entry.unbind(); } else { List pages = getPagesToSaveList(sessionId); if( pages!=null ) pages.clear(); entry.unbind(); pagesToSaveAll.remove(sessionId); } } } ---8<--- > DiskPageStore-FileNotFoundException > ----------------------------------- > > Key: WICKET-1773 > URL: https://issues.apache.org/jira/browse/WICKET-1773 > Project: Wicket > Issue Type: Bug > Components: wicket > Affects Versions: 1.3.4 > Reporter: Jan Kriesten > Assignee: Matej Knopp > Fix For: 1.3.5 > > > With the current 1.3-Snapshot, I encounter problems with DiskPageStore: > ---8<--- > 09:30:43.151 ERROR [.wicket.protocol.http.pagestore.DiskPageStore] - Error > flushing page > java.lang.RuntimeException: java.io.FileNotFoundException: > /usr/local/www/services/local.silberlicht.de/html/WEB-INF/tmp/Silberlicht-filestore/abcgm_hyTIaiqgnqDNmUr/pm-null > (No such file or directory) > at > org.apache.wicket.protocol.http.pagestore.FileChannelPool.newFileChannel(FileChannelPool.java:104) > at > org.apache.wicket.protocol.http.pagestore.FileChannelPool.getFileChannel(FileChannelPool.java:171) > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore$SessionEntry.savePage(DiskPageStore.java:241) > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.flushPagesToSaveList(DiskPageStore.java:891) > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore$PageSavingThread.run(DiskPageStore.java:961) > at java.lang.Thread.run(Thread.java:613) > Caused by: java.io.FileNotFoundException: > /usr/local/www/services/local.silberlicht.de/html/WEB-INF/tmp/Silberlicht-filestore/abcgm_hyTIaiqgnqDNmUr/pm-null > (No such file or directory) > at java.io.RandomAccessFile.open(Native Method) > at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212) > at > org.apache.wicket.protocol.http.pagestore.FileChannelPool.newFileChannel(FileChannelPool.java:99) > ... 5 common frames omitted > ---8<--- > The path > /usr/local/www/services/local.silberlicht.de/html/WEB-INF/tmp/Silberlicht-filestore/ > actually exists and has the proper rights - so creation of temporary > directories/files should be possible (actually, the directory was created by > the wicket app). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.