Thoughts on live chat 
Filed under

erlang

 

Ejabberd2 Upgrade

We upgraded our version of ejabberd to ejabberd 2.0.3 today from 1.6. The new upgrade should insure that bugs kicking around in ejabberd do not cause problems with Hab.la. There were also a few backend fixes wrapped in there, but we’ll talk about them in a few days after the next feature release.

UPDATE:

Some of you might have noticed some issues with Gtalk and Hab.la shortly after I posted this notice, I managed to fix these issues on monday, but apparently there are some problems with ejabberd 2.0.3 and openssl 0.9.8j. (See Bug report 877). Interestingly this is a bug that may be fixed in subversion, but is definitely still an issue for the source download from the ejabberd website.

Filed under  //   ejabberd2   erlang   error   gtalk   sasl   ttls   upgrade  

Comments [0]

A Fix :-)

Alright, a while ago kevin write an erlang wrapper for libmemcache. As anyone who has used libmemcache is probably aware of, libmemcache does not fail gracefully. In fact it fails in a way that takes everything down in one blow.

Of course, it also rarely fails, unless the CPU load is very high, or there is a problem with your memcacheD servers.

In any case if the memcache servers failed, or timed out the Jabber server was breaking. This is similar to our problems with cmemcache on the RPC server side, where on occasion under high loads libmemcache will timeout and fail hard, taking the entire RPC server with it.

To mitigate these problems for the time being I replaced the libmemcache wrappers with python interface, http://www.lysator.liu.se/~tab/erlang/py_interface/. Currently python interface is just being used to interface between erlang and the memcache servers, to assure that memcacheD and high loads won’t take the jabber server down.

In the long run I want to look into http://code.google.com/p/cacherl/ and at least benchmark it against memcacheD.

Filed under  //   erlang   interface   memcached   python  

Comments [0]