I am trying to demonstrate basic reverse replication on AEM 6.5.10. Created a new reverse replication agent in author which works fine.
Created a servlet to modify page content which changes some values as well as adds the cq:distribute property with value true. Whenever I run the servlet and the page content get the distribute property, reverse replication works. After this If I hit the servlet again then some props change but reverse replication does not work.
When I checked the logs I found that the polling is working fine and it fetched 0 files which means there is nothing in the outbox.
Now here is the weird part -> If I delete the cq:distribute property from crx/de and run the servlet then reverse replication works. In short: Reverse replication works only when I add the cq:distribute property to the node. If the property already exists and I change some other property then the reverse replication does not work.
I got the answer. Basically we have to add fresh cq:distribute property everytime i need to do reverse replication and remove it afterwards through code.