Neither messageCarbonsEnabled nor hasRequestedBlocklist in ClientSession is clustered.
a) org.jivesoftware.openfire.session.ClientSessionInfo is how the clusted nodes share info about remote sessions. That needs to be extended to include the messageCarbonsEnabled and hasRequestedBlocklist flags for a session.
b) org.jivesoftware.openfire.plugin.session.RemoteClientSession in the hazelcast plugin needs to be updated so that it returns the new flags in ClientSessionInfo, instead of a local variable that is never set.
c) Consider if a better mechanism could/should be used for sharing this information. Suggestion;
i) The Hazelcast plugin is purely used for transferring data between cluster nodes, via ClusterTasks, Cache's, etc.
ii) Core Openfire contains the business logic for what needs to be shared and when.