JabberHTTPBind 1.1.1
A quick one: Just uploaded JabberHTTPBind 1.1.1. It contains a little fix for a problem with connections using DNS SRV records (like connecting to gmail.com).
A quick one: Just uploaded JabberHTTPBind 1.1.1. It contains a little fix for a problem with connections using DNS SRV records (like connecting to gmail.com).
Hi Steve,
This was the last correspondence we had about a bug in JabberHttpBind, in March 2008.
******************************************************************
#
Steve Kommentar by Steve | 2008/04/23 at 10:44:23
Madhuri, you’re totally right, this is a bug. Access to session objects needs to be synchronized at this point. Guess I’ll have to rework this… (explains some strange behavior I’ve been noticing)
*******************************************************************
Any update on session object synchronization? I would appreciate if you could let me know status of this one.
Thanks,
Madhuri
Madhuri, I’m very sorry, I still haven’t fixed this issue. Unfortunately I’m still very busy with other things (”all work and no play …”). I’ll do my best to fix this ASAP.
Cheers, -Steve
Hi Steve,
Any update? Have you had a chance to fix this?
Thanks,
Madhuri
Hi Steve,
I understand you are very busy, so, I have modified the code to fix this bug. I have modified JabberHttpBind code to make Session objects synchronized. I will send the modified code to your email address. I will be testing it now. If you get a chance please review it and let me know if you want me to check it in svn repository and how should I check it in. One thing I was wondering about was whether we need to make sendNodes(nodeList n1) method is Session.java synchronized.
Thanks,
Madhuri
Hi Madhuri,
Is it possible for you to share the JabberHttpBind code ….
regds,
Mandar
Hi Steve,
I found one more problem with JabberHTTPBind. Under load it is getting blocked. This is what I see in catalina log.
***********************
Jun 25, 2009 9:26:26 PM org.jabber.JabberHTTPBind.JHBServlet dbg
INFO: key valid for 419241
Jun 25, 2009 9:26:29 PM org.jabber.JabberHTTPBind.JHBServlet dbg
INFO: inQueue: <presence xmlns=”jabber:client” …..
****************************
Notice that after 9:26:26 output appears only at 9:26:29. In mod_jk log I see that during that period 404 error is returned for this servlet.
The logical place where it is blocked after “key valid for 419241″ statement is Session.readFromSocket(). There is a while loop in there with Thread.sleep(READ_TIMEOUT). READ_TIMEOUT is defined as 1 ms. The question is while it is waiting to read from socket for one request why doesn’t it switch to another request during this 1 ms time. Is 1 ms enough for thread switch? Am I missing something? Why is mod_jk returning 404 for this during that time period. I would appreaciate if you can get back.
Mandar: I will send my code to you once these issues are ironed out.
Thanks,
Madhuri
Speaking of concurrency and clocking threads, is there a special reason why not to use ConcurrentHashMap instead of Hashtable for storing the sessions?
Maty, besides I don’t know ConcurrentHashMap I’m pretty sure there isn’t ![]()