Updating a page via REST API causes 501 error after upgrading to Confluence 7+ the first time it's called.
The propertyname = 'sync-rev-source' or equivalent from the table contentproperties is replaced with the value restored in all rows.
Viewing the page or making the call again will succeed as it sets the 'propertyname' back to 'synchrony' or 'synchrony-ack' as expected.
- Install Confluence 6.15.9 and make sure the Demonstration Space was created (You can create other pages for testing)
- Run the following query:
- Make sure that none of the properties is set to 'restored'. They should be either 'synchrony-ack' or 'synchrony' as described on How do drafts work.
- Upgrade Confluence to 7.1.0
- Make sure not to view any of the pages
- Execute the same query again. You should be able to see that every property was set to 'restored':
- Pick one of the rows with 'restored' value and it's contentId and execute following REST
- Notice the following response:
The page is updated accordingly.
A 501 error is received and the page is not updated.
Making the call again or viewing the page will allow it to work as it sets the stringval in contentproperties back to synchrony or synchrony-ack.
- 7.0.2 - Disabling/enabling collaborative editing clears the 'sync-rev-source' values and allows the calls to work. This method does not work for 7.1.0.
Known to cause issues with some plugins like K15 Scroll Versions when trying to publish pages, as the same error is thrown when using the JAVA API methods saveContentEntity() and saveNewVersion() from the com.atlassian.confluence.pages.DefaultPageManager class.
Calling again the methods does not always work in setting the stringval in contentproperties back from "restored" as opposed to the REST API so that workaround for plugins is not reliable.