> 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?
What is shift-refresh? > 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 The wired thing is when my user saved the page, everything seemed fine; only after a couple of weeks or a couple of months, when my user went to check that page again, he noticed something went wrong. At that point, we do not know what the situation is when he saved his page. What is the reason for that "tag failed" error? Does it have anything to do with the problem? Cheers, Weijian > 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 >> > >
