Reverse replication issue -- Unable to enable the outbox agent | Community
Skip to main content
M-John
June 27, 2016
Solved

Reverse replication issue -- Unable to enable the outbox agent

  • June 27, 2016
  • 17 replies
  • 8448 views

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

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by ogill

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:

  • an outbox in the publish environment where the content is placed.
  • an agent (publish) in the author environment which periodically polls the outbox for new content.

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

17 replies

smacdonald2008
Level 10
June 27, 2016
M-John
M-JohnAuthor
June 28, 2016
Hi, Thank you for the tutorial link, the tutorial mentions all publish instances come with the outbox agent enabled. In our case the agent is in disable state and when we try to enable the agent via settings it results in "no such agent: outbox". Also, as stated in the tutorial how can I achieve the following: All publish instance comes with Outbox enabled, If there is any issue with Outbox you can activate publish outbox from author to publish.  Thanks
Adobe Employee
June 28, 2016

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

M-John
M-JohnAuthor
June 28, 2016

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

Adobe Employee
June 30, 2016

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

JK_Kendall
Level 9
June 30, 2016

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

bswx
Level 2
June 30, 2016

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
 

JK_Kendall
Level 9
June 30, 2016

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 :

http://www.cqtutorial.com/courses/cq-admin/cq-admin-lessons/configure-cq-replication/cq-reverse-replication

(Note: the last 'here' link refers to an older version of Configuring Reverse Replication)

- JK

bswx
Level 2
June 30, 2016

Thank you for quick reply. actually reverse replication agent is enabled, please attached author and publish screen shots.

bswx
Level 2
June 30, 2016

Publish agents