Fail cases recovery
Hello. We had a quick database disconnect and after that MUC component doesn't work properly:
2015-04-23 13:39:57.593 [in_0-message-router] MessageRouter.processPacket() FINEST: Processing packet: firstname.lastname@example.org, email@example.com, DATA=Service not available., SIZE=391, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=error
Could you, please, suggest:
What is a standard recovery way for situations like this?
Can we automatically restart Tigase server in general fail cases?
Is it possible to reload separate components (MUC for example) without restarting Tigase server?
Added by Artur Hefczyc about 4 years ago
Tigase has a logic for automated reconnecting to the DB if it discovers that a connection was broken. We tested it many times and it seems to be working OK. There is no need for any manual actions or restarting either the whole Tigase server or a component.
However, it appears that it did not work in your case for some reason. We would need to run an investigation on the problem to find out why Tigase recovery mechanisms did not work. If you have Tigase logs from that time, maybe there is some information which would allow us to pinpoint why it did not recover from DB connection failure automatically. If you have some details on the case, please submit a bug report with all information that you have:
Tigase server version
Database you use
Database driver that you use
Any additional information you may have.
Added by Julia Zashchitina about 4 years ago
Thanks for your reply. Unfortunately, we do not have Tigase logs for that period any more. As for another information that you requested:
1) Tigase server version: 7.0.0
2) Database: Amazon RDS with MySQL 5.6
3) Database driver: MySQL Connector Java version 5.1.35
4) OS: Ubuntu 12.04 LTS
5) Tigase configuration:
--comp-class-1 = tigase.muc.MUCComponent --virt-hosts = domain.com,ip-xxx-xx-xx-xxx.us-west-2.compute.internal --user-db-uri = jdbc:mysql://host/tigasedb?user=user&password=password --user-db = mysql --admins = firstname.lastname@example.org --comp-name-4 = message-archive --comp-name-3 = proxy config-type = --gen-config-all --comp-name-2 = pubsub --comp-name-1 = muc --cluster-mode = true --sm-plugins = +message,-amp,+msgofflinepush,-msgoffline --debug = server --comp-class-4 = tigase.archive.MessageArchiveComponent --comp-class-3 = tigase.socks5.Socks5ProxyComponent --comp-class-2 = tigase.pubsub.PubSubComponent email@example.com muc/message-filter-enabled[B]=false --comp-name-5=http --comp-class-5=tigase.http.HttpMessageReceiver --vhost-register-enabled=false --api-keys=open_access
If you have any opened issue for this case, please, post a link.