-
Suggestion
-
Resolution: Unresolved
-
3
-
NOTE: This suggestion is for Confluence Cloud. Using Confluence Server? See the corresponding suggestion.
Problem
Administrators sometimes need to rebuild the ancestor table. This process has no progress report on the UI, moreover by default it does not log anything.
This is problematic, as in many cases the reverse-proxy used in front of Confluence will timeout the client request, however this does not terminate the java thread processing the rebuild. So problems to tackle here:
- Progress bar on the admin UI to report the status
- Preferably putting the task as a one-time scheduled job, so that if the proxy times out, the status can still be monitored
- Log the start and the end of the process
- Consider logging the percentage of the progress
Workaround
- You can enable debug logging for the class com.atlassian.confluence.pages.ancestors, which then will show the progress with the following format:
2015-08-14 10:27:12,883 DEBUG [http-nio-8090-exec-1] [confluence.admin.actions.ConfigureLog4jAction] add New logger [ com.atlassian.confluence.pages.ancestors ] saved 2015-08-14 10:27:30,997 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] clearAncestorsCollectionCache Clearing ancestors cache ... 2015-08-14 10:27:30,998 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] clearAncestorsCollectionCache Ancestors cache cleared. 2015-08-14 10:27:31,000 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Learn the wonders of autoconvert (step 7 of 9)[98305] (1/9) 2015-08-14 10:27:31,001 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Lay out your page (step 6 of 9)[98306] (2/9) 2015-08-14 10:27:31,001 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Prettify the page with an image (step 4 of 9)[98307] (3/9) 2015-08-14 10:27:31,002 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Tell people what you think in a comment (step 8 of 9)[98308] (4/9) 2015-08-14 10:27:31,002 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Get serious with a table (step 5 of 9)[98309] (5/9) 2015-08-14 10:27:31,002 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating What is Confluence? (step 1 of 9)[98311] (6/9) 2015-08-14 10:27:31,003 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating A quick look at the editor (step 2 of 9)[98312] (7/9) 2015-08-14 10:27:31,003 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Let's edit this page (step 3 of 9)[98313] (8/9) 2015-08-14 10:27:31,003 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Share your page with a team member (step 9 of 9)[98314] (9/9)
- You can run the following query to compare the CONTENT table to the ancestor table, to see if all the entries are represented already. However, on large instances this query may run way too long, so it is not appropriate for progress monitoring in such cases. When all the entries here return 1 instead of 0, the process can be considered complete.
SELECT A.ANCESTORID, A.DESCENDENTID, COUNT(A.DESCENDENTID) FROM CONFANCESTORS A, CONTENT B WHERE B.CONTENTID = A.DESCENDENTID GROUP BY A.ANCESTORID, A.DESCENDENTID ORDER BY 3 DESC;
- is related to
-
CONFSERVER-38795 Progress report for rebuilding the ancestor table
- Gathering Interest
-
CONFSERVER-99997 Identify the health state of Confluence ancestor CONFANCESTORS table and rebuild it automatically
- Gathering Interest
[AI-591] Progress report for rebuilding the ancestor table
Support reference count | New: 3 |
Component/s | Original: Search - Core [ 46383 ] | |
Component/s | New: Search - Core [ 75296 ] | |
Key | Original: CONFCLOUD-38795 | New: AI-591 |
Support reference count | Original: 6 | |
Project | Original: Confluence Cloud [ 18513 ] | New: Atlassian Intelligence [ 23110 ] |
Workflow | Original: JAC Suggestion Workflow [ 3428155 ] | New: JAC Suggestion Workflow 3 [ 3620012 ] |
Workflow | Original: Confluence Workflow - Public Facing v3 [ 2241785 ] | New: JAC Suggestion Workflow [ 3428155 ] |
Status | Original: Open [ 1 ] | New: Gathering Interest [ 11772 ] |
Support reference count | New: 6 |
Workflow | Original: Confluence Workflow - Public Facing v3 - TEMP [ 2137204 ] | New: Confluence Workflow - Public Facing v3 [ 2241785 ] |
Workflow | Original: Confluence Workflow - Public Facing v3 [ 1895075 ] | New: Confluence Workflow - Public Facing v3 - TEMP [ 2137204 ] |
Workflow | Original: Confluence Workflow - Public Facing v2 [ 1790301 ] | New: Confluence Workflow - Public Facing v3 [ 1895075 ] |
Description |
Original:
h4. Problem Administrators sometimes need to [rebuild the ancestor table|https://confluence.atlassian.com/display/DOC/Rebuilding+the+Ancestor+Table]. This process has no progress report on the UI, moreover by default it does not log anything. This is problematic, as in many cases the reverse-proxy used in front of Confluence will timeout the client request, however this does not terminate the java thread processing the rebuild. So problems to tackle here: - Progress bar on the admin UI to report the status -- Preferably putting the task as a one-time scheduled job, so that if the proxy times out, the status can still be monitored - Log the start and the end of the process -- Consider logging the percentage of the progress h4. Workaround - You can [enable debug logging|https://confluence.atlassian.com/display/DOC/Configuring+Logging] for the class {{com.atlassian.confluence.pages.ancestors}}, which then will show the progress with the following format: {noformat} 2015-08-14 10:27:12,883 DEBUG [http-nio-8090-exec-1] [confluence.admin.actions.ConfigureLog4jAction] add New logger [ com.atlassian.confluence.pages.ancestors ] saved 2015-08-14 10:27:30,997 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] clearAncestorsCollectionCache Clearing ancestors cache ... 2015-08-14 10:27:30,998 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] clearAncestorsCollectionCache Ancestors cache cleared. 2015-08-14 10:27:31,000 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Learn the wonders of autoconvert (step 7 of 9)[98305] (1/9) 2015-08-14 10:27:31,001 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Lay out your page (step 6 of 9)[98306] (2/9) 2015-08-14 10:27:31,001 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Prettify the page with an image (step 4 of 9)[98307] (3/9) 2015-08-14 10:27:31,002 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Tell people what you think in a comment (step 8 of 9)[98308] (4/9) 2015-08-14 10:27:31,002 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Get serious with a table (step 5 of 9)[98309] (5/9) 2015-08-14 10:27:31,002 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating What is Confluence? (step 1 of 9)[98311] (6/9) 2015-08-14 10:27:31,003 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating A quick look at the editor (step 2 of 9)[98312] (7/9) 2015-08-14 10:27:31,003 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Let's edit this page (step 3 of 9)[98313] (8/9) 2015-08-14 10:27:31,003 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Share your page with a team member (step 9 of 9)[98314] (9/9) {noformat} See: [https://confluence.atlassian.com/display/CONFKB/How+to+enable+Ancestor+table+rebuild+progress+logging] - You can run the following query to compare the {{CONTENT}} table to the ancestor table, to see if all the entries are represented already. However, on large instances this query may run way too long, so it is not appropriate for progress monitoring in such cases. When all the entries here return {{1}} instead of {{0}}, the process can be considered complete. {code:sql} SELECT A.ANCESTORID, A.DESCENDENTID, COUNT(A.DESCENDENTID) FROM CONFANCESTORS A, CONTENT B WHERE B.CONTENTID = A.DESCENDENTID GROUP BY A.ANCESTORID, A.DESCENDENTID ORDER BY 3 DESC;{code} |
New:
{panel:bgColor=#e7f4fa} *NOTE:* This suggestion is for *Confluence Cloud*. Using *Confluence Server*? [See the corresponding suggestion|http://jira.atlassian.com/browse/CONFSERVER-38795]. {panel} h4. Problem Administrators sometimes need to [rebuild the ancestor table|https://confluence.atlassian.com/display/DOC/Rebuilding+the+Ancestor+Table]. This process has no progress report on the UI, moreover by default it does not log anything. This is problematic, as in many cases the reverse-proxy used in front of Confluence will timeout the client request, however this does not terminate the java thread processing the rebuild. So problems to tackle here: - Progress bar on the admin UI to report the status -- Preferably putting the task as a one-time scheduled job, so that if the proxy times out, the status can still be monitored - Log the start and the end of the process -- Consider logging the percentage of the progress h4. Workaround - You can [enable debug logging|https://confluence.atlassian.com/display/DOC/Configuring+Logging] for the class {{com.atlassian.confluence.pages.ancestors}}, which then will show the progress with the following format: {noformat} 2015-08-14 10:27:12,883 DEBUG [http-nio-8090-exec-1] [confluence.admin.actions.ConfigureLog4jAction] add New logger [ com.atlassian.confluence.pages.ancestors ] saved 2015-08-14 10:27:30,997 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] clearAncestorsCollectionCache Clearing ancestors cache ... 2015-08-14 10:27:30,998 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] clearAncestorsCollectionCache Ancestors cache cleared. 2015-08-14 10:27:31,000 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Learn the wonders of autoconvert (step 7 of 9)[98305] (1/9) 2015-08-14 10:27:31,001 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Lay out your page (step 6 of 9)[98306] (2/9) 2015-08-14 10:27:31,001 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Prettify the page with an image (step 4 of 9)[98307] (3/9) 2015-08-14 10:27:31,002 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Tell people what you think in a comment (step 8 of 9)[98308] (4/9) 2015-08-14 10:27:31,002 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Get serious with a table (step 5 of 9)[98309] (5/9) 2015-08-14 10:27:31,002 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating What is Confluence? (step 1 of 9)[98311] (6/9) 2015-08-14 10:27:31,003 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating A quick look at the editor (step 2 of 9)[98312] (7/9) 2015-08-14 10:27:31,003 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Let's edit this page (step 3 of 9)[98313] (8/9) 2015-08-14 10:27:31,003 INFO [http-nio-8090-exec-9] [confluence.pages.ancestors.HibernatePageAncestorManager] rebuild updating Share your page with a team member (step 9 of 9)[98314] (9/9) {noformat} See: [https://confluence.atlassian.com/display/CONFKB/How+to+enable+Ancestor+table+rebuild+progress+logging] - You can run the following query to compare the {{CONTENT}} table to the ancestor table, to see if all the entries are represented already. However, on large instances this query may run way too long, so it is not appropriate for progress monitoring in such cases. When all the entries here return {{1}} instead of {{0}}, the process can be considered complete. {code:sql} SELECT A.ANCESTORID, A.DESCENDENTID, COUNT(A.DESCENDENTID) FROM CONFANCESTORS A, CONTENT B WHERE B.CONTENTID = A.DESCENDENTID GROUP BY A.ANCESTORID, A.DESCENDENTID ORDER BY 3 DESC;{code} |
Link | New: This issue is related to CONFSERVER-38795 [ CONFSERVER-38795 ] |