[ 
https://issues.apache.org/jira/browse/SYNAPSE-989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Isuru Udana Loku Narangoda updated SYNAPSE-989:
-----------------------------------------------

    Attachment: SYNAPSE-989.patch
                CloneProxy.xml

> 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
>         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]

Reply via email to