You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Bharath Ganesh (JIRA)" <ji...@apache.org> on 2008/06/17 23:00:45 UTC
[jira] Created: (CXF-1656) PolicyEngineImpl Memory Improvement
PolicyEngineImpl Memory Improvement
-----------------------------------
Key: CXF-1656
URL: https://issues.apache.org/jira/browse/CXF-1656
Project: CXF
Issue Type: Improvement
Components: WS-* Components
Affects Versions: 2.1.1, 2.0.7
Reporter: Bharath Ganesh
Assignee: Bharath Ganesh
Fix For: 2.1.2, 2.0.8
PolicyEngineImpl maintains a clientEndpointInfos map to keep the EndpointPolicies for client endpoints. An entry added to this map (while a client comes in) is removed only when the server endpoint is stopped. This leads to very high memory usage when there are frequent getPort() Calls.
This can be can be reduced by maintaining a weak reference to the client EndpointInfo's. [Make clientEndpointInfoMap a weakhashmap]
This would mean that after the lifetime of a single client port, all its data structures would be cleared. We need to explore more on this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CXF-1656) PolicyEngineImpl Memory Improvement
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12605731#action_12605731 ]
Daniel Kulp commented on CXF-1656:
----------------------------------
Interesting. Yea, definitely an issue to explore.
I wonder if it would be possible to remove those maps entirely. When the policy set is computed, store it on the associated object directly.
Kind of like:
public EffectivePolicy getEffectiveClientRequestPolicy(EndpointInfo ei, BindingOperationInfo boi,
Conduit c) {
EffectivePolicy effectivePolicy = (EfectivePolicy)boi.get(CLIENT_REQUEST_POLICY);
if (effectivePolicy == null) {
EffectivePolicyImpl epi = createOutPolicyInfo();
Assertor assertor = null;
if (c instanceof Assertor) {
assertor = (Assertor)c;
}
epi.initialise(ei, bo.boi, this, assertor, true);
boi.put(CLIENT_REQUEST_POLICY, epi);
effectivePolicy = epi;
}
return effectivePolicy;
}
> PolicyEngineImpl Memory Improvement
> -----------------------------------
>
> Key: CXF-1656
> URL: https://issues.apache.org/jira/browse/CXF-1656
> Project: CXF
> Issue Type: Improvement
> Components: WS-* Components
> Affects Versions: 2.1.1, 2.0.7
> Reporter: Bharath Ganesh
> Assignee: Bharath Ganesh
> Fix For: 2.1.2, 2.0.8
>
>
> PolicyEngineImpl maintains a clientEndpointInfos map to keep the EndpointPolicies for client endpoints. An entry added to this map (while a client comes in) is removed only when the server endpoint is stopped. This leads to very high memory usage when there are frequent getPort() Calls.
> This can be can be reduced by maintaining a weak reference to the client EndpointInfo's. [Make clientEndpointInfoMap a weakhashmap]
> This would mean that after the lifetime of a single client port, all its data structures would be cleared. We need to explore more on this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CXF-1656) PolicyEngineImpl Memory Improvement
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-1656.
------------------------------
Resolution: Fixed
> PolicyEngineImpl Memory Improvement
> -----------------------------------
>
> Key: CXF-1656
> URL: https://issues.apache.org/jira/browse/CXF-1656
> Project: CXF
> Issue Type: Improvement
> Components: WS-* Components
> Affects Versions: 2.1.1, 2.0.7
> Reporter: Bharath Ganesh
> Assignee: Daniel Kulp
> Fix For: 2.1.3
>
>
> PolicyEngineImpl maintains a clientEndpointInfos map to keep the EndpointPolicies for client endpoints. An entry added to this map (while a client comes in) is removed only when the server endpoint is stopped. This leads to very high memory usage when there are frequent getPort() Calls.
> This can be can be reduced by maintaining a weak reference to the client EndpointInfo's. [Make clientEndpointInfoMap a weakhashmap]
> This would mean that after the lifetime of a single client port, all its data structures would be cleared. We need to explore more on this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (CXF-1656) PolicyEngineImpl Memory Improvement
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp reassigned CXF-1656:
--------------------------------
Assignee: Daniel Kulp (was: Bharath Ganesh)
> PolicyEngineImpl Memory Improvement
> -----------------------------------
>
> Key: CXF-1656
> URL: https://issues.apache.org/jira/browse/CXF-1656
> Project: CXF
> Issue Type: Improvement
> Components: WS-* Components
> Affects Versions: 2.1.1, 2.0.7
> Reporter: Bharath Ganesh
> Assignee: Daniel Kulp
> Fix For: 2.1.3
>
>
> PolicyEngineImpl maintains a clientEndpointInfos map to keep the EndpointPolicies for client endpoints. An entry added to this map (while a client comes in) is removed only when the server endpoint is stopped. This leads to very high memory usage when there are frequent getPort() Calls.
> This can be can be reduced by maintaining a weak reference to the client EndpointInfo's. [Make clientEndpointInfoMap a weakhashmap]
> This would mean that after the lifetime of a single client port, all its data structures would be cleared. We need to explore more on this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (CXF-1656) PolicyEngineImpl Memory Improvement
Posted by "Willem Jiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Willem Jiang closed CXF-1656.
-----------------------------
> PolicyEngineImpl Memory Improvement
> -----------------------------------
>
> Key: CXF-1656
> URL: https://issues.apache.org/jira/browse/CXF-1656
> Project: CXF
> Issue Type: Improvement
> Components: WS-* Components
> Affects Versions: 2.1.1, 2.0.7
> Reporter: Bharath Ganesh
> Assignee: Daniel Kulp
> Fix For: 2.1.3
>
>
> PolicyEngineImpl maintains a clientEndpointInfos map to keep the EndpointPolicies for client endpoints. An entry added to this map (while a client comes in) is removed only when the server endpoint is stopped. This leads to very high memory usage when there are frequent getPort() Calls.
> This can be can be reduced by maintaining a weak reference to the client EndpointInfo's. [Make clientEndpointInfoMap a weakhashmap]
> This would mean that after the lifetime of a single client port, all its data structures would be cleared. We need to explore more on this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.