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

Ancestor table is broken after reordering pages and applying restrictions

      Summary

      If the pages have been reordered prior to applying restriction to one of them and then top page has been moved to another space then the ancestors for that page will be calculated incorrectly.

      Environment

      • Confluence Server 6.2.3
      • Two users: usera and userb
      • Two Spaces: PLAY and LAL (created by admin)
      • All users may add page restrictions in both spaces'
      • PLAY contains these three pages: "page1", "page2", "page3", "page4"
      • Page tree is the following: PLAY Home -> "page1" -> "page2" -> "page3" -> "page4"

        Steps to Reproduce

      1. Log in as usera
      2. Go to PLAY -> Reorder pages
      3. Reorder pages to some random order by changing the parent-child relationship
      4. Reorder pages back to initial hierarchy: PLAY Home -> "page1" -> "page2" -> "page3" -> "page4"
      5. userb adds an edit restriction to "test2"
      6. usera adds a view and edit restriction to "test1"
      7. usera moves "test1" to the space LAL
      8. check LAL: it does only contain "test1" as usera wasn't allowed to edit the page "test2" and couldn't move it
      9. get back to PLAY and check for orphaned pages (it should contain "test2")
      10. Check the restrictions for "test2" (it still has inherited restrictions from "test1")
      11. Try to move "test1" back to PLAY

      Expected Results

      1. "test2" as orphaned page has only its own restrictions
      2. "test1" can be moved to PLAY without any error

      Actual Results

      1. "test2" has inherited restrictions from "test1" while being orphaned page:
      2. It's impossible to move "test1" to PLAY because Confluence think it still has "test3" and "test4" as ancestors

      Workaround

      1. Rebuild Ancestor table
      2. Reuild content index

        1. Screen Shot 2017-06-30 at 13.08.28.png
          37 kB
          Anton Shaleev
        2. Screen Shot 2017-06-30 at 13.19.35.png
          88 kB
          Anton Shaleev
        3. Screen Shot 2017-06-30 at 18.02.01.png
          138 kB
          Anton Shaleev
        4. Screen Shot 2017-06-30 at 18.02.19.png
          136 kB
          Anton Shaleev

            [CONFSERVER-52736] Ancestor table is broken after reordering pages and applying restrictions

            The fix from https://jira.atlassian.com/browse/CONFSERVER-57476 resolved this bug as well.

            George Lipatov added a comment - The fix from  https://jira.atlassian.com/browse/CONFSERVER-57476  resolved this bug as well.

            We are able to reproduce this issue exactly.  However, flushing the inheritance cache alone does not resolve it.  In fact,  [Rebuilding the Ancestor Table|https://confluence.atlassian.com/doc/rebuilding-the-ancestor-table-153948.html]  does not fix it either, so this state cannot be fixed.

             

            Request to escalate all these ancestor related issues since they are really piling-up and are becoming a big problem.

             

            Confluence 6.6.7, clean install, no additional add-ons.

            Deleted Account (Inactive) added a comment - - edited We are able to reproduce this issue exactly.  However, flushing the inheritance cache alone does not resolve it.  In fact,  [Rebuilding the Ancestor Table| https://confluence.atlassian.com/doc/rebuilding-the-ancestor-table-153948.html ]  does not fix it either, so this state cannot be fixed.   Request to escalate all these ancestor related issues since they are really piling-up and are becoming a big problem.   Confluence 6.6.7, clean install, no additional add-ons.

            Actually this does not break the page ancestor table or at least rebuilding the table and the search index does not fix the problem but flushing the cache does. So I guess it's a caching issue and not the ancestor table.

             

            Liesa Bernauer added a comment - Actually this does not break the page ancestor table or at least rebuilding the table and the search index does not fix the problem but flushing the cache does. So I guess it's a caching issue and not the ancestor table.  

              Unassigned Unassigned
              ashaleev Anton Shaleev
              Affected customers:
              12 This affects my team
              Watchers:
              10 Start watching this issue

                Created:
                Updated:
                Resolved: