You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Pascal Schumacher (Jira)" <ji...@apache.org> on 2022/03/27 17:51:00 UTC

[jira] [Created] (CAMEL-17859) camel-smpp: Consumer sometimes only tries to reconnect once

Pascal Schumacher created CAMEL-17859:
-----------------------------------------

             Summary: camel-smpp: Consumer sometimes only tries to reconnect once
                 Key: CAMEL-17859
                 URL: https://issues.apache.org/jira/browse/CAMEL-17859
             Project: Camel
          Issue Type: Bug
          Components: camel-smpp
    Affects Versions: 3.15.0
            Reporter: Pascal Schumacher


We have been running multiple applications using Camel SMPP with a consumer with lazy session creation for years without any problems.

Recently we observed that sometimes Camel 3.15.0 only tries to reconnect once.

Log:
{code}
Time - thread_name - logger_name - message
Mar 22, 2022 @ 01:16:59.798 - PDUReaderWorker-b333f18a - org.jsmpp.session.SMPPSession - Reading PDU session b333f18a in state BOUND_TX: Connection reset
Mar 22, 2022 @ 01:16:59.801 - EnquireLinkSender-b333f18a - org.jsmpp.session.AbstractSession - Response timeout on enquireLink
Mar 22, 2022 @ 01:16:59.801 - EnquireLinkSender-b333f18a - org.apache.camel.component.smpp.SmppProducer - Lost connection to: smpp://USER@HOST:PORT - trying to reconnect...
Mar 22, 2022 @ 01:16:59.824 - EnquireLinkSender-b333f18a - org.apache.camel.support.task.BackgroundTask - Interrupted while waiting for the repeatable task to execute: null
java.lang.InterruptedException: null
               at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(Unknown Source)
               at java.base/java.util.concurrent.CountDownLatch.await(Unknown Source)
               at org.apache.camel.support.task.BackgroundTask.waitForTaskCompletion(BackgroundTask.java:153)
               at org.apache.camel.support.task.BackgroundTask.run(BackgroundTask.java:144)
               at org.apache.camel.component.smpp.SmppProducer.reconnect(SmppProducer.java:197)
               at org.apache.camel.component.smpp.SmppProducer.lambda$new$0(SmppProducer.java:76)
               at org.apache.camel.component.smpp.SmppProducer$$Lambda$1087/0x000000002b4df3c8.onStateChange(Unknown Source)
               at org.jsmpp.session.AbstractSessionContext.fireStateChanged(AbstractSessionContext.java:85)
               at org.jsmpp.session.SMPPSessionContext.changeState(SMPPSessionContext.java:61)
               at org.jsmpp.session.AbstractSessionContext.close(AbstractSessionContext.java:66)
               at org.jsmpp.session.AbstractSession.close(AbstractSession.java:257)
               at org.jsmpp.session.AbstractSession$EnquireLinkSender.run(AbstractSession.java:503)
Mar 22, 2022 @ 01:17:04.824 - Camel (camel-1) thread #3797 - smpp-producer-reconnect - org.apache.camel.component.smpp.SmppProducer - Trying to reconnect to smpp://USER@HOST:PORT
Mar 22, 2022 @ 01:17:04.833 - Camel (camel-1) thread #3797 - smpp-producer-reconnect - org.jsmpp.session.SMPPSession - Connected from port 59810 to /PORT:PORT
Mar 22, 2022 @ 01:17:04.834 - PDUReaderWorker-d0566380 - org.jsmpp.session.SMPPSession - Starting PDUReaderWorker
Mar 22, 2022 @ 01:17:04.844 - PDUReaderWorker-d0566380 - org.jsmpp.session.SMPPSession - Reading PDU session d0566380 in state OPEN: null
Mar 22, 2022 @ 01:17:04.845 - pool-58909-thread-1 - org.jsmpp.session.SMPPSession - Failed setting so_timeout for session timer
java.net.SocketException: Socket is closed
               at java.base/java.net.Socket.setSoTimeout(Unknown Source)
               at org.jsmpp.session.connection.socket.SocketConnection.setSoTimeout(SocketConnection.java:60)
               at org.jsmpp.session.SMPPSession$BoundSessionStateListener.onStateChange(SMPPSession.java:721)
               at org.jsmpp.session.AbstractSessionContext.fireStateChanged(AbstractSessionContext.java:85)
               at org.jsmpp.session.SMPPSessionContext.changeState(SMPPSessionContext.java:61)
               at org.jsmpp.session.AbstractSessionContext.bound(AbstractSessionContext.java:49)
               at org.jsmpp.session.state.SMPPSessionOpen.processBindResp(SMPPSessionOpen.java:73)
               at org.jsmpp.session.PDUProcessTask.run(PDUProcessTask.java:62)
               at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
               at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
               at java.base/java.lang.Thread.run(Unknown Source)
Mar 22, 2022 @ 01:17:04.845 - pool-58909-thread-1 - org.jsmpp.session.SMPPSession - Changing processor degree to 1
Mar 22, 2022 @ 01:17:04.847 - Camel (camel-1) thread #3797 - smpp-producer-reconnect - org.jsmpp.session.SMPPSession - Receive negative bind response
Mar 22, 2022 @ 01:17:04.847 - PDUReaderWorker-d0566380 - org.apache.camel.component.smpp.SmppProducer - Lost connection to: smpp://USER@HOST:PORT - trying to reconnect...
[no further reconnects or anything related to smpp producing]
[almost seven hours later the application tries to produce the first sms (this and all further tries to produce fail):] 
org.apache.camel.processor.errorhandler.DefaultErrorHandler - Failed delivery for (MessageId: XZY on ExchangeId: XZY). Exhausted after delivery attempt: 1 caught: java.io.IOException: Lost connection to smpp://USER@HOST:PORT and yet not reconnected
{code}

The log of another instance showed the same behavior.

[~orpiske] I am not sure, but I think this is another regression caused by CAMEL-17121 It would be great if you could have a look at this. Thank you very much!



--
This message was sent by Atlassian Jira
(v8.20.1#820001)