Hi Dear Community,
We're in the process of setting up reverse replication ( Pub to Auth). We have a single author instance publishing to 2 publisher agents.
We're failing to enable the outbox agent on publisher instance the "view Log" only results in "no such agent: outbox". We're using AEM version 6.1.0.20150507.
Could you guys point to any configuration steps we're overlooking.
Best,
John M
Solved! Go to Solution.
Hi,
as JK asked, what is the use case for using Reverse Replication? Previously it was used for synching of Users and User Generated Content.
We now do not support reverse replication of UGC, instead you should use xSRP( requires AEM Communities licence). For users and groups you should use Sling Content Distribution (SCD), which as a part of Sling requires no licence above your AEM licence.
So essentially the only use case left for reverse replication is for cq:page nodes. So if you do have a valid use case, from the documentation, reverse replication is a two step process:
As the publish environment is usually in the DMZ, to get content back to the author environment the connection must be initiated from the author instance. This is done with:
So you have to enable two agents. But the docs do not give complete details on the setup, as you also need to get content into the reverse replication outbox on the publish instance. You could do this by using a launcher that listens for events relating to pages and adds them to the agent, this would be the better approach as you would not want to use on modification as you could end up in a an infinite loop. You also need to handle pushing content out from the author instance back to the publish instances. So there is a lot of work involved to get reverse replication working, so again it comes down to what is your use case?
Regards,
Opkar
[0] https://docs.adobe.com/docs/en/aem/6-2/deploy/configuring/replication.html#Configuring Reverse Replication
Views
Replies
Total Likes
Check this community article:
Views
Replies
Total Likes
Views
Replies
Total Likes
Hi Tony,
I just fired up a vanilla AEM 6.1 instance (same build number as yours) and the Agent on publish "Reverse Replication (outbox)" is enabled by default. Can you create a new publish instance and check the "Agents on publish" to see if the reverse replication agent is enabled by default?
Regards,
Opkar
Hi Opkar,
I just wiped everything and re created the publisher instance again. Yes, the replication agent was enabled by default. Thank you very much for your support.
With reverse replication agent enabled and active. I am now stuck at any new page creation or comment on the publisher instance is not going to outbox and the reverse replication agent configured in the author instance always results in "Fetched 0 contents no matter what. Is there any other way to verify reverse replication
28.06.2016 10:12:30 - INFO - publish_reverse : Sending message to 10.0.25.138:4503 28.06.2016 10:12:30 - INFO - publish_reverse : >> GET /bin/receive?sling:authRequestLogin=1 HTTP/1.0 28.06.2016 10:12:30 - INFO - publish_reverse : >> Action: Internal Poll 28.06.2016 10:12:30 - INFO - publish_reverse : >> Path: 28.06.2016 10:12:30 - INFO - publish_reverse : >> Handle: 28.06.2016 10:12:30 - INFO - publish_reverse : -- 28.06.2016 10:12:30 - INFO - publish_reverse : << HTTP/1.1 200 OK 28.06.2016 10:12:30 - INFO - publish_reverse : << Date: Tue, 28 Jun 2016 10:12:45 GMT 28.06.2016 10:12:30 - INFO - publish_reverse : << X-Content-Type-Options: nosniff 28.06.2016 10:12:30 - INFO - publish_reverse : << Content-Type: application/octet-stream 28.06.2016 10:12:30 - INFO - publish_reverse : << Content-Length: 32 28.06.2016 10:12:30 - INFO - publish_reverse : << Server: Jetty(9.2.9.v20150224) 28.06.2016 10:12:30 - INFO - publish_reverse : << X-Powered-By: Jetty(9.2.9.v20150224) 28.06.2016 10:12:30 - INFO - publish_reverse : Message sent. 28.06.2016 10:12:30 - INFO - publish_reverse : ------------------------------------------------ 28.06.2016 10:12:30 - INFO - publish_reverse : Reverse replication successful. 28.06.2016 10:12:30 - INFO - publish_reverse : Fetched 0 contents from http://10.0.25.138:4503/bin/receive?sling:authRequestLogin=1 since null
Best,
John M
Views
Replies
Total Likes
Hi John,
it has been a long time since I looked at reverse replication, but the principles were to create a workflow launcher that would listen for changes in your tree, it would then replicate these changed which would go to the reverse replication queue. The changes would be sent to the author, where another set of launchers would replicate the content back out to the publish instances. You also had to set properties on the page in publish to make sure you did not get into an infinite loop. Apologies for the vague answer, hopefully someone else can help with concrete implementation details. I'm sure you already know, but reverse replication of comments is no longer supported.
Regards,
Opkar
Views
Replies
Total Likes
M-John wrote...
With reverse replication agent enabled and active. I am now stuck at any new page creation or comment on the publisher instance is not going to outbox and the reverse replication agent configured in the author instance always results in "Fetched 0 contents no matter what. Is there any other way to verify reverse replication
Is licensing AEM Communities an option?
There is a mechanism where pages (community groups) created on publish are actually created on author and then replicated to publish. User generated content (like comments) is created in a common store and never replicated. See What Happens When ...
- JK
Views
Replies
Total Likes
I do have simliar problem, reverse replication is fetching 0 items all the time.
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse sent. Response: 200 OK
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse ------------------------------------------------
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse Sending message to localhost:4503
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse >> GET /bin/receive?sling:authRequestLogin=1 HTTP/1.0
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse >> Action: Internal Poll
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse >> Path:
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse >> Handle:
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse --
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse << HTTP/1.1 200 OK
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse << Date: Thu, 30 Jun 2016 19:16:11 GMT
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse << X-Content-Type-Options: nosniff
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse << Content-Type: application/octet-stream
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse << Content-Length: 32
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse Message sent.
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse ------------------------------------------------
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse Reverse replication successful.
30.06.2016 15:16:11.639 *INFO* [sling-default-153-com.day.cq.replication.impl.ReverseReplicator.2673] com.day.cq.replication.Agent.publish_reverse Fetched 0 contents from http://localhost:4503/bin/receive?sling:authRequestLogin=1 since null
Views
Replies
Total Likes
As of AEM 6.1, no features are using reverse replication. If you need reverse replication, you have to build it yourself.
There is some information here : Configuring Reverse Replication.
While the reverse replication (passive) agent (the outbox) is enabled OOTB on the publish instance, it is not enabled OOTB on the author instance. A reverse replication (active) agent is needed in the author environment.
Definitely check out the article Scott posted :
(Note: the last 'here' link refers to an older version of Configuring Reverse Replication)
- JK
Views
Replies
Total Likes
Thank you for quick reply. actually reverse replication agent is enabled, please attached author and publish screen shots.
Views
Replies
Total Likes
Publish agents
Views
Replies
Total Likes
Hi,
Perhaps you need to edit/configure the author agent.
Attached are screenshots of the author agent for AEM 6.0 when Communities used reverse replication for user generated content (nothing entered on Proxy tab).
- JK
Views
Replies
Total Likes
JK, I seem to lost your attachment, also its not showing up on thread. Please repost for me.
Views
Replies
Total Likes
JK, Thats seems to be exact same configuration I have. is there any other thing that needs to be done in order the reverse replication to work?
Views
Replies
Total Likes
Obviously, I'm not an expert. It really depends on your deployment (authors, publishers, dispatcher (if any)).
Instead of embedding, I've actually attached the screenshot of the OOTB configuration from AEM 6.0 this time.
If you've exhausted the knowledge of the forum, you might contact Customer Care to open a support ticket.
If you do so, please provide as much information as you can about your deployment (versions and topology) and your use case.
Views
Replies
Total Likes
As per my understanding from AEM 6.1 the concept of reverse replication is deprecated and no longer in use. In place of it AEM team comes up with a new concept of community sync. Which act a separate repository from where all publish servers will sync there data. In this data wont be reverse replicated back to author from publish instead it will go to a cntral repository and from there all publish nodes will get sync. This is introduced to reduce author resource utilization and make it highly available.
Please correct me if any one feel i am wrong.
regards,
Ankur Ahlawat
Views
Replies
Total Likes
Hi,
as JK asked, what is the use case for using Reverse Replication? Previously it was used for synching of Users and User Generated Content.
We now do not support reverse replication of UGC, instead you should use xSRP( requires AEM Communities licence). For users and groups you should use Sling Content Distribution (SCD), which as a part of Sling requires no licence above your AEM licence.
So essentially the only use case left for reverse replication is for cq:page nodes. So if you do have a valid use case, from the documentation, reverse replication is a two step process:
As the publish environment is usually in the DMZ, to get content back to the author environment the connection must be initiated from the author instance. This is done with:
So you have to enable two agents. But the docs do not give complete details on the setup, as you also need to get content into the reverse replication outbox on the publish instance. You could do this by using a launcher that listens for events relating to pages and adds them to the agent, this would be the better approach as you would not want to use on modification as you could end up in a an infinite loop. You also need to handle pushing content out from the author instance back to the publish instances. So there is a lot of work involved to get reverse replication working, so again it comes down to what is your use case?
Regards,
Opkar
[0] https://docs.adobe.com/docs/en/aem/6-2/deploy/configuring/replication.html#Configuring Reverse Replication
Views
Replies
Total Likes
(edited to correct my misinformation)
Hi,
Opkar provided the best explanation.
This is how the reverse replicaiton appears in AEM 6.1 and 6.2 :
from author :
from publish :
If you're not using localhost:4502 for author and localhost:4503 for publish, then the configuration must be edited.
Reverse replication is used for AEM Communities when creating sub-communities (community groups) initiated by a privileged member on a publish instance.
These three features of AEM Communities do not use reverse replication :
1) tunnel service - eliminates the need to replicate users and user groups between author and publish instances. Enabling the tunnel service provides the ability to access users and user groups that exist on a publish instance from an author instance.
2) user sync - eliminates the need to replicate users and user groups among multiple publish instances (publish farm). This is an AEM platform feature being used by Communities based on Sling Content Distribution. While it is controlled by the author instance, these members and member groups are never created on author. (Note: publish-side users are often referred to as members.)
3) SRP - eliminates the need to reverse-replicate user generated content (UGC) entered on a publish instance. SRP manages a common UGC store
Details for developers are here : Storage Resource Provider for UGC.
- JK
Views
Replies
Total Likes