Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 38 by
kvr...@gmail.com: smscgateway fails to process smses to the
same target address in parallel
https://code.google.com/p/smscgateway/issues/detail?id=38
What steps will reproduce the problem?
1. Send multiple sms (or chunked sms) to a user to make these chunks to be
processed in parallel by TxSmmServerSbb.processSms(...).
What is the expected output? What do you see instead?
According to the code in TxSmmServerSbb.processSms(...) it looks like these
sms'es has to be passed for further processing serially, by using the same
ActivityContextInterface stored in ActivityContextNamingFacility.
However it doesn't happen or better say it doesn't happen all the time.
Sometimes I see that 2+ threads lookup in the ActivityContextNamingFacility
for the address, receive null and then bind new ActivityContextInterface
and all of them succeed!!! no NameAlreadyBoundException is thrown.
When this happens I often see this exception in the log:
23:36:02,345 WARN [ActivityContext] (pool-25-thread-1) failed to unbind
name: <address> from ac:ACH=NULL>-4ca4a7a9:14dadd37660:-7ff4
javax.slee.facilities.NameNotBoundException: name not bound
at
org.mobicents.slee.runtime.facilities.ActivityContextNamingFacilityCacheData.unbindName(ActivityContextNamingFacilityCacheData.java:88)
at
org.mobicents.slee.runtime.facilities.ActivityContextNamingFacilityImpl.removeName(ActivityContextNamingFacilityImpl.java:154)
at
org.mobicents.slee.runtime.activity.ActivityContextImpl.removeNamingBindings(ActivityContextImpl.java:244)
at
org.mobicents.slee.runtime.activity.ActivityContextImpl.activityEnded(ActivityContextImpl.java:574)
at
org.mobicents.slee.runtime.event.ActivityEndEventUnreferencedCallback.eventUnreferenced(ActivityEndEventUnreferencedCallback.java:58)
at
org.mobicents.slee.container.event.EventContextImpl.eventUnreferenced(EventContextImpl.java:225)
at
org.mobicents.slee.container.event.EventReferencesHandlerImpl.remove(EventReferencesHandlerImpl.java:63)
at
org.mobicents.slee.container.event.EventContextImpl.routed(EventContextImpl.java:260)
at
org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.routeQueuedEvent(EventRoutingTaskImpl.java:566)
at
org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.run(EventRoutingTaskImpl.java:126)
at
org.mobicents.slee.runtime.eventrouter.EventRouterExecutorImpl$EventRoutingTaskStatsCollector.run(EventRouterExecutorImpl.java:73)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Probably this exception is caused by the fact that one of the "bound"
ActivityContextInterface unbind the name registration successfully, and the
other ones, which supposed to fail on binding due to
NameAlreadyBoundException, fail to unbind themselves.
What version of the product are you using? On what operating system?
1.0.0-ALPHA, Linux (Ubuntu), JDK 1.7
Please provide any additional information below.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings