connection reset error when pool is full

69 views
Skip to first unread message

Ardhi Putra Mahardika

unread,
Oct 30, 2024, 1:20:47 AM10/30/24
to jPOS Users
Hi Everyone, I'm getting a problem with q2 when my connection pool is full, the connection from client is unexpected reset, but the request still process in q2. what should i do?

Mark Salter

unread,
Oct 30, 2024, 2:44:16 AM10/30/24
to jpos-...@googlegroups.com

Can you expand on the flow and condition deyails and provide any relevant messages and values?

-- 
Mark



-------- Original Message --------

On 30/10/2024 04:18, Ardhi Putra Mahardika wrote:
Hi Everyone, I'm getting a problem with q2 when my connection pool is full, the connection from client is unexpected reset, but the request still process in q2. what should i do?

--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: sa...@jpos.org
---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/jpos-users/7ea2386f-5153-4065-a7fe-c3b7682628b3n%40googlegroups.com.
signature.asc

chhil

unread,
Oct 30, 2024, 7:40:21 AM10/30/24
to jpos-...@googlegroups.com
I speculate, you are possibly processing transactions in the request listener and blocking requests instead of using a transaction manager.

-chhil

Ardhi Putra Mahardika

unread,
Oct 30, 2024, 9:39:40 AM10/30/24
to jPOS Users
<log realm="serverX.server.session/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:11.771 WIB 2024">
<session-start/>
</log>
<log realm="channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:11.771 WIB 2024">
<get-message-length/>
</log>
<log realm="channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:11.772 WIB 2024">
<got-message-length>
   556
</got-message-length>
</log>
<log realm="channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:11.772 WIB 2024">
<get-message-trailler/>
</log>
<log realm="channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:11.772 WIB 2024">
<got-message-trailler>
   03
</got-message-trailler>
</log>
<log realm="channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:11.772 WIB 2024" lifespan="1ms">
<receive>
<isomsg direction="incoming">
<!-- org.jpos.iso.packager.BASE24Packager -->
<header>49534F303236303030303630</header>
<field id="0" value="xxxx"/>
.............................................................
.............................................................
<field id="126" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
</isomsg>
</receive>
</log>
<log realm="channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:11.772 WIB 2024">
<get-message-length/>
</log>
<log realm="channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:11.772 WIB 2024">
<receive>
<peer-disconnect>Connection reset</peer-disconnect>
</receive>
</log>
<log realm="org.jpos.q2.iso.CustomQServer" at="Tue Sep 17 16:45:11.772 WIB 2024">
<info>
   Channel serverX marked as disconnected
</info>
</log>
<log realm="serverX.server.session/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:11.772 WIB 2024">
<session-end/>
</log>
<log realm="org.jpos.q2.iso.CustomQServer" at="Tue Sep 17 16:45:11.806 WIB 2024">
<info>
   Channel serverX marked as connected
</info>
</log>
<log realm="post-channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:21.511 WIB 2024">
<send>
<isomsg direction="outgoing">
<!-- org.jpos.iso.packager.BASE24Packager -->
<header>49534F303236303030303630</header>
<field id="0" value="xxxx"/>
.............................................................
.............................................................
<field id="126" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
</isomsg>
</send>
</log>
<log realm="post-channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:23.512 WIB 2024">
<got-message-length>
   279
</got-message-length>
</log>
<log realm="post-channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:23.512 WIB 2024">
<header-length-12>
</header-length-12>
</log>
<log realm="post-channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:23.513 WIB 2024" lifespan="1ms">
<message-length-278>
</message-length-278>
</log>
<log realm="post-channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:23.513 WIB 2024">
<get-message-trailler/>
</log>
<log realm="post-channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:23.513 WIB 2024">
<got-message-trailler>
   03
</got-message-trailler>
</log>
<log realm="post-channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:23.513 WIB 2024" lifespan="208ms">
<receive>
<isomsg direction="incoming">
<!-- org.jpos.iso.packager.BASE24Packager -->
<header>49534F303236303030303637</header>
<field id="0" value="xxxx"/>
.............................................................
.............................................................
<field id="123" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
</isomsg>
</receive>
</log>
<log realm="post-channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:23.513 WIB 2024">
<get-message-length/>
</log>
<log realm="channel/xx.xx.xx.xx:xxxx" at="Tue Sep 17 16:45:23.513 WIB 2024">
<send>
<exception name="unconnected ISOChannel">
   java.io.IOException: unconnected ISOChannel
at org.jpos.iso.BaseChannel.send(BaseChannel.java:575)
at org.jpos.iso.Connector$Process.run(Connector.java:108)
at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:76)
</exception>
</send>
</log>


this is full log of the transaction.

Transaction incoming to q2, and after that Connection Reset by peer. But transaction still processed, and fail to response to client with message "Unconnected iso channel" because connection is reset by peer before.

chhil

unread,
Oct 30, 2024, 11:01:50 AM10/30/24
to jpos-...@googlegroups.com

If it's telling you peer disconnected it means the client is disconnecting.

What is customQserver, it's not a jpos provided qserver.


Ardhi Putra Mahardika

unread,
Oct 30, 2024, 11:32:33 AM10/30/24
to jpos-...@googlegroups.com
Is any possibility disconnected from q2 itself? 

Mark Salter

unread,
Oct 30, 2024, 4:28:29 PM10/30/24
to jpos-...@googlegroups.com

No.

Perhaps work outdoor ask them why the dropped, perhaps they timed out?

You may need to undo any action, unless they send anything to indicate why (like a reversal)

Please ask a smart question.

( http://www.catb.org/esr/faqs/smart-questions.html )

--
Mark

-- 
Mark



-------- Original Message --------
signature.asc

chhil

unread,
Oct 30, 2024, 10:54:56 PM10/30/24
to jpos-...@googlegroups.com
I don't understand your question. 

Your client is disconnecting from the Qserver or as in your case your custom qserver. 



Mark Salter

unread,
Nov 1, 2024, 7:52:56 AM11/1/24
to jpos-...@googlegroups.com

I think you may be mixing two issues.

1. connection pool full.

2. inbound connects being dropped.


These might be related, but I think symptoms of each other.


Ask the source of the connection for their view.  Are they dropping their connection on a timeout basis?

Simultaneously, consider how you are processing the requests, how quickly you are replying and returning the connection to your pool.


You have something wired wrong, or really are being flooded, I  would expect the former until you share the details in a smart question.


--

Mark

signature.asc
Reply all
Reply to author
Forward
0 new messages