You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Rich Scheuerle (JIRA)" <ji...@apache.org> on 2008/03/08 16:01:46 UTC

[jira] Created: (AXIS2-3581) WSDLDefinitionWrapper is not being constructed with the proper Configuration information

WSDLDefinitionWrapper is not being constructed with the proper Configuration information
----------------------------------------------------------------------------------------

                 Key: AXIS2-3581
                 URL: https://issues.apache.org/jira/browse/AXIS2-3581
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
            Reporter: Rich Scheuerle
            Assignee: Rich Scheuerle
            Priority: Blocker
             Fix For: 1.4


History:
WSLDDefinitionWrapper wraps a WSDL Definition.  The WSDLDefinitionWrapper uses information from the AxisConfiguration to determine the strategy for 
loading resources (i.e. loading and keeping the schema in core). 

Problem:
The WSDLDefinitionWrapper (and its companion WSDL4JWrapper class) expose constructors that don't pass in the configuration context or other memory limit information. 
When these ill-conceived constructors are used, the AxisConfiguration information is ignored, and this can lead to out of memory situation.

Solution:
The solution is to CLEANUP the constructors!

First Step:  Deprecate all of the constructors on WSDLDefinitionWrapper and WSDL4JWrapper that don't provide a memory configuration parameter .

Second Step:  Examine all uses of the deprecated constructors.  In most cases, a configuration (AxisConfiguration) is available, and the code is changed to 
use the correct constructor.  In other cases, the configuration information is not available, but there is an obvious choice based on the context of the call.
(i.e. we don't need a memory sensitive WSDLDefinitionWrapper for a temporary wsdl definiton usage).

I am testing a solution.


Kudos to Vien Tran of IBM for finding this error during rigorous SVT testing with a service containing a large number of schemas.
Kudos to Jeff Barrett for working with me to brainstorm a solution.

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Resolved: (AXIS2-3581) WSDLDefinitionWrapper is not being constructed with the proper Configuration information

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

Rich Scheuerle resolved AXIS2-3581.
-----------------------------------

    Resolution: Fixed

Committed proposed fix in 635679



> WSDLDefinitionWrapper is not being constructed with the proper Configuration information
> ----------------------------------------------------------------------------------------
>
>                 Key: AXIS2-3581
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3581
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>            Priority: Blocker
>             Fix For: 1.4
>
>
> History:
> WSLDDefinitionWrapper wraps a WSDL Definition.  The WSDLDefinitionWrapper uses information from the AxisConfiguration to determine the strategy for 
> loading resources (i.e. loading and keeping the schema in core). 
> Problem:
> The WSDLDefinitionWrapper (and its companion WSDL4JWrapper class) expose constructors that don't pass in the configuration context or other memory limit information. 
> When these ill-conceived constructors are used, the AxisConfiguration information is ignored, and this can lead to out of memory situation.
> Solution:
> The solution is to CLEANUP the constructors!
> First Step:  Deprecate all of the constructors on WSDLDefinitionWrapper and WSDL4JWrapper that don't provide a memory configuration parameter .
> Second Step:  Examine all uses of the deprecated constructors.  In most cases, a configuration (AxisConfiguration) is available, and the code is changed to 
> use the correct constructor.  In other cases, the configuration information is not available, but there is an obvious choice based on the context of the call.
> (i.e. we don't need a memory sensitive WSDLDefinitionWrapper for a temporary wsdl definiton usage).
> I am testing a solution.
> Kudos to Vien Tran of IBM for finding this error during rigorous SVT testing with a service containing a large number of schemas.
> Kudos to Jeff Barrett for working with me to brainstorm a solution.

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Resolved: (AXIS2-3581) WSDLDefinitionWrapper is not being constructed with the proper Configuration information

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

Rich Scheuerle resolved AXIS2-3581.
-----------------------------------

    Resolution: Fixed

Revision 639346

> WSDLDefinitionWrapper is not being constructed with the proper Configuration information
> ----------------------------------------------------------------------------------------
>
>                 Key: AXIS2-3581
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3581
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>            Priority: Blocker
>             Fix For: 1.4
>
>
> History:
> WSLDDefinitionWrapper wraps a WSDL Definition.  The WSDLDefinitionWrapper uses information from the AxisConfiguration to determine the strategy for 
> loading resources (i.e. loading and keeping the schema in core). 
> Problem:
> The WSDLDefinitionWrapper (and its companion WSDL4JWrapper class) expose constructors that don't pass in the configuration context or other memory limit information. 
> When these ill-conceived constructors are used, the AxisConfiguration information is ignored, and this can lead to out of memory situation.
> Solution:
> The solution is to CLEANUP the constructors!
> First Step:  Deprecate all of the constructors on WSDLDefinitionWrapper and WSDL4JWrapper that don't provide a memory configuration parameter .
> Second Step:  Examine all uses of the deprecated constructors.  In most cases, a configuration (AxisConfiguration) is available, and the code is changed to 
> use the correct constructor.  In other cases, the configuration information is not available, but there is an obvious choice based on the context of the call.
> (i.e. we don't need a memory sensitive WSDLDefinitionWrapper for a temporary wsdl definiton usage).
> I am testing a solution.
> Kudos to Vien Tran of IBM for finding this error during rigorous SVT testing with a service containing a large number of schemas.
> Kudos to Jeff Barrett for working with me to brainstorm a solution.

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Reopened: (AXIS2-3581) WSDLDefinitionWrapper is not being constructed with the proper Configuration information

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

Rich Scheuerle reopened AXIS2-3581:
-----------------------------------


The EndpointDescriptionImpl is using getUnwrappedDefinition() to get and store the definition.  This is inadvertently avoiding
the memory footprint enhancements.  

I am working on a small change to EndpointDescriptionImpl to fix this problem.  
In addition, I am adding more trace to WSDLWrapperReloadImpl so that it will be easier to determine when
the definition is reloaded.
I am also changing WSDLWrapperReloadImpl to store the Types and DocumentElement in a WeakReference.  This will
allow the code to avoid unnecessary reloads when memory is available.

I am running final tests and will commit the changes in about an hour.

> WSDLDefinitionWrapper is not being constructed with the proper Configuration information
> ----------------------------------------------------------------------------------------
>
>                 Key: AXIS2-3581
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3581
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>            Priority: Blocker
>             Fix For: 1.4
>
>
> History:
> WSLDDefinitionWrapper wraps a WSDL Definition.  The WSDLDefinitionWrapper uses information from the AxisConfiguration to determine the strategy for 
> loading resources (i.e. loading and keeping the schema in core). 
> Problem:
> The WSDLDefinitionWrapper (and its companion WSDL4JWrapper class) expose constructors that don't pass in the configuration context or other memory limit information. 
> When these ill-conceived constructors are used, the AxisConfiguration information is ignored, and this can lead to out of memory situation.
> Solution:
> The solution is to CLEANUP the constructors!
> First Step:  Deprecate all of the constructors on WSDLDefinitionWrapper and WSDL4JWrapper that don't provide a memory configuration parameter .
> Second Step:  Examine all uses of the deprecated constructors.  In most cases, a configuration (AxisConfiguration) is available, and the code is changed to 
> use the correct constructor.  In other cases, the configuration information is not available, but there is an obvious choice based on the context of the call.
> (i.e. we don't need a memory sensitive WSDLDefinitionWrapper for a temporary wsdl definiton usage).
> I am testing a solution.
> Kudos to Vien Tran of IBM for finding this error during rigorous SVT testing with a service containing a large number of schemas.
> Kudos to Jeff Barrett for working with me to brainstorm a solution.

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Work started: (AXIS2-3581) WSDLDefinitionWrapper is not being constructed with the proper Configuration information

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

Work on AXIS2-3581 started by Rich Scheuerle.

> WSDLDefinitionWrapper is not being constructed with the proper Configuration information
> ----------------------------------------------------------------------------------------
>
>                 Key: AXIS2-3581
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3581
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>            Priority: Blocker
>             Fix For: 1.4
>
>
> History:
> WSLDDefinitionWrapper wraps a WSDL Definition.  The WSDLDefinitionWrapper uses information from the AxisConfiguration to determine the strategy for 
> loading resources (i.e. loading and keeping the schema in core). 
> Problem:
> The WSDLDefinitionWrapper (and its companion WSDL4JWrapper class) expose constructors that don't pass in the configuration context or other memory limit information. 
> When these ill-conceived constructors are used, the AxisConfiguration information is ignored, and this can lead to out of memory situation.
> Solution:
> The solution is to CLEANUP the constructors!
> First Step:  Deprecate all of the constructors on WSDLDefinitionWrapper and WSDL4JWrapper that don't provide a memory configuration parameter .
> Second Step:  Examine all uses of the deprecated constructors.  In most cases, a configuration (AxisConfiguration) is available, and the code is changed to 
> use the correct constructor.  In other cases, the configuration information is not available, but there is an obvious choice based on the context of the call.
> (i.e. we don't need a memory sensitive WSDLDefinitionWrapper for a temporary wsdl definiton usage).
> I am testing a solution.
> Kudos to Vien Tran of IBM for finding this error during rigorous SVT testing with a service containing a large number of schemas.
> Kudos to Jeff Barrett for working with me to brainstorm a solution.

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org