I don't think it is a client-side caching issue, because my user saw his edits went live.
Cheers, Weijian 2009/4/20 Janne Jalkanen <[email protected]>: > Writes are not cached, so they go directly to the persistence store. > > Does it help if your users shift-refreshes once he's saved things? > Does the content end up in the repository, ie. is the page history > still correct? This could be a browser caching issue as well, if > they've got very aggressive caching set up. > > /Janne > > On Mon, Apr 20, 2009 at 04:22:36PM +0100, Weijian Fang wrote: >> I see JSPWiki uses some caching mechanism. How is the consistency >> between the in-memory cache and the persisted wiki page versions? If >> just after the save button in a wiki page edit tab is successfully >> returned, tomcat/jspwiki is restarted, will the new edits be safely >> recorded in the file system? I am using jspwiki 2.6.2 with >> VersioningFileProvider. >> >> Cheers, >> >> Weijian >> >> >> >> 2009/4/20 Weijian Fang <[email protected]>: >> > Hi, >> > >> > One of my JSPWiki users reported that one of his saved wiki pages (it >> > means he did see the "save" button returns successfully) has reverted >> > to its previous version. Because he complained this for quite a few >> > times (for different pages), and this time he even got a witness, so I >> > really believe him. Has anyone experienced this kind of lost versions >> > as well? >> > >> > Quite a lot "Tag failed" errors have been recorded by my log4j. >> > Usually they burst out in a very short period. Please see the log4j >> > record below. Will it have anything to do with the lost version >> > problem? Many thanks in advance! >> > >> > <log4j:event logger="com.ecyrd.jspwiki.tags.WikiTagBase" >> > timestamp="1239931142106" level="ERROR" thread="TP-Processor14"> >> > <log4j:message><![CDATA[Tag failed]]></log4j:message> >> > <log4j:NDC><![CDATA[OMII-UK:/wiki/PrivateWIKIADMINSystemInfo >> > OMII-UK:http://www.omii.ac.uk/wiki/PrivateWIKIADMINSystemInfo]]></log4j:NDC> >> > <log4j:throwable><![CDATA[javax.servlet.jsp.JspException: WikiContext >> > may not be NULL - serious internal problem! >> > at >> > com.ecyrd.jspwiki.tags.WikiTagBase.doStartTag(WikiTagBase.java:86) >> > at >> > org.apache.jsp.Error_jsp._jspx_meth_wiki_005fMessages_005f0(Error_jsp.java:178) >> > at org.apache.jsp.Error_jsp._jspService(Error_jsp.java:125) >> > at >> > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) >> > at >> > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) >> > at >> > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) >> > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) >> > at >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) >> > at >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) >> > at >> > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679) >> > at >> > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461) >> > at >> > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399) >> > at >> > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) >> > at >> > org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:686) >> > at >> > org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:656) >> > at >> > org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:801) >> > at >> > org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774) >> > at org.apache.jsp.Wiki_jsp._jspService(Wiki_jsp.java:135) >> > at >> > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) >> > at >> > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) >> > at >> > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) >> > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) >> > at >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) >> > at >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) >> > at >> > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679) >> > at >> > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461) >> > at >> > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399) >> > at >> > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) >> > at com.ecyrd.jspwiki.WikiServlet.doGet(WikiServlet.java:100) >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) >> > at >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) >> > at >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) >> > at >> > com.ecyrd.jspwiki.ui.WikiServletFilter.doFilter(WikiServletFilter.java:99) >> > at >> > com.ecyrd.jspwiki.ui.WikiJSPFilter.doFilter(WikiJSPFilter.java:91) >> > at >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) >> > at >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) >> > at >> > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) >> > at >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) >> > at >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) >> > at >> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) >> > at >> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) >> > at >> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) >> > at >> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) >> > at >> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:548) >> > at >> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) >> > at >> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) >> > at >> > org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) >> > at >> > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) >> > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) >> > at >> > org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) >> > at >> > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) >> > at >> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) >> > at java.lang.Thread.run(Thread.java:595) >> > ]]></log4j:throwable> >> > </log4j:event> >> > >> > Cheers, >> > >> > Weijian >> > >
