Project

General

Profile

Issue with Tigase 7.0.0 - Session has not been yet authorised. - on user log out

E A
Added about 4 years ago

Hello,

Will appreciate any assistance provided.

I've set up my Tigase server (7.0.0) according to instructions.

Everything is working properly, except one error message in the logs when a user logs out.

User log-in provides no error.

Here is the error:

2015-02-26 13:07:34.441 [pep Queue Worker 0]  SessionManager$ProcessorWorkerThread.process()  WARNING: Exception during packet processing: from=sess-man@xmpp-tigase1.localdomain, to=sess-man@xmpp-tigase1.localdomain, DATA=<presence from="user@mydomain.com/Messages" to="user@mydomain.com" xmlns="jabber:client"><priority>0</priority>
<c ext="mvideo maudio avcap rdserver ice avavail rdclient rdmuxing video audio" node="http://www.apple.com/ichat/caps" ver="1000" xmlns="http://jabber.org/protocol/caps"/><x xmlns="http://jabber.org/protocol/tune"/><x xmlns="vcard-temp:x:update"/></presence>, SIZE=422, XMLNS=jabber:client, PRIORITY=PRESENCE, PERMISSION=AUTH, TYPE=null
tigase.xmpp.NotAuthorizedException: Session has not been yet authorised.
    at tigase.xmpp.XMPPResourceConnection.isUserId(XMPPResourceConnection.java:833)
    at tigase.pubsub.PepPlugin.processPresence(PepPlugin.java:220)
    at tigase.pubsub.PepPlugin.process(PepPlugin.java:113)
    at tigase.server.xmppsession.SessionManager$ProcessorWorkerThread.process(SessionManager.java:2434)
    at tigase.util.WorkerThread.run(WorkerThread.java:128)
tigase.xmpp.NotAuthorizedException: Can not access user repository.
    at tigase.xmpp.RepositoryAccess.setData(RepositoryAccess.java:1110)
    at tigase.xmpp.impl.roster.RosterFlat.saveUserRoster(RosterFlat.java:441)
    at tigase.xmpp.impl.roster.RosterFlat.logout(RosterFlat.java:517)
    at tigase.xmpp.impl.Presence.stopped(Presence.java:843)
    at tigase.server.xmppsession.SessionManager.closeSession(SessionManager.java:1076)
    at tigase.server.xmppsession.SessionManager.closeConnection(SessionManager.java:1006)
    at tigase.server.xmppsession.SessionManager$SessionCloseProc.process(SessionManager.java:2483)
    at tigase.server.xmppsession.SessionManager$ProcessorWorkerThread.process(SessionManager.java:2434)
    at tigase.util.WorkerThread.run(WorkerThread.java:128)
Caused by: tigase.db.UserNotFoundException: User does not exist: user@mydomain.com
    at tigase.db.jdbc.JDBCRepository.getUserUID(JDBCRepository.java:1186)
    at tigase.db.jdbc.JDBCRepository.setData(JDBCRepository.java:773)
    at tigase.db.UserRepositoryMDImpl.setData(UserRepositoryMDImpl.java:381)
    at tigase.xmpp.RepositoryAccess.setData(RepositoryAccess.java:1106)
    ... 8 more
2015-02-26 13:09:28.201 [pep Queue Worker 0]  SessionManager$ProcessorWorkerThread.process()  WARNING: Exception during packet processing: from=sess-man@xmpp-tigase1.localdomain, to=sess-man@xmpp-tigase1.localdomain, DATA=<presence from="user@mydomain.com/Messages" to="user@mydomain.com" xmlns="jabber:client"><priority>0</priority>
<c ext="mvideo maudio avcap rdserver ice avavail rdclient rdmuxing video audio" node="http://www.apple.com/ichat/caps" ver="1000" xmlns="http://jabber.org/protocol/caps"/><x xmlns="http://jabber.org/protocol/tune"/><x xmlns="vcard-temp:x:update"/></presence>, SIZE=422, XMLNS=jabber:client, PRIORITY=PRESENCE, PERMISSION=AUTH, TYPE=null
tigase.xmpp.NotAuthorizedException: Session has not been yet authorised.
    at tigase.xmpp.XMPPResourceConnection.isUserId(XMPPResourceConnection.java:833)
    at tigase.pubsub.PepPlugin.processPresence(PepPlugin.java:220)
    at tigase.pubsub.PepPlugin.process(PepPlugin.java:113)
    at tigase.server.xmppsession.SessionManager$ProcessorWorkerThread.process(SessionManager.java:2434)
    at tigase.util.WorkerThread.run(WorkerThread.java:128)

Replies (5)

Added by E A about 4 years ago

Please ignore this post, I was able to fix the issue by adding &autoCreate=true to user repo.

no more error.

Could you guys point me to a guide to help me set-up clustering on tigase?

im on a single server at the moment, and would be scaling up pretty soon.

Thanks!

Added by Wojciech Kapcia TigaseTeam about 4 years ago

There is not explicit guide on how to set-up clustering as it's quite straightforward and comes down to enabling single option in etc/init.properties (v. --cluster-mode:)

--cluster-mode = true

Tigase will use node auto-discovery to discover cluster nodes (this is based on shared DB to store information about the cluster nodes) and connect to them. If you require further fine-tuning you can specify nodes configuration explicitly - --cluster-nodes

Added by E A about 4 years ago

Thanks for the comment,

Can you advise in more detail how does auto-discovery works?

Do I need to segment/separate our Tigase Staging & Production to separate vlans?

Lets say we have two separate environments - will one env. discover the second when clustering is enabled?

As you mention it relies on DB - im just wondering if its network discovery or not and how does it work.

Thanks again.

Added by Wojciech Kapcia TigaseTeam about 4 years ago

Clustered are discovered on the same-database basis. In the database there is a cluster_nodes table to which each node reports itself and other nodes retrieve this information and then make and attempt to connect to the provided details. Therefore if you use same database with both environments they will discover each other. However it's way more prudent to have separate databases/tables for each environment, even if not for the clustering sake.

Added by E A about 4 years ago

Thanks for the great support - much appreciated

    (1-5/5)