Recently we have faced an issue with the replication agent for one of our publish instances, the queue was blocked making the authoring instance slow. we had disabled the agent and then re-enabled it when the pub instance is back. Now that the queue is gone and during the downtime, the replications didn't happen to this instance, how do we make sure that the pub instance is in sync now?
Solved! Go to Solution.
You can manually migrate content and asset from one publisher to other through crx package manager to make sure both pubs are in sync.
Hi @seeker there is something called jcr checksum compare which can be used to see the difference but I would highly recommend to replace the existing content of publisher having issue to one which is correct.
Ideally re-enabling the agent should still have Queue with all data. You can check logs of the time when queue was stuck. By default AEM generates log of failed resource. Please refer below log for reference. You can grep old logs referring this:
*ERROR* [sling-threadpool-3224e2e6-0696-45d3-a3ad-37e19a15df8b-(apache-sling-job-thread-pool)-1-com_day_cq_replication_job_publish(com/day/cq/replication/job/publish)] com.day.cq.replication.Agent.publish >> Path: /content/dam/asset.png
Also please check if you can find any information under /var/eventing/jobs
You can also try for getting information of resources that got replicated in that particular duration using a query and write script to publish then using Agent.
If its easy to clone the publish instance, then you can replace the outdated publish instance with the latest one.
I would suggest checking the replication status for the page/asset/XF during block time.
You can use any query like QueryBuilder etc and package the content from pub1 to pub2(blocked one).
It is also possible to publish again from Author, but that involves the risk of publishing further modifications that aren't ready.
Hi @seeker ,
I could see below possible scenarios.
1. If resources which are supposed to be synced are minimal - then, identify such resources through query builder or logs and publish it manually.
2. If resources are significant and unable to manage sync manually as suggested in step 1 - then, clone the other publisher (here need to handle the traffic carefully to the remaining publisher/s during cloning)
3. If 2 is difficult may be because of only 2 publishers or repository is huge or any other reason - sling distribution can help. Please check more on sling distribution - Sling Content Distribution In Aem (Part 1) | AEM ... - Adobe Experience League Community - 366602
Note: In order to avoid content sync issue especially when publisher needs to be taken off or agent needs to be disabled, I would suggest to have a dummy agent (on author pointing to fake publish url) enabled so that it will block the queue. Later point dummy agent to actual publisher (whenever it is up) so that blocked content will be published to the recently enabled publisher and we can avoid content sync issue.