Project

General

Profile

Bug #60155

api folder fullSync fails with an exception when another client removes message

Added by Alexey Bobyr almost 4 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Alexey Bobyr
Category:
Scalix API
Target version:
Start date:
12/02/2015
Due date:
% Done:

0%

Estimated time:
Operation System:
--

Description

2015-12-02 05:45:06,130  WARN [RestServlet.sendError:28] Sending error
I00006 could not fetch message details
        at com.scalix.api.mailbox.ImapDataCache.fullSynch(ImapDataCache.java:1696)
        at com.scalix.api.mailbox.ImapDataCache.synchFolder(ImapDataCache.java:887)
        at com.scalix.api.mailbox.ImapDataCache.getMessages(ImapDataCache.java:496)
        at com.scalix.api.mailbox.Mailbox.getMessages(Mailbox.java:361)
        at com.scalix.api.rest.MailboxServlet.processFetchMessagesRequest(MailboxServlet.java:209)
        at com.scalix.api.rest.MailboxServlet.doPost(MailboxServlet.java:446)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:158)
        at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:146)
        at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:50)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
        at com.scalix.api.PlatformDispatcherServlet.service(PlatformDispatcherServlet.java:71)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:214)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:221)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1760)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1719)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Unknown Source)
Caused by: javax.mail.MessageRemovedException
        at com.sun.mail.imap.IMAPMessage.checkExpunged(IMAPMessage.java:225)
        at com.sun.mail.imap.IMAPMessage.isSet(IMAPMessage.java:881)
        at com.scalix.api.mailbox.ImapDataCache.fullSynch(ImapDataCache.java:1418)
        ... 39 more

History

#1

Updated by Alexey Bobyr almost 4 years ago

  • Status changed from Answered to Closed

Exception occures at first step when filtering imap msg it checks if it has flag \Delelete and so on.
Surrounded it with try ... catch(MessageRemovedException) that block to prevent it and this message will be deleted from cache.

Also there was a another bug if some exception occurs during that part it did not release currently selected folder which is bad.
Now it will release current folder.

Alexey Bobyr wrote:

[...]

#2

Updated by Alex I about 3 years ago

  • Subject changed from api folder fullSync fails with an exception when another client deletes message to api folder fullSync fails with an exception when another client removes message

Also available in: Atom PDF