Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diameter response lost as activity starts in non suspended mode #100

Open
GoogleCodeExporter opened this issue Jul 27, 2015 · 0 comments
Open

Comments

@GoogleCodeExporter
Copy link

Issue: Creating Diameter activity starts them in non suspended mode. 
Problem: This can cause a loss of first Diameter response if the response comes 
earlier than the SBB entity attachment to Diameter ACI transaction commits.

Reproduce scenario (all must be done in a single event e.g. onServiceStarted):
1. Create Diameter activity by calling: 
net.java.slee.resource.diameter.cca.CreditControlProvider.createClientSession()
2. Attach SBB entity to its ACI
3. Create and send Diameter request (e.g. CCR) to diameter server
4. Wait more time than required for Diameter answer (CCA) to come (could do 
some long processing work here or Thread.sleep for 10 seconds or more) - i.e. 
the answer must come earlier than onServiceStarted event can be finished.

Result: 
The response event (CCA) is missed because SBB entity is only going to be 
attached to ACI after the onServiceStarted finishes (transaction commits). 
Since the diameter activity is started in non-suspended mode, the CCA response 
event is lost.

The issue exists from 1.4.0 FINAL version in Diameter CCA RA and appeared after 
this fix:
http://code.google.com/p/mobicents/issues/detail?id=3114

Other Diameter based RAs (Cca, Ro, Rf, Sh, ...) might have the same problem.
Attaching an example patch to fix this issue for Diameter CCA RA below.

Original issue reported on code.google.com by be.lietaus on 20 Feb 2014 at 9:29

Attachments:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant