Uploaded image for project: 'Magnolia UI'
  1. Magnolia UI
  2. MGNLUI-2966

Exception when working with the page tree containing a deleted page variant

    XMLWordPrintable

Details

    • Yes

    Description

      I've deleted a page variant and have published the deletion. I go through the work flow, assign the "publish deletion" task to me, then approve it. The page is successfully deleted. I then close Pulse and am back to Pages, which still shows the deleted&published page variant - that's fine: we can't push such an asynchronously triggered change yet.

      However, in order to update the view, I decided not to refresh the page, but close and open the master node. This causes an ArrayIndexOutOfBoundsException, shown below.

      The relevant part of the log file, including the publication of the deleted page, looks like this:

      2014-06-04 15:29:39,269 INFO  nolia.module.exchangetransactional.XAReceiveFilter: null User superuser successfully deactivated null on magnoliaPublic.
      2014-06-04 15:29:39,941 INFO  info.magnolia.module.activation.BaseSyndicatorImpl: Exchange: activation succeeded [/demo-project/about/subsection-articles/large-article/variants/variant-0]
      2014-06-04 15:29:55,529 WARN  gnolia.ui.workbench.container.AbstractJcrContainer: Couldn't find item info.magnolia.ui.vaadin.integration.jcr.JcrNodeItemId@4a94ab57 so property jcrName can't be retrieved!
      2014-06-04 15:29:55,550 WARN  gnolia.ui.workbench.container.AbstractJcrContainer: Couldn't find item info.magnolia.ui.vaadin.integration.jcr.JcrNodeItemId@4a94ab57 so property title can't be retrieved!
      2014-06-04 15:29:55,550 WARN  gnolia.ui.workbench.container.AbstractJcrContainer: Couldn't find item info.magnolia.ui.vaadin.integration.jcr.JcrNodeItemId@4a94ab57 so property mgnl:template can't be retrieved!
      2014-06-04 15:29:55,550 WARN  gnolia.ui.workbench.container.AbstractJcrContainer: Couldn't find item info.magnolia.ui.vaadin.integration.jcr.JcrNodeItemId@4a94ab57 so property status can't be retrieved!
      2014-06-04 15:29:55,551 WARN  gnolia.ui.workbench.container.AbstractJcrContainer: Couldn't find item info.magnolia.ui.vaadin.integration.jcr.JcrNodeItemId@4a94ab57 so property mgnl:lastModified can't be retrieved!
      04.06.2014 15:29:55 com.vaadin.server.DefaultErrorHandler doDefault
      SCHWERWIEGEND: 
      java.lang.ArrayIndexOutOfBoundsException: 16
      	at com.vaadin.ui.Table.removeRowsFromCacheAndFillBottom(Table.java:1913)
      	at com.vaadin.ui.Table.paintPartialRowAdditions(Table.java:3348)
      	at com.vaadin.ui.Table.paintPartialRowUpdate(Table.java:3279)
      	at com.vaadin.ui.Table.doPaintContent(Table.java:3224)
      	at com.vaadin.ui.Table.paintContent(Table.java:3195)
      	at com.vaadin.ui.TreeTable.paintContent(TreeTable.java:496)
      	at com.vaadin.server.LegacyPaint.paint(LegacyPaint.java:65)
      	at com.vaadin.server.communication.LegacyUidlWriter.write(LegacyUidlWriter.java:81)
      	at com.vaadin.server.communication.UidlWriter.write(UidlWriter.java:106)
      	at com.vaadin.server.communication.UidlRequestHandler.writeUidl(UidlRequestHandler.java:149)
      	at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:97)
      	at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:37)
      	at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1371)
      	at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:238)
      	at info.magnolia.ui.admincentral.AdmincentralVaadinServlet.service(AdmincentralVaadinServlet.java:131)
      	at [...]
      

      When I actually reload the page, the deleted page disappears, but the count on the "Variants" node is still wrong (shows 2, instead of 1 variant) and I get another exception:

      04.06.2014 15:43:08 com.vaadin.server.DefaultErrorHandler doDefault
      SCHWERWIEGEND: 
      java.lang.ArrayIndexOutOfBoundsException: -1
      	at java.util.ArrayList.get(ArrayList.java:324)
      	at com.vaadin.ui.TreeTable$HierarchicalStrategy.getIdByIndex(TreeTable.java:310)
      	at com.vaadin.ui.TreeTable.getIdByIndex(TreeTable.java:617)
      	at com.vaadin.ui.TreeTable.getItemIds(TreeTable.java:879)
      	at com.vaadin.ui.Table.getVisibleCellsNoCache(Table.java:2169)
      	at com.vaadin.ui.Table.getVisibleCellsUpdateCacheRows(Table.java:1926)
      	at com.vaadin.ui.Table.paintPartialRowUpdates(Table.java:3294)
      	at com.vaadin.ui.Table.paintPartialRowUpdate(Table.java:3278)
      	at com.vaadin.ui.Table.doPaintContent(Table.java:3224)
      	at com.vaadin.ui.Table.paintContent(Table.java:3195)
      	at com.vaadin.ui.TreeTable.paintContent(TreeTable.java:496)
      	at com.vaadin.server.LegacyPaint.paint(LegacyPaint.java:65)
      	at com.vaadin.server.communication.LegacyUidlWriter.write(LegacyUidlWriter.java:81)
      	at com.vaadin.server.communication.UidlWriter.write(UidlWriter.java:106)
      	at com.vaadin.server.communication.UidlRequestHandler.writeUidl(UidlRequestHandler.java:149)
      	at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:97)
      	at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:37)
      	at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1371)
      	at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:238)
      	at info.magnolia.ui.admincentral.AdmincentralVaadinServlet.service(AdmincentralVaadinServlet.java:131)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
      	at [...]
      

      The problem remains until I close and re-open the Pages app.

      This has been observed on a 5.3 snapshot release (see environment).

      Checklists

        Acceptance criteria

        Attachments

          Issue Links

            Activity

              People

                apchelintcev Aleksandr Pchelintcev
                weder Andreas Weder
                Votes:
                1 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Checklists

                    Bug DoR
                    Task DoD