Type |
New Feature
|
Priority |
Major
|
Assignee | |
RedmineID |
1436
|
Version |
tigase-server-7.1.0
|
Spent time |
39h
|
Issue Votes (0)
Watchers (0)
Type |
New Feature
|
Priority |
Major
|
Assignee | |
RedmineID |
1436
|
Version |
tigase-server-7.1.0
|
Spent time |
39h
|
Tigase opens a few connections between each pair of the cluster nodes. At the moment there is no way to detect that one of the connections is broken, except the simple whitespace test performed by the ConnectionManager Watchdog.
It seems this is not enough. It happened once that a connection was working only one way and did not work the other way. Data were lost somewhere in IOService area.
It looks like we need a more comprehensive connections testing on a higher level than IOService (ClusterConnectionManager). Each connection should be tested in each direction.
We need to implement some kind of XMPP ping between ClusterConnectionManager but we have to make sure the ping is sent on a specific connection. A response to the ping can actually arrive on any other connection assuming that both sides would periodically run the test from their side.