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 Glen Daniels <gl...@thoughtcraft.com> on 2010/09/17 16:11:07 UTC
Re: svn commit: r992877 - in /axis/axis2/java/core/trunk: ./
modules/adb-codegen/test-resources/testsuite/
modules/adb-codegen/test/org/apache/axis2/schema/particlemaxoccurs/
modules/kernel/src/org/apache/axis2/jsr181/
modules/kernel/src/org/apache/a
Hi Amila, Jarek,
On 9/17/2010 7:55 AM, Amila Suriarachchi wrote:
> As I told, this bug is reported with Axis2 1.5.1 not with trunk. hence this
> issue is not relevant.
The issue isn't just 4751, Amila - the larger issues were 935, 2883, and
others (search for CLOSE_WAIT). When we used the old (pre-1.5.1) methods of
connection management, there was a significant problem with memory leakage
and connection starvation, even if options.setCallTransportCleanup() had been
called. The following code would die after about 3600 repetitions on
Windows, some other number on linux:
ServiceClient client = new ServiceClient();
Options options = new Options();
// options.setCallTransportCleanup(true); // Doesn't matter
options.setTo(new
EndpointReference("http://localhost:8080/axis2/services/Version"));
options.setAction("urn:getVersion");
client.setOptions(options);
SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
String NS = "http://ws.apache.org/axis2";
OMElement req = fac.createOMElement(new QName(NS, "getVersion"));
for (int i = 0; i < 10000; i++) {
client.sendReceive(req);
System.out.println(i);
}
System.out.println("All done.");
The above will happily chug along forever with 1.5.1 and 1.5.2.
> this is the original code.
> [...]
> it reuses http client only if user has set so. otherwise if the user has set
> an http connection manager object then
> it creates a new httpClient per every call.
>
> I'll revert this change since issue you point out is not applicable here.
Please don't do any further reverting. I'd suggest as Jarek did that we
start another thread re: connection sharing. I think the right answer is to
always use connection sharing and if you need more than 2 concurrent
connections to a given host you should just configure the
HttpConnectionManagerParams.
IMHO for 1.6 we need to:
* Make sure sessions / cookies work as expected
* Move to HTTPClient 4.0
* Make sure we have a test suite that covers all the potential breakages,
including the test above
Thanks,
--Glen
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org
Re: svn commit: r992877 - in /axis/axis2/java/core/trunk: ./
modules/adb-codegen/test-resources/testsuite/ modules/adb-codegen/test/org/apache/axis2/schema/particlemaxoccurs/
modules/kernel/src/org/apache/axis2/jsr181/ modules/kernel/src/org/apache/a
Posted by Amila Suriarachchi <am...@gmail.com>.
On Fri, Sep 17, 2010 at 7:41 PM, Glen Daniels <gl...@thoughtcraft.com> wrote:
> Hi Amila, Jarek,
>
> On 9/17/2010 7:55 AM, Amila Suriarachchi wrote:
> > As I told, this bug is reported with Axis2 1.5.1 not with trunk. hence
> this
> > issue is not relevant.
>
> The issue isn't just 4751, Amila - the larger issues were 935, 2883, and
> others (search for CLOSE_WAIT). When we used the old (pre-1.5.1) methods
> of
> connection management, there was a significant problem with memory leakage
> and connection starvation, even if options.setCallTransportCleanup() had
> been
> called. The following code would die after about 3600 repetitions on
> Windows, some other number on linux:
>
> ServiceClient client = new ServiceClient();
> Options options = new Options();
> // options.setCallTransportCleanup(true); // Doesn't matter
> options.setTo(new
> EndpointReference("http://localhost:8080/axis2/services/Version"));
> options.setAction("urn:getVersion");
> client.setOptions(options);
> SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
> String NS = "http://ws.apache.org/axis2";
> OMElement req = fac.createOMElement(new QName(NS, "getVersion"));
> for (int i = 0; i < 10000; i++) {
> client.sendReceive(req);
> System.out.println(i);
> }
> System.out.println("All done.");
>
> The above will happily chug along forever with 1.5.1 and 1.5.2.
>
Does this works without client.cleanupTransport()?
What you try to show here is an high load case. For that even with Axis2 1.5
users can move to option 2 or 3 (please see my other mail) by setting proper
parameters.
thanks,
Amila.
>
> > this is the original code.
> > [...]
> > it reuses http client only if user has set so. otherwise if the user has
> set
> > an http connection manager object then
> > it creates a new httpClient per every call.
> >
> > I'll revert this change since issue you point out is not applicable here.
>
> Please don't do any further reverting. I'd suggest as Jarek did that we
> start another thread re: connection sharing. I think the right answer is
> to
> always use connection sharing and if you need more than 2 concurrent
> connections to a given host you should just configure the
> HttpConnectionManagerParams.
>
> IMHO for 1.6 we need to:
>
> * Make sure sessions / cookies work as expected
> * Move to HTTPClient 4.0
> * Make sure we have a test suite that covers all the potential breakages,
> including the test above
>
> Thanks,
> --Glen
>
--
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/
Re: svn commit: r992877 - in /axis/axis2/java/core/trunk: ./
modules/adb-codegen/test-resources/testsuite/ modules/adb-codegen/test/org/apache/axis2/schema/particlemaxoccurs/
modules/kernel/src/org/apache/axis2/jsr181/ modules/kernel/src/org/apache/a
Posted by Amila Suriarachchi <am...@gmail.com>.
On Fri, Sep 17, 2010 at 7:41 PM, Glen Daniels <gl...@thoughtcraft.com> wrote:
> Hi Amila, Jarek,
>
> On 9/17/2010 7:55 AM, Amila Suriarachchi wrote:
> > As I told, this bug is reported with Axis2 1.5.1 not with trunk. hence
> this
> > issue is not relevant.
>
> The issue isn't just 4751, Amila - the larger issues were 935, 2883, and
> others (search for CLOSE_WAIT). When we used the old (pre-1.5.1) methods
> of
> connection management, there was a significant problem with memory leakage
> and connection starvation, even if options.setCallTransportCleanup() had
> been
> called. The following code would die after about 3600 repetitions on
> Windows, some other number on linux:
>
> ServiceClient client = new ServiceClient();
> Options options = new Options();
> // options.setCallTransportCleanup(true); // Doesn't matter
> options.setTo(new
> EndpointReference("http://localhost:8080/axis2/services/Version"));
> options.setAction("urn:getVersion");
> client.setOptions(options);
> SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
> String NS = "http://ws.apache.org/axis2";
> OMElement req = fac.createOMElement(new QName(NS, "getVersion"));
> for (int i = 0; i < 10000; i++) {
> client.sendReceive(req);
> System.out.println(i);
> }
> System.out.println("All done.");
>
> The above will happily chug along forever with 1.5.1 and 1.5.2.
>
Does this works without client.cleanupTransport()?
What you try to show here is an high load case. For that even with Axis2 1.5
users can move to option 2 or 3 (please see my other mail) by setting proper
parameters.
thanks,
Amila.
>
> > this is the original code.
> > [...]
> > it reuses http client only if user has set so. otherwise if the user has
> set
> > an http connection manager object then
> > it creates a new httpClient per every call.
> >
> > I'll revert this change since issue you point out is not applicable here.
>
> Please don't do any further reverting. I'd suggest as Jarek did that we
> start another thread re: connection sharing. I think the right answer is
> to
> always use connection sharing and if you need more than 2 concurrent
> connections to a given host you should just configure the
> HttpConnectionManagerParams.
>
> IMHO for 1.6 we need to:
>
> * Make sure sessions / cookies work as expected
> * Move to HTTPClient 4.0
> * Make sure we have a test suite that covers all the potential breakages,
> including the test above
>
> Thanks,
> --Glen
>
--
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/
Re: svn commit: r992877 - in /axis/axis2/java/core/trunk: ./
modules/adb-codegen/test-resources/testsuite/ modules/adb-codegen/test/org/apache/axis2/schema/particlemaxoccurs/
modules/kernel/src/org/apache/axis2/jsr181/ modules/kernel/src/org/apache/a
Posted by Amila Suriarachchi <am...@gmail.com>.
On Fri, Sep 17, 2010 at 7:41 PM, Glen Daniels <gl...@thoughtcraft.com> wrote:
> Hi Amila, Jarek,
>
> On 9/17/2010 7:55 AM, Amila Suriarachchi wrote:
> > As I told, this bug is reported with Axis2 1.5.1 not with trunk. hence
> this
> > issue is not relevant.
>
> The issue isn't just 4751, Amila - the larger issues were 935, 2883, and
> others (search for CLOSE_WAIT). When we used the old (pre-1.5.1) methods
> of
> connection management, there was a significant problem with memory leakage
> and connection starvation, even if options.setCallTransportCleanup() had
> been
> called. The following code would die after about 3600 repetitions on
> Windows, some other number on linux:
>
> ServiceClient client = new ServiceClient();
> Options options = new Options();
> // options.setCallTransportCleanup(true); // Doesn't matter
> options.setTo(new
> EndpointReference("http://localhost:8080/axis2/services/Version"));
> options.setAction("urn:getVersion");
> client.setOptions(options);
> SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
> String NS = "http://ws.apache.org/axis2";
> OMElement req = fac.createOMElement(new QName(NS, "getVersion"));
> for (int i = 0; i < 10000; i++) {
> client.sendReceive(req);
> System.out.println(i);
> }
> System.out.println("All done.");
>
> The above will happily chug along forever with 1.5.1 and 1.5.2.
>
Does this works without client.cleanupTransport()?
What you try to show here is an high load case. For that even with Axis2 1.5
users can move to option 2 or 3 (please see my other mail) by setting proper
parameters.
thanks,
Amila.
>
> > this is the original code.
> > [...]
> > it reuses http client only if user has set so. otherwise if the user has
> set
> > an http connection manager object then
> > it creates a new httpClient per every call.
> >
> > I'll revert this change since issue you point out is not applicable here.
>
> Please don't do any further reverting. I'd suggest as Jarek did that we
> start another thread re: connection sharing. I think the right answer is
> to
> always use connection sharing and if you need more than 2 concurrent
> connections to a given host you should just configure the
> HttpConnectionManagerParams.
>
> IMHO for 1.6 we need to:
>
> * Make sure sessions / cookies work as expected
> * Move to HTTPClient 4.0
> * Make sure we have a test suite that covers all the potential breakages,
> including the test above
>
> Thanks,
> --Glen
>
--
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/
Re: svn commit: r992877 - in /axis/axis2/java/core/trunk: ./
modules/adb-codegen/test-resources/testsuite/ modules/adb-codegen/test/org/apache/axis2/schema/particlemaxoccurs/
modules/kernel/src/org/apache/axis2/jsr181/ modules/kernel/src/org/apache/a
Posted by Amila Suriarachchi <am...@gmail.com>.
On Fri, Sep 17, 2010 at 7:41 PM, Glen Daniels <gl...@thoughtcraft.com> wrote:
> Hi Amila, Jarek,
>
> On 9/17/2010 7:55 AM, Amila Suriarachchi wrote:
> > As I told, this bug is reported with Axis2 1.5.1 not with trunk. hence
> this
> > issue is not relevant.
>
> The issue isn't just 4751, Amila - the larger issues were 935, 2883, and
> others (search for CLOSE_WAIT). When we used the old (pre-1.5.1) methods
> of
> connection management, there was a significant problem with memory leakage
> and connection starvation, even if options.setCallTransportCleanup() had
> been
> called. The following code would die after about 3600 repetitions on
> Windows, some other number on linux:
>
> ServiceClient client = new ServiceClient();
> Options options = new Options();
> // options.setCallTransportCleanup(true); // Doesn't matter
> options.setTo(new
> EndpointReference("http://localhost:8080/axis2/services/Version"));
> options.setAction("urn:getVersion");
> client.setOptions(options);
> SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
> String NS = "http://ws.apache.org/axis2";
> OMElement req = fac.createOMElement(new QName(NS, "getVersion"));
> for (int i = 0; i < 10000; i++) {
> client.sendReceive(req);
> System.out.println(i);
> }
> System.out.println("All done.");
>
> The above will happily chug along forever with 1.5.1 and 1.5.2.
>
Does this works without client.cleanupTransport()?
What you try to show here is an high load case. For that even with Axis2 1.5
users can move to option 2 or 3 (please see my other mail) by setting proper
parameters.
thanks,
Amila.
>
> > this is the original code.
> > [...]
> > it reuses http client only if user has set so. otherwise if the user has
> set
> > an http connection manager object then
> > it creates a new httpClient per every call.
> >
> > I'll revert this change since issue you point out is not applicable here.
>
> Please don't do any further reverting. I'd suggest as Jarek did that we
> start another thread re: connection sharing. I think the right answer is
> to
> always use connection sharing and if you need more than 2 concurrent
> connections to a given host you should just configure the
> HttpConnectionManagerParams.
>
> IMHO for 1.6 we need to:
>
> * Make sure sessions / cookies work as expected
> * Move to HTTPClient 4.0
> * Make sure we have a test suite that covers all the potential breakages,
> including the test above
>
> Thanks,
> --Glen
>
--
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/
Re: svn commit: r992877 - in /axis/axis2/java/core/trunk: ./
modules/adb-codegen/test-resources/testsuite/ modules/adb-codegen/test/org/apache/axis2/schema/particlemaxoccurs/
modules/kernel/src/org/apache/axis2/jsr181/ modules/kernel/src/org/apache/a
Posted by Amila Suriarachchi <am...@gmail.com>.
On Fri, Sep 17, 2010 at 7:41 PM, Glen Daniels <gl...@thoughtcraft.com> wrote:
> Hi Amila, Jarek,
>
> On 9/17/2010 7:55 AM, Amila Suriarachchi wrote:
> > As I told, this bug is reported with Axis2 1.5.1 not with trunk. hence
> this
> > issue is not relevant.
>
> The issue isn't just 4751, Amila - the larger issues were 935, 2883, and
> others (search for CLOSE_WAIT). When we used the old (pre-1.5.1) methods
> of
> connection management, there was a significant problem with memory leakage
> and connection starvation, even if options.setCallTransportCleanup() had
> been
> called. The following code would die after about 3600 repetitions on
> Windows, some other number on linux:
>
> ServiceClient client = new ServiceClient();
> Options options = new Options();
> // options.setCallTransportCleanup(true); // Doesn't matter
> options.setTo(new
> EndpointReference("http://localhost:8080/axis2/services/Version"));
> options.setAction("urn:getVersion");
> client.setOptions(options);
> SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
> String NS = "http://ws.apache.org/axis2";
> OMElement req = fac.createOMElement(new QName(NS, "getVersion"));
> for (int i = 0; i < 10000; i++) {
> client.sendReceive(req);
> System.out.println(i);
> }
> System.out.println("All done.");
>
> The above will happily chug along forever with 1.5.1 and 1.5.2.
>
Does this works without client.cleanupTransport()?
What you try to show here is an high load case. For that even with Axis2 1.5
users can move to option 2 or 3 (please see my other mail) by setting proper
parameters.
thanks,
Amila.
>
> > this is the original code.
> > [...]
> > it reuses http client only if user has set so. otherwise if the user has
> set
> > an http connection manager object then
> > it creates a new httpClient per every call.
> >
> > I'll revert this change since issue you point out is not applicable here.
>
> Please don't do any further reverting. I'd suggest as Jarek did that we
> start another thread re: connection sharing. I think the right answer is
> to
> always use connection sharing and if you need more than 2 concurrent
> connections to a given host you should just configure the
> HttpConnectionManagerParams.
>
> IMHO for 1.6 we need to:
>
> * Make sure sessions / cookies work as expected
> * Move to HTTPClient 4.0
> * Make sure we have a test suite that covers all the potential breakages,
> including the test above
>
> Thanks,
> --Glen
>
--
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/