Still working on this article, please come back later....
Your connection to the database is broken. Something has caused the connection to sever. You can verify this many different ways: try connecting to the db from the Tigase Server machine with mysql client $mysql -h hostname.com -u username -p. On the db host $lsof -i -P |grep -i established.
Yes, I know it's possible by having a JDBC URI in the init.properties.
But as I mentioned, it works at the beginning (that means remote connection is fine), but after sometime, it breaks, by showing all the exception in the tigase-console.log.
Of course it's possible - it's only a matter of providing correct JDBC URI. Please note, that you should be able to establish connection to other machine even from command line (i.e. please enable remote connections from MySQL server).
hi,Could you please tell where can i looking for a pc client demo,code it with java
Appreciate for any help！！
Thanks for prompt reply.
What I meant was, splitting server and database by having 2 components in different servers, relying on network connection for tigase node to connect to MySQL database.--------- --------- | Server | network | Server | | Tigase | ------->| MySQL | | A | 3306 | B | | | | | --------- ---------
Sorry if my drawing screws up, but I would like to find out the possibility of having tigase in server A and mysql that serves tigase in server B, because such infrastructure is breaking tigase and causing data corruption.
What do you mean by 'split database'?! You should use the same database instance for all Tigase nodes (cluster wise). If you want to have database failover then you need to configure MySQL replication correctly.
Thanks for your reply.
Noted about the corrupted data, but my concern here is, this only happens when I split MySQL database and Tigase into 2 different servers (be more precise, 2 different aws instances), when I put 2 components in one server, this is not happening anymore.
So my question here is, any specific requirement to split server and database? Because I can always replicate this data corruption by putting server and database apart.
It looks like you have problem with you database as it either removes the data or corrupt it. After the deployment and creation of the schema there is information about schema version. This information is not overriten at any point. Please check if something else is not removing any data or schema information from the database. There is no such mechanism within Tigase itself.
Our external service needs to get from Tigase server a list of rooms that user is currently connected to by user JID.
Here is the server version: 5.2.1-b3461
I have deployed server and database into 2 different servers (linux-based, software is the same but different IP addresses).
It was working fine initially, but after sometime, the database connection will be broken, with the following logs:
2015-03-29 19:31:02.848 [Thread-3077] ThreadExceptionHandler.uncaughtException() SEVERE: Uncaught thread: "Thread-3077" exception
java.lang.IllegalAccessError: tried to access method tigase.server.AbstractMessageReceiver.addOutPacketWithTimeout(Ltigase/server/Packet;Ltigase/server/ReceiverTimeoutHandler;JLjava/util/concurrent/TimeUnit;)Z from class tigase.muc.Ghostbuster2
2015-03-29 20:14:06.354 [jabber:iq:register Queue Worker 0] RepositoryAccess.register() SEVERE: Repository access exception.
tigase.db.TigaseDBException: Problem accessing repository.
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.GeneratedConstructorAccessor61.newInstance(Unknown Source)
at sun.reflect.GeneratedConstructorAccessor59.newInstance(Unknown Source)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure ======================================================================
I saw such message in console log when I wanted to restart:
Please upgrade database schema now.
Current scheme version is: null, expected: 5.1
Check the schema upgrade guide at the address:
If you have upgraded your schema and you are still
experiencing this problem please contact support at
e-mail address: email@example.com
and it cannot be started anymore, I will need to reset the tigase database (basically drop the database and setup again) in order to make it work, but database issue happened with all the error message above again.
May I know what's the issue?
I fixed issue with AMP working with Message Carbons and explained it in comment for #2877.
As for issue with storing message sent to offline user to offline storage this is issue with database schema upgrade - msg_type field is missing in offline storage table. There was an issue with database schema upgrade in older versions but it was fixed in newer version and should work fine.
What you mean by getting a list of MUC rooms? Where? On the client side or on the server side? Or maybe from some external service?
Please provide more details about your use-case and requirements.
Hm, somehow this topic has been ignored. Apparently we did not get any notification about this post. I am sorry for not responding.
Aditya: Did you resolve the problem?
Could you please tell if there is a way in Tigase to programmatically get a list of MUC rooms user has joined?
Hi Aditya Malladi,
Did you resolved that error?
Which client your are using?
just install on linux debian avatar able to publish... but the issues still happen on FreeBSD.
i will try to tcpdump on Server side for this....
btw for the avatar tigase save it on folder or thereis another method....
Did you try to get help from the chat client vendor? Do you know which protocol does the client uses for avatar publishing? Do you have communication dump between the client and the server?
from chat client called Conversations. click the ICON then select the image.
How do you try to publish it?
We provide software products, consulting and custom development servicesTigase, Inc.
Follow us on: