Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-34878

Clicking 'older' in 'View Recent Blog Posts' causes an ArrayIndexOutOfBoundsException when switching to previous month

    XMLWordPrintable

Details

    Description

      NOTE: This bug report is for Confluence Server. Using Confluence Cloud? See the corresponding bug report.

      An error happens when viewing the recent blog posts history (not tested with pages), when going to older history page to a previous month in a user’s personal space (not tested in other spaces, but probably the error should happen too). The history of recent blog posts can be found in the following link:

      <Confluence URL>/display/~<user>/<year>/<month>
      

      Where:

      • <Confluence URL> The URL for Confluence
      • <user> is the username
      • <year> is the year
      • <month> is the numeric month with 2 digits

      When seeing the history of blog posts, we can navigate by pressing ‘older’ to see the older posts. If doing this until the last post in the current month, the ‘older’ button should make a transition to the previous month, but, instead, this error is shown:

      The following stacktrace for the error is present in the Confluence logs:

      @40000000540e255d399c3504 2014-09-08 17:53:23,962 ERROR [TP-Processor7] [atlassian.confluence.servlet.ConfluenceServletDispatcher] sendError Could not execute action
      @40000000540e255d399c3cd4  -- url: /wiki/display/~—/2012/04/ | userName: — | referer: https://thinkwrap.jira.com/wiki/display/~--/2012/04/?currentPage=2
      @40000000540e255d399c40bc java.lang.ArrayIndexOutOfBoundsException: -1
      @40000000540e255d399c40bc       at java.util.ArrayList.get(ArrayList.java:324)
      @40000000540e255d399c40bc       at com.atlassian.confluence.pages.actions.ViewBlogPostsByDateAction.calculateViewingBlogs(ViewBlogPostsByDateAction.java:321)
      @40000000540e255d399c63e4       at com.atlassian.confluence.pages.actions.ViewBlogPostsByDateAction.execute(ViewBlogPostsByDateAction.java:52)
      @40000000540e255d399c67cc       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
      @40000000540e255d399c67cc       at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      @40000000540e255d399c7384       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      @40000000540e255d399c7384       at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:65)
      @40000000540e255d399c776c       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      @40000000540e255d399c8af4       at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      @40000000540e255d399c8af4       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      …
      

      Steps to Reproduce

      • Have a Confluence installed
      • Create personal space for a user and use the Documentation Theme (not tested with other theme)
      • Create 2 blog posts in this space with the creation dates in two different months (for instance, one in April, 2014 and the other in May, 2014)
        • Either wait until a month passes to create the second one
        • Or change the ‘creationdate’ in the database (as well as the ‘lastmoddate’, if required to not have a last modification date before the creation). First find the blogpost (content) id, and then:
          update content set creationdate = ‘<newcreationdate>’ where contentid = <id>;
          update content set lastmoddate = ‘<newlastmoddate>’ where contentid = <id>;
          
      • Go go:
        <Confluence URL>/display/~<user>/<year>/<month>
        
        • Using the date of the oldest one.
      • There should be 1 blog post here, the oldest one. Click ‘older’
      • The error occurs.

      Workaround

      • In the URL, replace the month by the previous one to have access to it.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jsilveira Jaime S
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: