This will be the final post in the series about ATG Repository cache invalidation. As defined in part 1 of this series ATG has a serious problem with cache invalidation in large clusters. The solution I selected implemented a reliable multicast group, based on JGroups, for each cluster to use in the distribution of invalidation events.
This solution has been installed for about a month on our production web sites which consist of 15 clusters ranging in size from 20 to over 120 ATG instances. The JGroups implementation has performed admirably working seamlessly to distribute invalidation events. During this time we have had a couple of instances of “idle threads” however the problem was limited to a single instance and did not affect the remainder of the cluster as it had in the past.
We are viewing this implementation as a complete success.
Our solution to the idle thread cache invalidation problem has been submitted to ATG development. We are hoping they will see fit to include this as a supported option for repository cache invalidation.