cannot edit/create page anymore after upgrading to recent version

Jing Kang August 13, 2021

error:
content_procedure_for_denormalised_permissions does not exist

3 comments

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
August 13, 2021

context?

Jing Kang August 14, 2021

when click Create. it is ok to read existing pages, but not for editing, cannot save.

Capture.PNG

Jing Kang August 14, 2021
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
August 14, 2021

OK, you've run into a known problem in upgrading MySQL, and there's a one-off fix - see https://confluence.atlassian.com/confkb/confluence-mysql-database-migration-causes-content_procedure_for_denormalised_permissions-does-not-exist-error-1072474724.html

In the question you linked to, there's actually a second problem, in that the posters are mostly talking about Mariadb - while that mostly tends to work ok, it is not supported and should not be used for Confluence.  It often causes unfixable problems, especially during upgrades, and can lead people in circles when errors like this one happen, as they spend ages trying to use MySQL fixes which don't quite apply to Maria and hence don't work.

Jing Kang August 14, 2021

Hi, Nic,

Thanks for the info. I read that solution before, but I don't have old back up any more.
question:
- any way/script to fix the procedure issue?

- if I do the site backup, and restore to a new instance, is it ok?

Jing

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
August 14, 2021

It's not the application that is failing here, it's the database not meeting the needs of the application.  The database is also technically fine, it's just not capable of supporting the application in its current format.

You don't need a backup, you've got a perfectly valid database.  As the doc says, dump that out, and restore it, then reconnect Confluence.

Jing Kang August 16, 2021

why the solution(create procedures) delete?

or atlassian provide the way to re-create those missing procedures.

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
August 16, 2021

Because it's the database that is missing stuff, not the application.  Atlassian can't do it, the application needs the database to be reconfigured to support it and the data rebuilt to match the new configurations (restoring from the backup does that rebuild)

jblanco September 7, 2021

You can create the 5 missing procedures by executing this:

Note1: It has to be executed by a privileged user (root)

Note2: Replace my_user with your confluence database user

 

DELIMITER ;;
CREATE DEFINER=`my_user`@`%` PROCEDURE `content_permission_procedure_for_denormalised_permissions`(OUT isServiceDisabled BOOL)
BEGIN
SET isServiceDisabled = TRUE;
END ;;

CREATE DEFINER=`my_user`@`%` PROCEDURE `content_perm_set_procedure_for_denormalised_permissions`(OUT isServiceDisabled BOOL)
BEGIN
SET isServiceDisabled = TRUE;
END ;;

CREATE DEFINER=`my_user`@`%` PROCEDURE `content_procedure_for_denormalised_permissions`(OUT isServiceDisabled BOOL)
BEGIN
SET isServiceDisabled = TRUE;
END ;;

CREATE DEFINER=`my_user`@`%` PROCEDURE `space_permission_procedure_for_denormalised_permissions`(OUT isServiceDisabled BOOL)
BEGIN
SET isServiceDisabled = TRUE;
END ;;

CREATE DEFINER=`my_user`@`%` PROCEDURE `space_procedure_for_denormalised_permissions`(OUT isServiceDisabled BOOL)
BEGIN
SET isServiceDisabled = TRUE;
END ;;

Like # people like this
IT Billing October 7, 2021

I ran into this exact problem today and the above worked perfectly. Thanks @jblanco

JWCho July 28, 2022

@jblancoI'm on Confluence 7.13.7 and had this issue after moving Confluence to different server and it worked!

Dario November 15, 2023

Dear @jblanco ,

I would like to confirm with you what confluence database user you mean in the Note 2.

I tried with the user who connects to database (the same who is in confluence.cfg.xml) because I understand that as my confluence database user. Unfortunately, I get another error message telling me that user does not exist.

Could you please clarify it?

confluence version: 7.19.16

Database: MySQL 8

Thank you in advance.

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events