You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by "Prakash C Rao (JIRA)" <ji...@apache.org> on 2010/06/15 20:41:24 UTC

[jira] Created: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Axis2 1.5.1 memory issues when invoked stub client in multiple threads
----------------------------------------------------------------------

                 Key: AXIS2-4742
                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
             Project: Axis2
          Issue Type: Bug
          Components: adb
    Affects Versions: 1.5.1
         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model 2494 Mhz
            Reporter: Prakash C Rao
            Priority: Blocker
             Fix For: 1.6


We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 

https://issues.apache.org/jira/browse/AXIS-2698

Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 

In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.

>From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 

I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html

java.util.concurrent.ConcurrentHashMap$Segment
java.util.concurrent.locks.ReentrantLock$NonfairSync
java.util.concurrent.ConcurrentHashMap$HashEntry[]

One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).

Could you please help me out in this regard? 

Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.

http://www.5341.com/list/56/222882.html
http://amilachinthaka.blogspot.com/



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Closed: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao closed AXIS2-4742.
--------------------------------

    Fix Version/s:     (was: 1.6)
       Resolution: Not A Problem

I created stub pool as suggested in one of Amila's blog and this gives much efficient memory footprint for Axis2 1.5.1 and hence i'm closing this issue. From Amila's blog i understood that creating a new stub for each invocation is expensive and creating a stub pool & re-using stubs for various invocation reduced the memory footprint. 

I thought the below links would be useful for others. This gives info on how to create best client code for Axis2 1.5.1 & stub pool implementation for efficient memory footprint.

http://www.5341.com/list/56/223470.html
http://www.5341.com/list/56/222882.html#
http://amilachinthaka.blogspot.com/ 






> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>         Attachments: gclog_profilereport_client_service_code.zip, Memory Pattern Screenshot.doc
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Attachment: gclog_profilereport_client_service_code.zip

I'm attaching gc log, profile report, client and service code all bundled in one zip file. .

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>         Attachments: gclog_profilereport_client_service_code.zip
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz  (was: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model 2494 Mhz)

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Attachment: Memory Pattern Screenshot.doc

Attaching Memory Pattern screen shot...

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>         Attachments: gclog_profilereport_client_service_code.zip, Memory Pattern Screenshot.doc
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Attachment: Memory Pattern Screenshot.doc

Attaching Memory Pattern screen shot...

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>         Attachments: gclog_profilereport_client_service_code.zip, Memory Pattern Screenshot.doc
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Attachment: Memory Pattern Screenshot.doc

Attaching Memory Pattern screen shot...

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>         Attachments: gclog_profilereport_client_service_code.zip, Memory Pattern Screenshot.doc
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Closed: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao closed AXIS2-4742.
--------------------------------

    Fix Version/s:     (was: 1.6)
       Resolution: Not A Problem

I created stub pool as suggested in one of Amila's blog and this gives much efficient memory footprint for Axis2 1.5.1 and hence i'm closing this issue. From Amila's blog i understood that creating a new stub for each invocation is expensive and creating a stub pool & re-using stubs for various invocation reduced the memory footprint. 

I thought the below links would be useful for others. This gives info on how to create best client code for Axis2 1.5.1 & stub pool implementation for efficient memory footprint.

http://www.5341.com/list/56/223470.html
http://www.5341.com/list/56/222882.html#
http://amilachinthaka.blogspot.com/ 






> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>         Attachments: gclog_profilereport_client_service_code.zip, Memory Pattern Screenshot.doc
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Closed: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao closed AXIS2-4742.
--------------------------------

    Fix Version/s:     (was: 1.6)
       Resolution: Not A Problem

I created stub pool as suggested in one of Amila's blog and this gives much efficient memory footprint for Axis2 1.5.1 and hence i'm closing this issue. From Amila's blog i understood that creating a new stub for each invocation is expensive and creating a stub pool & re-using stubs for various invocation reduced the memory footprint. 

I thought the below links would be useful for others. This gives info on how to create best client code for Axis2 1.5.1 & stub pool implementation for efficient memory footprint.

http://www.5341.com/list/56/223470.html
http://www.5341.com/list/56/222882.html#
http://amilachinthaka.blogspot.com/ 






> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>         Attachments: gclog_profilereport_client_service_code.zip, Memory Pattern Screenshot.doc
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Attachment: Memory Pattern Screenshot.doc

Attaching Memory Pattern screen shot...

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>         Attachments: gclog_profilereport_client_service_code.zip, Memory Pattern Screenshot.doc
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Attachment: gclog_profilereport_client_service_code.zip

I'm attaching gc log, profile report, client and service code all bundled in one zip file. .

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>         Attachments: gclog_profilereport_client_service_code.zip
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz  (was: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model 2494 Mhz)

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Attachment: gclog_profilereport_client_service_code.zip

I'm attaching gc log, profile report, client and service code all bundled in one zip file. .

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>         Attachments: gclog_profilereport_client_service_code.zip
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Attachment: gclog_profilereport_client_service_code.zip

I'm attaching gc log, profile report, client and service code all bundled in one zip file. .

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>         Attachments: gclog_profilereport_client_service_code.zip
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz  (was: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model 2494 Mhz)

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Closed: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao closed AXIS2-4742.
--------------------------------

    Fix Version/s:     (was: 1.6)
       Resolution: Not A Problem

I created stub pool as suggested in one of Amila's blog and this gives much efficient memory footprint for Axis2 1.5.1 and hence i'm closing this issue. From Amila's blog i understood that creating a new stub for each invocation is expensive and creating a stub pool & re-using stubs for various invocation reduced the memory footprint. 

I thought the below links would be useful for others. This gives info on how to create best client code for Axis2 1.5.1 & stub pool implementation for efficient memory footprint.

http://www.5341.com/list/56/223470.html
http://www.5341.com/list/56/222882.html#
http://amilachinthaka.blogspot.com/ 






> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>         Attachments: gclog_profilereport_client_service_code.zip, Memory Pattern Screenshot.doc
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Attachment: Memory Pattern Screenshot.doc

Attaching Memory Pattern screen shot...

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>         Attachments: gclog_profilereport_client_service_code.zip, Memory Pattern Screenshot.doc
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Attachment: gclog_profilereport_client_service_code.zip

I'm attaching gc log, profile report, client and service code all bundled in one zip file. .

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>         Attachments: gclog_profilereport_client_service_code.zip
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz  (was: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model 2494 Mhz)

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Closed: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao closed AXIS2-4742.
--------------------------------

    Fix Version/s:     (was: 1.6)
       Resolution: Not A Problem

I created stub pool as suggested in one of Amila's blog and this gives much efficient memory footprint for Axis2 1.5.1 and hence i'm closing this issue. From Amila's blog i understood that creating a new stub for each invocation is expensive and creating a stub pool & re-using stubs for various invocation reduced the memory footprint. 

I thought the below links would be useful for others. This gives info on how to create best client code for Axis2 1.5.1 & stub pool implementation for efficient memory footprint.

http://www.5341.com/list/56/223470.html
http://www.5341.com/list/56/222882.html#
http://amilachinthaka.blogspot.com/ 






> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>         Attachments: gclog_profilereport_client_service_code.zip, Memory Pattern Screenshot.doc
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4742) Axis2 1.5.1 memory issues when invoked stub client in multiple threads

Posted by "Prakash C Rao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash C Rao updated AXIS2-4742:
---------------------------------

    Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz  (was: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model 2494 Mhz)

> Axis2 1.5.1 memory issues when invoked stub client in multiple threads
> ----------------------------------------------------------------------
>
>                 Key: AXIS2-4742
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4742
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Windows XP professional, service hosted in tomcat 5.0.28 & Tomcat 6.0.26, JRE version 1.5.0_14, 32 bit OS, Total Physical Memory - 4 GB, Total RAM - 1.58 GB,Total VM - 2.00 GB,Available VM - 1.96 GB,Processor - x86 family 6 Model Intel 2494 Mhz
>            Reporter: Prakash C Rao
>            Priority: Blocker
>             Fix For: 1.6
>
>
> We are using Axis 1.4 library for our current production system and we are hitting out of memory due to de-serialization bug in Axis 1.4. 
> https://issues.apache.org/jira/browse/AXIS-2698
> Later we found Apache has stopped working on Axis1 generation (1.4 is the last version) and has moved to Axis2 generation. I did lot of reading and found good things (especially on memory footprint) about Axis2 and we made a decision to move to Axis2 1.5.1. Before using this for our product, we did a small POC on Axis2 1.5.1 confirm what is being claimed (as far as memory foot print is concerned) is really true. 
> In my POC I wrote a sample application and I invoked 4 simple service APIs in multiple threads. I see memory growing drastically up to 900MB - 1GB and lot of GC happening. And even after full GC the memory stays up for some duration. I read lot of articles on internet about Axis2 and came to know that there were memory leak issues in Axis2 1.4 which was fixed in Axis2 1.5 but I still see memory issues in Axis2 1.5.1. I also did POC with our product code using Axis2 1.5.1 and I see same results (high memory usage) when I invoke stub using multiple threads.
> From the articles I came to know that stub is not thread safe but I've made sure thread safety for stub creation. I'm creating only one configuration context object and I'm creating new stub for each invocation which uses that configuration context. After the invocation, I'm cleaning up the stub & transport to ensure all cleanups are being done properly. I'm also caching http client for better performance and setting auto release flags for proper cleanup. I've followed all best practices that I Amila has suggested (thanks very much Amila) in his various blogs. I also debugged Axis2 1.5.1 code to see usage of various flags that I've set in the code. In spite of all this I see lot of memory usage. In fact I see better results in Axis 1.4 as far as memory is concerned. 
> I'm attaching the source code for client (rl.txt -> rename to rl.bat starts the client in various threads), service, GC log & profiling report. From the profiling I see huge references to the below objects that's being mentioned in http://www.5341.com/list/56/222882.html
> java.util.concurrent.ConcurrentHashMap$Segment
> java.util.concurrent.locks.ReentrantLock$NonfairSync
> java.util.concurrent.ConcurrentHashMap$HashEntry[]
> One of Amila's blog talks about caching stub object but I'm afraid of socket timeout if I use the same stub for longer period of time (hence I'm creating new stub each invocation and cleaning up after call is done).
> Could you please help me out in this regard? 
> Btw, I should really thank Amila for most of his blogs on Axis2 (2 of them I've listed below). It was really helpful for me.
> http://www.5341.com/list/56/222882.html
> http://amilachinthaka.blogspot.com/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org