EntityCapabilityManager should not use a clustered cache


The cache called "Entity Capabilities Pending Hashes" is a clustered cache. I think we can safely state that every Openfire node will serve the locally connected clients only. This means that we can replace the clustered cache with a local (non-clustered) cache or map. This would save us from a lot of cluster overhead!




Tom Evans
April 26, 2014, 6:50 PM

This is a small change, will apply for 3.9.2.

Note that the cache names have changed, so this will affect the following named caches:

Entity Capabilities
Entity Capabilities Users

These two caches will now be provisioned using a local (non-clustered) cache factory.

Daryl Herzmann
April 26, 2014, 6:17 PM

Hi Tom, Could you kindly provide some feedback on this issue? Perhaps it can be closed. Thank you

Daryl Herzmann
March 3, 2013, 11:37 AM


Is this ticket still relevant with the recent clustering changes that went into 3.8.0 ?


Guus der Kinderen
January 12, 2010, 1:13 AM

In a clustered setup, Openfire uses caches that can be configured to share its content over all cluster nodes.

"Entity Capabilities Pending Hashes" can very quickly be recalculated. The overhead that sharing the content of those caches between cluster nodes brings can easily be prevented (the overhead is considerable). There's no need to share the content at all, as every cluster node can quickly and easily calculate the same hash locally.

Daryl Herzmann
January 12, 2010, 12:36 AM

Hi Guus,

Could you comment on this issue again?




Tom Evans


Guus der Kinderen