Hm. It could also be a misconfigured proxy server somewhere, or a
config issue on your servers. I recommend that the next time this
happens, try to get a screen shot or a listing of the page history at
that moment, and see whether the data is really there.
/Janne
On 21 Apr 2009, at 22:33, Weijian Fang wrote:
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