Project

General

Profile

User's roster in tig_pairs are randomly deleted

S E
Added over 1 year ago

I noticed that some user's rosters are being deleted from the database. I looked at the log file, and I see this error:

2017-12-05 08:29:12.836 [pep Queue Worker 0] JabberIqPrivacy.allowed() WARNING: Database problem, please notify the admin. {0}

tigase.db.TigaseDBException: Error getting user data for: abc123@example.net/privacy/default-list

at tigase.db.jdbc.JDBCRepository.getData(JDBCRepository.java:273)

at tigase.db.UserRepositoryMDImpl.getData(UserRepositoryMDImpl.java:103)

at tigase.xmpp.RepositoryAccess.getData(RepositoryAccess.java:767)

at tigase.xmpp.impl.Privacy.getDefaultListName(Privacy.java:241)

at tigase.xmpp.impl.Privacy.getDefaultList(Privacy.java:215)

at tigase.xmpp.impl.JabberIqPrivacy.allowed(JabberIqPrivacy.java:261)

at tigase.xmpp.impl.JabberIqPrivacy.filter(JabberIqPrivacy.java:139)

at tigase.server.xmppsession.SessionManager.addOutPackets(SessionManager.java:978)

at tigase.server.xmppsession.SessionManager$ProcessorWorkerThread.process(SessionManager.java:2439)

at tigase.util.WorkerThread.run(WorkerThread.java:128)

Caused by: java.sql.SQLException: Invalid state, the ResultSet object is closed.

at net.sourceforge.jtds.jdbc.JtdsResultSet.checkOpen(JtdsResultSet.java:287)

at net.sourceforge.jtds.jdbc.JtdsResultSet.next(JtdsResultSet.java:571)

at net.sourceforge.jtds.jdbc.JtdsResultSet.close(JtdsResultSet.java:488)

at net.sourceforge.jtds.jdbc.JtdsStatement.closeCurrentResultSet(JtdsStatement.java:320)

at net.sourceforge.jtds.jdbc.JtdsStatement.closeAllResultSets(JtdsStatement.java:342)

at net.sourceforge.jtds.jdbc.JtdsStatement.reset(JtdsStatement.java:729)

at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:970)

at tigase.db.jdbc.JDBCRepository.getUserUID(JDBCRepository.java:466)

at tigase.db.jdbc.JDBCRepository.getUserUID(JDBCRepository.java:1178)

at tigase.db.jdbc.JDBCRepository.getNodeNID(JDBCRepository.java:1162)

at tigase.db.jdbc.JDBCRepository.getData(JDBCRepository.java:239)

at tigase.db.UserRepositoryMDImpl.getData(UserRepositoryMDImpl.java:103)

at tigase.xmpp.RepositoryAccess.getData(RepositoryAccess.java:767)

at tigase.xmpp.impl.Privacy.getDefaultListName(Privacy.java:241)

at tigase.xmpp.impl.Privacy.getDefaultList(Privacy.java:215)

at tigase.xmpp.impl.JabberIqPrivacy.allowed(JabberIqPrivacy.java:261)

at tigase.xmpp.impl.JabberIqPrivacy.filter(JabberIqPrivacy.java:139)

at tigase.server.xmppsession.SessionManager.addOutPackets(SessionManager.java:978)

at tigase.server.xmppsession.SessionManager$ProcessorWorkerThread.process(SessionManager.java:2439)

at tigase.util.WorkerThread.run(WorkerThread.java:128)

I made no changes to the server recently, and previously it was working without issue.


Replies (1)

Added by Wojciech Kapcia TigaseTeam over 1 year ago

I noticed that some user's rosters are being deleted from the database. I looked at the log file, and I see this error:

2017-12-05 08:29:12.836 [pep Queue Worker 0] JabberIqPrivacy.allowed() WARNING: Database problem, please notify the admin. {0}

tigase.db.TigaseDBException: Error getting user data for: abc123@example.net/privacy/default-list

at tigase.db.jdbc.JDBCRepository.getData(JDBCRepository.java:273)

at tigase.db.UserRepositoryMDImpl.getData(UserRepositoryMDImpl.java:103)

[...]

I made no changes to the server recently, and previously it was working without issue.

Tigase in itself doesn't remove automatically any data, especially UserData.

However in this case problem is different:

  • it's about user's Privacy List (not exactly related to the roster);

  • the exception points to the state of the ResultSet object and with

that information comes some questions:

  • Which Tigase XMPP Server do you use?

  • Have you tried using official Microsoft driver instead of default Jtds?

  • Have you experienced some problem with the database access? (attached

stacktrace would suggest it)

    (1-1/1)