Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

Lost content after deployment

webera
Level 1
Level 1

Hello Community,

 

We had some strange behavior regarding a deployment of a new version which resulted in the loss of some content.

After the deployment, some of the newly added/changed content has been lost.

 

An error we have found which may indicate the described problem is:

26.07.2021 09:12:43.959 *INFO* [OsgiInstallerImpl] com.adobe.granite.installer.factory.packages.impl.PackageTransformer Unable to check content package {}
Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakState0001: Unresolved conflicts in /etc/packages/xxx/xxx.ui.content-0.9.25.zip/jcr:content
...

At the time of the deployment many users have been logged in and each of them has edited some content.

Also the admin user which is used to deploy the packages was logged in by real persons while we have deployed. In the timeline of the content the admin is the user which is the last one that edited the content, but no one actually edited this content. 

 

Also interesting is that shortly after the deployment and after the initial error (described above) there have been many warnings like:

*WARN* [EventAdminAsyncThread #9] com.adobe.cq.commerce.pim.impl.cataloggenerator.CatalogUtils Frozen node for /path/to/content not found

This warning has been thrown for all of the content that we have lost.

 

Now, the question is, if anyone has an idea:

- How this happened / How can someone provoke this issue?

- How is this preventable?

 

I would really appreciate some hints as we have debugged for quite some time and could not finde any reasonable answers to these questions and obviously we want to prevent the loss of content in the future.

 

Thanks in advance!

2 Replies
Jörg_Hoh
Employee
Employee

Hi,

 

One thing which comes to mind are incorrectly set package filters. I would assume that a package filters claims to contain /content/mysite/en, and then the package installation process does exactly that: purge /content/mysite/en and install the content of the package instead. And if there's not content in the package at jcr_content/mysite/en, this content is removed from the repository.

 

It should be quite easy to check all content packages for such rules and validate the behavior on some local test systems.

webera
Level 1
Level 1

Hi, thanks for the answer!

We have deployed many times prior to this event and never experienced this problem, nor have we changed the filters recently.
I have double checked the filters and all of them seem correct.

Neither is this issue reproducible with a new deployment.

 

So i think it is seems unlikely that this is an issue with the filters. (At least in my opinion)