Openfire 3.7.0 user/group tab causes crash

We used to have Openfire 3.6.4 installed. About a month ago we upgraded to 3.7.0. Our current configuration is that we have an external mysql database with a users table for authentication. This table has about half a million entries. We also have the out-of-the-box external mysql database setup for all the rest of the normal Openfire operations. Our system is configured to run with 512M of memory.

The issue we are seeing now is that when we try to click on the Users/Groups tab in the admin panel, this causes Openfire to hang. The page will continuously load for several minutes. Monitoring the system in another window shows that the JVM memory usage ranges between 200 and 300M. After a few minutes, the Openfire server has hung and has to be restarted. Naturally, the page never loads.

Here are the system properties I think might be related:

jdbcUserProvider.allUsersSQL => SELECT username FROM users

jdbcUserProvider.loadUserSQL => SELECT last_name,first_name as name FROM users

jdbcUserProvider.searchSQL => select username from users where

jdbcUserProvider.userCountSQL => select count(*) from users

Our first thought was there was a memory issue since we’ve seen some other memory leak problems on 3.7.0. But as far as I can tell, the system isn’t running out of memory. There were no entries in the Openfire logs at the time of the crash so nothing to go on there.

Has anyone else had a similar experience? Does anyone have any advice or ideas about what might be going wrong?

I’m not good at this, but maybe you need to create a dump or stack trace of the Openfire thread when it hangs - http://community.igniterealtime.org/docs/DOC-1033 then post it here and maybe someone with knowledge will be able to understand what’s happening. Also you can try enabling debug mode in Openfire, to get debug log. Maybe there will be something in this log.

Thanks for the advice.

We ended up figuring out what was wrong. Inside JDBCUserProvider.java, Openfire sets the user query limit to 500 if no limit is set. We changed this to 25 users and now Openfire doesn’t crash anymore when we load that page. Looks like an issue with querying too many users at once. We’ll have to play with this number and our resource configuration to find a setting that fits us.