Hey there, I am running into a couple of weird issues with 3.2.0 RC2, and was hoping someone could help out.
First of all, it appears that the conflict policy is not quite working correctly. If I have an account logged in as BenV@localhost/xiff, and then log in from another location, the first session gets disconnected correctly, but the second connection can not properly join a group chat room. What I see when I look at the admin console is weird when this occurs: It shows that the BenV account is offline, but if I join the group chat room with another client (and another username) it shows BenV still online in the chat room! I have xmpp.conflict.limit set to 0, and it does appear to be properly destroying the first user’'s session, but the user is not being removed from group chat for some reason.
The other problem is that I am seeing quite a few entries like this in the error logs, I wonder if they are not somehow related:
2007.02.02 09:40:57 org.jivesoftware.wildfire.spi.PresenceManagerImpl.userUnavailable(PresenceManage rImpl.java:264) Error storing offline presence of user: douglas
java.sql.SQLException: Duplicate entry ‘‘douglas’’ for key 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.ja va:1125)
at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement. java:677)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:794)
at org.jivesoftware.wildfire.spi.PresenceManagerImpl.userUnavailable(PresenceManag erImpl.java:261)
at org.jivesoftware.wildfire.handler.PresenceUpdateHandler.process(PresenceUpdateH andler.java:121)
at org.jivesoftware.wildfire.SessionManager$ClientSessionListener.onConnectionClos e(SessionManager.java:1492)
at org.jivesoftware.wildfire.nio.NIOConnection.notifyCloseListeners(NIOConnection. java:174)
at org.jivesoftware.wildfire.nio.NIOConnection.close(NIOConnection.java:140)
at org.jivesoftware.wildfire.nio.ConnectionHandler.sessionClosed(ConnectionHandler .java:84)
at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.sessionClosed(A bstractIoFilterChain.java:677)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(Abst ractIoFilterChain.java:321)
at org.apache.mina.common.support.AbstractIoFilterChain.access$800(AbstractIoFilte rChain.java:54)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed( AbstractIoFilterChain.java:781)
at org.apache.mina.filter.codec.ProtocolCodecFilter.sessionClosed(ProtocolCodecFil ter.java:285)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(Abst ractIoFilterChain.java:321)
at org.apache.mina.common.support.AbstractIoFilterChain.access$800(AbstractIoFilte rChain.java:54)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed( AbstractIoFilterChain.java:781)
at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :267)
at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:305)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)