Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-20717

Existing emailarchive messages do not appear when upgrading to 2.8

    Details

    • Type: Bug
    • Status: CLOSED
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.8.0
    • Fix Version/s: 2.8.1, 2.9.0
    • Component/s: Email Archive
    • Labels:
      None
    • Conversion Script Required:
      Yes

      Description

      We are in the process of upgrading from 2.6 to 2.8 and have discovered a bug in the upgrade of emailarchive.

      Background:
      SAK-8005 introduced a message order attribute to the Message Service, which required anything that uses the Message Service to have it's XML chunks upgraded to add an additional property into the XML.

      This initially manifested itself in Announcements as along with that particular modification it added a new column to the tool, which was not present in the upgrade and threw a stacktrace due to the missing column.

      This issue:
      Emailarchive silently fails since it doesn't have that extra column, but does need it present in the XML chunks. As a result, all existing messages are invisible. A stacktrace is thrown when the tool is accessed. Added below.

      It's an easy fix though, just add the message_order attribute to existing messages and they reappear. We will attach a patch shortly. This will need to go into the conversion scripts for 2.8.1, and users should be notified of this in case they are upgrading to 2.8.1.

      2011-06-22 11:35:33,913 WARN http-8080-Processor23 org.sakaiproject.util.BaseDbDoubleStorage - readResource(): For input string: ""\
      2011-06-22 11:35:33,913 INFO http-8080-Processor23 org.sakaiproject.util.BaseDbDoubleStorage - readResource(): \
      java.lang.NumberFormatException: For input string: ""\
      at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)\
      at java.lang.Integer.parseInt(Integer.java:470)\
      at java.lang.Integer.parseInt(Integer.java:499)\
      at org.sakaiproject.message.impl.BaseMessageService$BaseMessageHeaderEdit.<init>(BaseMessageService.java:4063)\
      at org.sakaiproject.mailarchive.impl.BaseMailArchiveService$BaseMailArchiveMessageHeaderEdit.<init>(BaseMailArchiveService.java:1242)\
      at org.sakaiproject.mailarchive.impl.BaseMailArchiveService.newMessageHeader(BaseMailArchiveService.java:407)\
      at org.sakaiproject.mailarchive.impl.BaseMailArchiveService$BaseMailArchiveMessageEdit.<init>(BaseMailArchiveService.java:1076)\
      at org.sakaiproject.mailarchive.impl.BaseMailArchiveService.newResource(BaseMailArchiveService.java:211)\
      at org.sakaiproject.util.BaseDbDoubleStorage.readResource(BaseDbDoubleStorage.java:736)\
      at org.sakaiproject.util.BaseDbDoubleStorage$SearchFilterReader.readSqlResultRecord(BaseDbDoubleStorage.java:1091)\
      at org.sakaiproject.db.impl.BasicSqlService.dbRead(BasicSqlService.java:575)\
      at org.sakaiproject.db.impl.BasicSqlService.dbRead(BasicSqlService.java:471)\
      at org.sakaiproject.util.BaseDbDoubleStorage.getCount(BaseDbDoubleStorage.java:868)\
      at org.sakaiproject.mailarchive.impl.DbMailArchiveService$DbStorage.getCount(DbMailArchiveService.java:356)\
      at org.sakaiproject.message.impl.BaseMessageService$BaseMessageChannelEdit.getCount(BaseMessageService.java:2415)\
      at org.sakaiproject.mailarchive.tool.MailboxAction.sizeResources(MailboxAction.java:178)\
      at org.sakaiproject.cheftool.PagedResourceActionII.prepPage(PagedResourceActionII.java:281)\
      at org.sakaiproject.mailarchive.tool.MailboxAction.buildListModeContext(MailboxAction.java:466)\
      at org.sakaiproject.mailarchive.tool.MailboxAction.buildMainPanelContext(MailboxAction.java:307)\
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\
      at java.lang.reflect.Method.invoke(Method.java:597)\
      at org.sakaiproject.cheftool.VelocityPortletPaneledAction.toolModeDispatch(VelocityPortletPaneledAction.java:397)\
      at org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:236)\
      at org.sakaiproject.cheftool.VelocityPortletPaneledAction.doGet(VelocityPortletPaneledAction.java:1032)\
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)\
      at org.sakaiproject.vm.ComponentServlet.service(ComponentServlet.java:56)\
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)\
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)\
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)\
      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:598)\
      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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)\
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)\
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)\
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)\
      at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)\
      at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1317)\
      at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:195)\
      at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:94)\
      at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:841)\
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)\
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)\
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)\
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)\
      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:659)\
      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:172)\
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)\
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)\
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)\
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)\
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)\
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)\
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)\
      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)\
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)\
      at java.lang.Thread.run(Thread.java:680)\

        Gliffy Diagrams

          Zeplin

            Attachments

              Issue Links

                Activity

                  People

                  Assignee:
                  steve.swinsburg Steve Swinsburg
                  Reporter:
                  steve.swinsburg Steve Swinsburg
                  Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                    Dates

                    Created:
                    Updated:
                    Resolved:

                      Git Integration