Skip to content

Commit

Permalink
Added localSessionId to differentiate activityHandle after reconnect.…
Browse files Browse the repository at this point in the history
… Added some logging per ticket 34633. Related github issue RestComm/smpp-extensions#28
  • Loading branch information
olenara committed Sep 15, 2017
1 parent cf25923 commit e2a611e
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 17 deletions.
13 changes: 11 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
</modules>

<properties>
<ch.smpp.version>5.0.13</ch.smpp.version>
<smpp-extensions.version>7.1.44</smpp-extensions.version>
<ch.smpp.version>5.0.1-4</ch.smpp.version>
<smpp-extensions.version>7.1.1-12</smpp-extensions.version>
<restcomm.slee.ext.version>7.0.63</restcomm.slee.ext.version>
<maven.du.plugin.jboss5.version>3.0.14</maven.du.plugin.jboss5.version>
<maven.du.plugin.wildfly.version>4.0.2</maven.du.plugin.wildfly.version>
Expand Down Expand Up @@ -52,6 +52,15 @@
</build>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>1.13</version>
</plugin>
</plugins>
</build>

<!-- dupe info from parent, but it's only way to retrieve the parent without checkout -->

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.restcomm.slee.resource.smpp;

import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
Expand Down Expand Up @@ -90,18 +91,14 @@ public void run() {
if(sender.getRequestSenderPreviousIterationTime() > 0) {
long diff = System.currentTimeMillis() - sender.getRequestSenderPreviousIterationTime();
if(diff > idleStateTimeout) {
if (tracer.isFineEnabled()) {
tracer.fine(esmeName + " RequestSender has been idle for " + diff);
}
tracer.warning(esmeName + " RequestSender has been idle for " + diff);
}
}

if(sender.getResponseSenderPreviousIterationTime() > 0) {
long diff = System.currentTimeMillis() - sender.getResponseSenderPreviousIterationTime();
if(diff > idleStateTimeout) {
if (tracer.isFineEnabled()) {
tracer.fine(esmeName + " ResponseSender has been idle for " + diff);
}
tracer.warning(esmeName + " ResponseSender has been idle for " + diff);
}
}
}
Expand Down Expand Up @@ -129,7 +126,15 @@ public SmppTransaction sendRequestPdu(Esme esme, PduRequest request, long timeou

EsmeSender esmeSender = esmeSenderThreads.get(esme.getName());
if (esmeSender == null) {
throw new IllegalStateException("Esme sender not found");
//Print ALL NODES
Enumeration<String> enumerator = esmeSenderThreads.keys();
while(enumerator.hasMoreElements()) {
String esmeSenderName = enumerator.nextElement();
if (tracer.isFineEnabled()) {
tracer.fine(esmeSenderName + " found in sender list");
}
}
throw new IllegalStateException("Esme sender " + esme.getName() + " not found");
}

if (!request.hasSequenceNumberAssigned()) {
Expand All @@ -138,7 +143,7 @@ public SmppTransaction sendRequestPdu(Esme esme, PduRequest request, long timeou
}

SmppTransactionHandle smppServerTransactionHandle = new SmppTransactionHandle(esme.getName(),
request.getSequenceNumber(), SmppTransactionType.OUTGOING);
request.getSequenceNumber(), SmppTransactionType.OUTGOING, esme.getLocalSessionId());

SmppTransactionImpl smppServerTransaction = new SmppTransactionImpl(request, esme, smppServerTransactionHandle,
smppServerResourceAdaptor);
Expand Down Expand Up @@ -189,6 +194,7 @@ public void destroySmppSessionHandler(Esme esme) {
if (esme != null && esme.getName() != null) {
EsmeSender esmeSender = esmeSenderThreads.remove(esme.getName());
if (esmeSender != null) {
tracer.warning(esme.getName() + " is being deactivated");
esmeSender.deactivate();
}
}
Expand All @@ -205,9 +211,10 @@ public SmppSessionHandler createNewSmppSessionHandler(Esme esme) {

EsmeSender existingQueue = esmeSenderThreads.put(esme.getName(), esmeSender);
if (existingQueue != null) {
tracer.warning(esme.getName() + " is being deactivated");
existingQueue.deactivate();
}

tracer.warning(esme.getName() + " is being started");
esmeSender.start();

return new SmppSessionHandlerImpl(esme);
Expand Down Expand Up @@ -249,7 +256,7 @@ public PduResponse firePduRequestReceived(PduRequest pduRequest) {
}

smppServerTransactionHandle = new SmppTransactionHandle(this.esme.getName(),
pduRequest.getSequenceNumber(), SmppTransactionType.INCOMING);
pduRequest.getSequenceNumber(), SmppTransactionType.INCOMING, this.esme.getLocalSessionId());
smppServerTransaction = new SmppTransactionImpl(pduRequest, this.esme, smppServerTransactionHandle,
smppServerResourceAdaptor);

Expand All @@ -274,7 +281,7 @@ public PduResponse firePduRequestReceived(PduRequest pduRequest) {
}

smppServerTransactionHandle = new SmppTransactionHandle(this.esme.getName(),
pduRequest.getSequenceNumber(), SmppTransactionType.INCOMING);
pduRequest.getSequenceNumber(), SmppTransactionType.INCOMING, this.esme.getLocalSessionId());
smppServerTransaction = new SmppTransactionImpl(pduRequest, this.esme, smppServerTransactionHandle,
smppServerResourceAdaptor);
smppServerResourceAdaptor.startNewSmppServerTransactionActivity(smppServerTransaction);
Expand All @@ -298,7 +305,7 @@ public PduResponse firePduRequestReceived(PduRequest pduRequest) {
}

smppServerTransactionHandle = new SmppTransactionHandle(this.esme.getName(),
pduRequest.getSequenceNumber(), SmppTransactionType.INCOMING);
pduRequest.getSequenceNumber(), SmppTransactionType.INCOMING, this.esme.getLocalSessionId());
smppServerTransaction = new SmppTransactionImpl(pduRequest, this.esme, smppServerTransactionHandle,
smppServerResourceAdaptor);
smppServerResourceAdaptor.startNewSmppServerTransactionActivity(smppServerTransaction);
Expand All @@ -321,7 +328,7 @@ public PduResponse firePduRequestReceived(PduRequest pduRequest) {
}

smppServerTransactionHandle = new SmppTransactionHandle(this.esme.getName(),
pduRequest.getSequenceNumber(), SmppTransactionType.INCOMING);
pduRequest.getSequenceNumber(), SmppTransactionType.INCOMING, this.esme.getLocalSessionId());
smppServerTransaction = new SmppTransactionImpl(pduRequest, this.esme, smppServerTransactionHandle,
smppServerResourceAdaptor);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@ public class SmppTransactionHandle implements ActivityHandle {
private final String smppSessionConfigurationName;
private final SmppTransactionType smppTransactionType;
private final int seqNumnber;
private final long localSessionId;
private transient SmppTransactionImpl activity;

public SmppTransactionHandle(String smppSessionConfigurationName, int seqNumnber,
SmppTransactionType smppTransactionType) {
SmppTransactionType smppTransactionType, long localSessionId) {
this.smppSessionConfigurationName = smppSessionConfigurationName;
this.seqNumnber = seqNumnber;
this.smppTransactionType = smppTransactionType;
this.localSessionId = localSessionId;
}

public SmppTransactionImpl getActivity() {
Expand All @@ -29,6 +31,7 @@ public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + seqNumnber;
result = prime * result + (int)localSessionId;
result = prime * result + smppTransactionType.hashCode();
result = prime * result + smppSessionConfigurationName.hashCode();
return result;
Expand All @@ -45,6 +48,8 @@ public boolean equals(Object obj) {
SmppTransactionHandle other = (SmppTransactionHandle) obj;
if (seqNumnber != other.seqNumnber)
return false;
if (localSessionId != other.localSessionId)
return false;
if (smppTransactionType != other.smppTransactionType)
return false;
if (!smppSessionConfigurationName.equals(other.smppSessionConfigurationName))
Expand All @@ -55,7 +60,8 @@ public boolean equals(Object obj) {
@Override
public String toString() {
return "SmppTransactionHandle [smppSessionConfigurationName=" + smppSessionConfigurationName
+ ", smppTransactionType=" + smppTransactionType + ", seqNumnber=" + seqNumnber + "]";
+ ", smppTransactionType=" + smppTransactionType + ", seqNumnber=" + seqNumnber
+ ", localSessionId = " + localSessionId + "]";
}

}

0 comments on commit e2a611e

Please sign in to comment.