Nov 12, 2007 5:22 AM
Deadlock in RosterItemProvider
-
Like (0)
Hi all,
I have an openfire plugin which launch cuncurrent threads to managed user roster.
A problem raised during the test, a deadlock in the SequenceManager.next() method.
The problem was fixed exchanging the order of
SequenceManager.nextID(JiveConstants.ROSTER);
and
DbConnectionManager.getConnection();
in this way:
long rosterID = SequenceManager.nextID(JiveConstants.ROSTER);
con = DbConnectionManager.getConnection();
The nextID method call the DbConnectionManager.getConnection() as well, then when there is no longer available db connection the thread block all db accesses.
Giancarlo Frison
Fixed =) (in trunk at least)