Some synchrony page are unreconciled

Hi all,

we have customers who can’t perform some of our app’s operations due to some unreconciled pages in their space. It didn’t happen before Confluence 7. Here is the stacktrace:

....
Unable to save changes to unreconciled page ContentId{id=15499500}. Refreshing the page should fix this.

com.atlassian.confluence.internal.synchrony.ExternalChangesException: Unable to save changes to unreconciled page ContentId{id=15499500}. Refreshing the page should fix this.
	at com.atlassian.confluence.pages.DefaultPageManager.handleContentUpdateBeforeSave(DefaultPageManager.java:1543)
	at com.atlassian.confluence.pages.DefaultPageManager.saveContentEntity(DefaultPageManager.java:1453)
	at com.atlassian.confluence.core.DefaultContentEntityManager.saveNewVersion(DefaultContentEntityManager.java:208)
	at com.atlassian.confluence.pages.DefaultPageManager.saveNewVersion(DefaultPageManager.java:1475)
	at com.atlassian.confluence.core.DefaultContentEntityManager.saveNewVersion(DefaultContentEntityManager.java:197)

Furthermore there is a warning after the stacktrace:

WARN [LazyContentRecovery-44631371] [plugins.synchrony.service.SynchronyContentService] runRecoveryInTransaction Could not reconcile content for restored. ID: 44631371 Caused by: com.atlassian.confluence.plugins.synchrony.model.SynchronyException: ERROR_CREATING_REQUEST

In the CONTENTPROPERTIES table there is an entry:
propertyid | propertyname | stringval | longval | dateval | contentid
------------±----------------±----------±--------±--------±----------
46107094 | sync-rev-source | restored | | | 44631371
44717032 | macroNames | | | | 44631371

What does it mean? I couldn’t find anything in the Synchrony’s documentation. According to How Do Drafts Work on Confluence | Confluence | Atlassian Documentation there is no such value like “restored”. When does this happen? And how can it be fixed?

Cheers, Daria

Hi, we are facing exactly the same issue, and only in Confluence 7.x. The same functionalities work perfectly in Confluence 6.x instances. Did you make any progress on this? Any help is appreciated! Thank you

Hi Belinda,

I reported it to Atlassian and they are investigating.
There is a workaround which works on 7.0.X but not on 7.1.X:

  • disable Collaborative Mode and turn it on again (all the Synchrony related properties are removed from contentproperties table)

In 7.1.X the properties sync-rev-source are not removed when the Collaborative Mode is disabled…

Cheers,
Daria

Hi Daria,
Thank you very much for this hint! Hope they fix it soon.
Cheers

Hi Belinda,

there is an open bug in Confluence now: [CONFSERVER-59196] Updating a page via REST API causes 501 error after upgrading to Confluence 7+ due to contentproperties table modification - Create and track feature requests for Atlassian products.

Cheers,
Daria

We just realized that this Confluence bug (?) affects the users of the our Better Content Archiving app. Basically, it makes the “archive page” functionality useless in Confluence 7.0 and 7.1 versions. :frowning:

Even worse, I can imagine that it affects all apps that persist page versions using PageManager.saveNewVersion().

@nmansilla You guys helped to prioritize and fix that killer OSGI wiring bug. Can you guys look into this problem with priority, too? It is at least as widespread as the other one was.

Thank you @aron.gombas, you are correct, we use PageManager.saveNewVersion() and one of our customers is hit by this problem too. They have Confluence 7.1. I’m surprised it didn’t happen earlier for them, could it be caused by something else than the upgrade or the space import, for example can it happen just when two users edit a page together?

I just ran into this too in development. Refreshing did not fix it. First tried when anonymous, refreshed the page multiple times, and the error persisted. After viewing the page logged in it went away. Logging out and viewing it again worked.

We don’t use pageManager.saveNewVersion but do use pageManager.saveContentEntity.

1 Like