[
https://issues.apache.org/jira/browse/SYNAPSE-989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14060040#comment-14060040
]
Hudson commented on SYNAPSE-989:
--------------------------------
SUCCESS: Integrated in Synapse - Trunk #4861 (See
[https://builds.apache.org/job/Synapse%20-%20Trunk/4861/])
fix for SYNAPSE-989 (isudana: rev 1610131)
*
/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/DeliveryAgent.java
*
/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/TargetHandler.java
*
/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/connections/HostConnections.java
*
/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/connections/TargetConnections.java
> Extra TCP Connections get created under high concurrency
> --------------------------------------------------------
>
> Key: SYNAPSE-989
> URL: https://issues.apache.org/jira/browse/SYNAPSE-989
> Project: Synapse
> Issue Type: Bug
> Reporter: Isuru Udana Loku Narangoda
> Assignee: Isuru Udana Loku Narangoda
> Priority: Blocker
> Fix For: 3.0
>
> Attachments: CloneProxy.xml, SYNAPSE-989.patch
>
>
> This is observable with following proxy configuration. To clearly see the
> alive connections we need to increase the backend latency.
> <proxy name="CloneProxy" xmlns="http://ws.apache.org/ns/synapse">
> <target>
> <inSequence>
> <property name="NO_KEEPALIVE" value="true" scope="axis2"/>
> <clone>
> <target>
> <sequence>
> <send>
> <endpoint>
> <address
>
> uri="http://localhost:9000/services/SimpleStockQuoteService"/>
> </endpoint>
> </send>
> </sequence>
> </target>
> <target>
> <sequence>
> <send>
> <endpoint>
> <address
>
> uri="http://localhost:9000/services/SimpleStockQuoteService"/>
> </endpoint>
> </send>
> </sequence>
> </target>
> <target>
> <sequence>
> <send>
> <endpoint>
> <address
>
> uri="http://localhost:9000/services/SimpleStockQuoteService"/>
> </endpoint>
> </send>
> </sequence>
> </target>
> <target>
> <sequence>
> <send>
> <endpoint>
> <address
>
> uri="http://localhost:9000/services/SimpleStockQuoteService"/>
> </endpoint>
> </send>
> </sequence>
> </target>
> <target>
> <sequence>
> <send>
> <endpoint>
> <address
>
> uri="http://localhost:9000/services/SimpleStockQuoteService"/>
> </endpoint>
> </send>
> </sequence>
> </target>
> </clone>
> </inSequence>
> <outSequence>
> <aggregate>
> <onComplete xmlns:m0="http://services.samples"
> expression="//m0:getQuoteResponse">
> <send/>
> </onComplete>
> </aggregate>
> </outSequence>
> </target>
> </proxy>
> According to this configuration only 5 connections need to be created with
> the backend server for a single request sent to the proxy. But synapse
> creates additional connections. Following is the netstat output.
> watch -n1 -d "netstat -n -tap | grep 29860"
> Every 1.0s: netstat -n -tap | grep 29860
> tcp6 0 0 :::8243 :::* LISTEN
> 29860/java
> tcp6 0 0 :::46903 :::* LISTEN
> 29860/java
> tcp6 0 0 :::8280 :::* LISTEN
> 29860/java
> tcp6 0 0 :::1099 :::* LISTEN
> 29860/java
> tcp6 0 0 127.0.0.1:56884 127.0.0.1:9000
> ESTABLISHED 29860/java
> tcp6 0 0 127.0.0.1:56885 127.0.0.1:9000
> ESTABLISHED 29860/java
> tcp6 0 0 127.0.0.1:56886 127.0.0.1:9000
> ESTABLISHED 29860/java
> tcp6 0 0 127.0.0.1:56887 127.0.0.1:9000
> ESTABLISHED 29860/java
> tcp6 0 0 127.0.0.1:56889 127.0.0.1:9000
> ESTABLISHED 29860/java
> tcp6 0 0 127.0.0.1:56890 127.0.0.1:9000
> ESTABLISHED 29860/java
> tcp6 0 0 127.0.0.1:8280 127.0.0.1:35665
> ESTABLISHED 29860/java
> tcp6 0 0 127.0.0.1:56888 127.0.0.1:9000
> ESTABLISHED 29860/java
> We can see 7 connections get created. Excess 2 connections remains for
> sometime after all the other connections get terminated.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]