We're having an issue with invalidating that cache apon activation/replication of content, but only from the Publish flush agent. I've copied the default flush agent on the Publish instance, updated the URI to point to my dispatcher, and enabled the agent. Clicking Test Connection shows a successful connection to the dispatcher. Also, I can see that the .stat file has been created at the web root on the dispatcher (I'm not specifying a specific statsfile or a statsfile level in the dispatcher.any). When I change a setting in the publisher flush agent and save it, or stop and start it, the .stat file is updated. So I know the Publisher is able to correctly reach the dispatcher and pass along the invalidate message to update the .stat file.
When I replicate a node from Author the Publisher, I see the following in the Publisher error.log:
22.05.2013 04:23:23.241 *INFO* [ObservationManager] com.day.cq.wcm.core.impl.components.ComponentCacheImpl Detecting component change. invalidating cache.
22.05.2013 04:23:23.245 *INFO* [10.20.30.40  POST /bin/receive HTTP/1.1] com.day.cq.replication.impl.content.durbo.DurboImporter imported content in 79ms for durbo request on path: /apps/my-project/components/page/base/footer.jsp
22.05.2013 04:23:23.245 *INFO* [10.20.30.40  POST /bin/receive HTTP/1.1] com.day.cq.replication.impl.servlets.ReplicationServlet Processed replication action in 79ms: ACTIVATE of /apps/my-project/components/page/base/footer.jsp
However when I check the dispatcher, I see that the .stat file has not had its timestamp updated. I've also noticed that when I change the node and replicate it, the 'Detecting component change. invalidating cache.' log line above does not always appear in the log file - it appears only sometimes with the other 2 long lines. This part seems random.
In my testing, I've also created a Dispatcher Flush agent on the Author instance (after disabling the one on the Publish instance), and 100% of the time when I replicate the /apps/my-project/components/page/base/footer.jsp to the Publisher, the Author flush agent correctly updates the .stat file timestamp. So I'm 100% confident that the file I'm editing is able to be cached, and that changing and replicating it does update the .stat file.
Just never from the Publish flush agent!
I've tried all combinations of trigger settings on the Publish agent to no avail. I've also inspected the properties of the agent in CRXDE Lite, and I can't see anything that the Author agent has and the publish agent is missing!
I've also tried creating the Publish agent by copying the default one from the tools console and updating the URI, creating a Publish agent on the Author and replicating it to the Publisher, and also creating it directly on the Publisher via curl calls - all of these methods seem to create a valid dispatcher flush agent on the Publisher that successfully connects to the dispatcher (confirmed by a successful 'Test Connection' click after creating), but none of them ever update the .stat file on the dispatcher after content replication.
Any thoughts here on where else to look would be greatly appreciated!!