Comment #5 on issue 2799 by [email protected]: REGISTER sip sessions are
not replicated in cluster cache
http://code.google.com/p/mobicents/issues/detail?id=2799
Tested today (applying patch over mss-1.6.0.FINAL-1108190332 snapshot):
- REGISTER sessions are not marked dirty in subsequent transactions, so
session info in cache is not updated (when cluster change happens, the new
node gets the session data that was stored in the first transaction -> CSeq
= 2 in the new node, registration fails).
- To force the sipSession dirty, I have added
ss.setInvalidateWhenReady(ss.getInvalidateWhenReady());
- After forcing that, session data is replicated every time a new REGISTER
is sent. When there is a cluster change happens, the new node sends the
REGISTER ok, with the proper CSeq value, but processing the OK response
triggers an unending recursive call at
org.mobicents.servlet.sip.core.session.SipSessionImpl.setSessionCreatingTransactionRequest(SipSessionImpl.java:1298)
Attached MSS log attached for the node taking over the cluster, with
org.jboss.web.tomcat.service.session logging set to DEBUG
I can provide also the test program.
I will re-test when a snapshot including this is ready (to make sure
problem is not caused by the way I have applied the patch).
Attachments:
server.log.cornelio2 206 KB