Privacy lists on first run

Issue :

When the server is started with an empty “ofPrivacyList” table, the behaviour concerning PrivacyLists is not robust.

Workaround:

Use any account to create one PrivacyList, then restart the server.

Probable causes:

There are 2 instances of PrivacyListProvider (one in PrivacyListManager and the other in IQPrivacyHandler)

Both instances have separate privacyListCount variables, which are filled during PrivacyListProvider constructor (== server startup).

Thus, if at server startup the privacyListCount is 0, and one of the instances adds a PrivacyList, the other will never be informed and discard all changes and reads. This leads to inconsistent behaviour.

Fix :

Make privacyListCount static.

Pull request here : https://github.com/igniterealtime/Openfire/pull/656

I’ve created https://issues.igniterealtime.org/browse/OF-1206 to track this issue.