Closed abmargb closed 10 years ago
Yes it seems that prosody (in our case), presumably tigase in yours doesn't immediately realise the connection is gone. When I restart generally I wait a few seconds before restarting. We need to add a retry to smack (or load balance the components to get around the issue).
I ended up putting a small sleep into the original init file. Smack backing off would be the ideal solution to this.
@Flowdalic: what's the best way to handle this reconnect in Smack? still tweaking: https://github.com/xose/whack/blob/master/src/main/java/org/jivesoftware/whack/ExternalComponent.java#L463 ?
Since it's a resource conflict you are seeing here, how about simply changing the server's policy on resource conflicts to "drop old". Most XMPP servers provide such a setting.
Historically, Smack's ReconnectionManager, if enabled, aborts if there is a StreamError which reason is "conflict". I can comment on why this is the case. It was added with https://github.com/igniterealtime/Smack/commit/4e0397e80ab9741dc565f49011ff0eb19de89f58
Wait a moment: I'm not sure if I miss something, but I don't see where Smack is involved in the stacktrace. It appears you are using whack. Whack and Tinder are two abandoned projects. I would not recommend using them. (I always planned to add support for components to jxmpp or to start a new jxmpp/Smack based XMPP components library, but this is not a high priority for me right now).
Sorry to drag you into this - I'd just assumed that the channel server was using smack. Oops.
(trying to not be embarrassed)
It seems the buddycloud server was restarted by upstart and it couldn't come up.