The Admin Console allows caches to be emptied. This should not be allowed for all caches.
Openfire uses caches for two distinct purposes:
To improve performance, where it's expensive to obtain certain data
To share information in the cluster
It is possible that information that cannot be re-retrieved is stored in a cache (with the intend to share it in the cluster). Purging such a cache would irrecoverably delete information, almost certainly introducing problems. The internals of the routing table are based on such caches.
Openfire should not allow that caches are purged, when those caches store information that cannot be retrieved again.