Confluence search and children macro shows incorrect pages due to Faster Permissions.

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.

Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Confluence's default permission checking method is very efficient when checking permissions for a single page, and guarantees strong permission consistency. However, this method can be quite slow and memory intensive when Confluence needs to check many thousands of pages.

The faster permissions service solves this by replicates permissions information in a database structure that can be queried more efficiently. It uses database triggers to register changes to pages, spaces and their permissions, and records these in a change log. These change logs are processed regularly, and keep the fast permissions database tables up to date. 

If these database tables become corrupted, page searches and macros, such as the children macros, may display inaccurate information.

Environment

Confluence 7.12.3 or later.

Diagnosis

The symptoms of a bad Faster Permissions table are very similar to those of a bad ancestor table or a bad index.

(lightbulb) That said, the easiest way to determine if the issue is related to the Faster Permissions feature is to temporarily disable it and observe if the problem resolves. However, for large deployments, it is advisable to avoid doing this during business hours, as Faster Permissions addresses some high-profile performance bugs.

CONFSERVER-43191 - Children Display Macro slow due to poor permission check performance (fixed in 7.17.0 and later)

CONFSERVER-55449 - The task report macro can execute long running SQL queries and cause performance degradation (fixed in 7.17.0 and later)

(lightbulb) The other way to do it is to temporarily disable the faster permissions for one page that has the misbehaving macro and see if it helps. For this we can use the especial GET parameter "force-use-bulk-permissions" in the page URL. Like this:

https://your_base_url/confluence/display/TEST/A+page+with+child+macro?force-use-bulk-permissions=false
https://your_base_url/confluence/pages/viewpage.action?pageId=12345&force-use-bulk-permissions=false

(info) Remember change the URL to match yours.

(info) Adding this parameter also displays a special frame with the debug info that should help troubleshooting:

Cause

For still unknown reasons, in some rare occasions, the Faster Permissions table can become corrupted.

Once a cause for this behavior is known, the article will be updated with it

Solution

Disable then re enable the Faster Permissions feature.

  1. Go to Administration menu , then General Configuration. > Faster Permissions.
  2. Select Disable then save
  3. Now select Enable then save
  4. Wait the status to change from "Initializing" to "enabled".

This should fix the tables by reprocessing all permissions to guarantee it is up to date.

(warning) It will some time to initialize just like when the Faster Permission was first enabled.

(warning) Due to the extra load the initialization will demand and the performance bugs mentioned, its recommended to be done off working hours.




Last modified on Jan 31, 2025

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.