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

Page Restriction design does not scale well due to re-indexing of all sub-pages

    • We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      Page restrictions, when applied to large spaces, can cause significant performance problems (instance becomes inoperable) due to the need to reindex every page (including every attachment). We've only recently begun to diagnose this in support, but we suspect it's been a problem for some time (based on the high frequency of incidents since learning what to look for).

      http://confluence.atlassian.com/display/DOC/Page+Restrictions+Performance+Considerations

      Implementation notice
      The solution to this issue is to batch the contentns of the index queue. That way Confluence should remain responsive while re-indexing. The batch size defaults to 1500 so it should be large enough that most instances do not need to adjust it. However should you wish to adjust the batch size it is possible by passing -Dindex.queue.batch.size=1500 (replacing 1500 with your desired batch size).

            [CONFSERVER-16866] Page Restriction design does not scale well due to re-indexing of all sub-pages

            Hello Emily,
            That is a much bigger change and I have raised CONF-19661 to track that. Please vote and/or watch that issue to to track the progress of it.

            Daniel (Inactive) added a comment - Hello Emily, That is a much bigger change and I have raised CONF-19661 to track that. Please vote and/or watch that issue to to track the progress of it.

            Emily Fort added a comment -

            Thanks for the update and we appreciate you looking at this. However, there is still an issue. Your proposal does not address the user experience. Our major concern is the "pre-enqueing" of the items to re-index. In some cases this can take so long that the browser times out (ex. IE times out after 2 minutes). That work should not be visible to the user, and perhaps done in a new thread so that perms are effective immediately and focus is returned to the user.

            We have implemented a work-around here where we check to see how many objects are beneath the page and if it is over a certain threshold, we won't re-index the content. We run a trigger plug-in job which runs the site re-index early each morning. However, this is far from ideal.

            Any chance that there will be a fix for the user experience issue?

            Emily Fort added a comment - Thanks for the update and we appreciate you looking at this. However, there is still an issue. Your proposal does not address the user experience. Our major concern is the "pre-enqueing" of the items to re-index. In some cases this can take so long that the browser times out (ex. IE times out after 2 minutes). That work should not be visible to the user, and perhaps done in a new thread so that perms are effective immediately and focus is returned to the user. We have implemented a work-around here where we check to see how many objects are beneath the page and if it is over a certain threshold, we won't re-index the content. We run a trigger plug-in job which runs the site re-index early each morning. However, this is far from ideal. Any chance that there will be a fix for the user experience issue?

            It is only available in the upcoming Confluence 3.3

            Daniel (Inactive) added a comment - It is only available in the upcoming Confluence 3.3

            What version supports the -Dindex.queue.batch.size?

            Matthew Keeneth added a comment - What version supports the -Dindex.queue.batch.size?

            Implemented batching of the index queue to make confluence more responsive while indexing. The batch size defaults to 1500 so it should be large enough that most instances do not need to adjust it. However should you wish to adjust the batch size it is possible by passing -Dindex.queue.batch.size=1500 (replacing 1500 with your desired batch size).

            Daniel (Inactive) added a comment - Implemented batching of the index queue to make confluence more responsive while indexing. The batch size defaults to 1500 so it should be large enough that most instances do not need to adjust it. However should you wish to adjust the batch size it is possible by passing -Dindex.queue.batch.size=1500 (replacing 1500 with your desired batch size).

            Hi Audra - this is the exact same kind of problem that happened with the 2.8 upgrade where the moving of pages in large spaces became a disaster - well documented in CONF-11469 and 11860.

            Now in 3.1 we have another non-essential/nice-to-have feature that breaks Confluence for customers with large spaces and restrictions. (Ironically, version 3.1 is where you finally fix some of the page-tree moving function that broke in 2.8 over a year ago). I think the real problem is that your regression testing is not including use cases that represent the many customer sites that have this situation.

            The two proposed mitigations - changing the structure of our spaces or removing restrictions are simply unrealistic. And being asked to make a major structural change to the content of our site in order to implement an upgrade is just not appropriate.

            This is a bug that breaks Confluence for existing customers and as such should be put at the highest priority above all other enhancements you are doing. I predict that when the folks who commented on the earlier page tree move issues learn of this one you will soon have another storm of comments.

            Best Regards
            Andy

            Andy Schoenbach added a comment - Hi Audra - this is the exact same kind of problem that happened with the 2.8 upgrade where the moving of pages in large spaces became a disaster - well documented in CONF-11469 and 11860. Now in 3.1 we have another non-essential/nice-to-have feature that breaks Confluence for customers with large spaces and restrictions. (Ironically, version 3.1 is where you finally fix some of the page-tree moving function that broke in 2.8 over a year ago). I think the real problem is that your regression testing is not including use cases that represent the many customer sites that have this situation. The two proposed mitigations - changing the structure of our spaces or removing restrictions are simply unrealistic. And being asked to make a major structural change to the content of our site in order to implement an upgrade is just not appropriate. This is a bug that breaks Confluence for existing customers and as such should be put at the highest priority above all other enhancements you are doing. I predict that when the folks who commented on the earlier page tree move issues learn of this one you will soon have another storm of comments. Best Regards Andy

            Thanks, I appreciate the update.

            Steve Enoch added a comment - Thanks, I appreciate the update.

            AudraA added a comment -

            Hi Steve,
            One of our lead developers said that fixing this would be a big task, not something we could address easily in the short term. We suggest some configuration changes in the mean time:

            1) customers with large page hierarchies and special security needs over that hierarchy should really consider moving it to a space.

            2) Another way they can mitigate this issue is to minimize changes to the page permissions on the root page of the hierarchy (as each change will necessitate a reindex of the whole hierarchy). They could do this by choosing appropriate groups - allowing privileges to the hierarchy to be granted or revoked via group memberships outside of Confluence rather than through a very expensive change to the page permissions on the root page.

            We will consider working on this to make some performance gains and looking at indexing performance, but cannot make any guarantees on when this work will be done currently. We will consider this for a release in 2010.

            Hope this helps.

            Best regards,
            Audra

            AudraA added a comment - Hi Steve, One of our lead developers said that fixing this would be a big task, not something we could address easily in the short term. We suggest some configuration changes in the mean time: 1) customers with large page hierarchies and special security needs over that hierarchy should really consider moving it to a space. 2) Another way they can mitigate this issue is to minimize changes to the page permissions on the root page of the hierarchy (as each change will necessitate a reindex of the whole hierarchy). They could do this by choosing appropriate groups - allowing privileges to the hierarchy to be granted or revoked via group memberships outside of Confluence rather than through a very expensive change to the page permissions on the root page. We will consider working on this to make some performance gains and looking at indexing performance, but cannot make any guarantees on when this work will be done currently. We will consider this for a release in 2010. Hope this helps. Best regards, Audra

            I was told 10 days ago that I would be given a status or that someone would follow up with this issue, but have not heard back from anyone yet. All I am looking for is some sort of initial estimate on when this might be addressed...1 month, 6 months..a year? We just had this occure again so we are needing to be able to plan for how we are going to fix this in the short term. Any status will be extremly helpful.

            Thanks,
            Steve

            Steve Enoch added a comment - I was told 10 days ago that I would be given a status or that someone would follow up with this issue, but have not heard back from anyone yet. All I am looking for is some sort of initial estimate on when this might be addressed...1 month, 6 months..a year? We just had this occure again so we are needing to be able to plan for how we are going to fix this in the short term. Any status will be extremly helpful. Thanks, Steve

            Is there any way to know a ball park ETA on when this might be fixed or a projected Fix version?

            Steve Enoch added a comment - Is there any way to know a ball park ETA on when this might be fixed or a projected Fix version?

              dkjellin Daniel (Inactive)
              jlargman Jeremy Largman
              Votes:
              18 Vote for this issue
              Watchers:
              16 Start watching this issue

                Created:
                Updated:
                Resolved: