Bug 217723 - Enable Web Service Explorer Session Time out to eliminate memory leak
Summary: Enable Web Service Explorer Session Time out to eliminate memory leak
Status: CLOSED FIXED
Alias: None
Product: WTP Webservices
Classification: WebTools
Component: wst.ws (show other bugs)
Version: 1.5.5   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: 3.0 M6   Edit
Assignee: Seng Phung Lu CLA
QA Contact: Kathy Chan CLA
URL:
Whiteboard:
Keywords: contributed
Depends on:
Blocks:
 
Reported: 2008-02-04 14:10 EST by Seng Phung Lu CLA
Modified: 2008-06-12 17:48 EDT (History)
1 user (show)

See Also:


Attachments
wst.ws.explorer plugin patch (16.52 KB, patch)
2008-02-04 17:07 EST, Seng Phung Lu CLA
no flags Details | Diff
wst.ws.explorer plugin patch (17.55 KB, patch)
2008-02-06 12:59 EST, Seng Phung Lu CLA
bjorn.freeman-benson: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Seng Phung Lu CLA 2008-02-04 14:10:55 EST
Build ID: M20070212-1330

Steps To Reproduce:
1.Launch the Web service explorer numerous times on a WSDL.


More information:
Memory will continue to build up unless the user is able to access the same session to clear nodes.

If the browser is closed, the user will not be able to access the WSE(especially for external browsers), and so the memory accumulates until the user re-starts their workspace.
Comment 1 Seng Phung Lu CLA 2008-02-04 15:12:50 EST
Here's an assessment of the impact/risk for this candidate fix.

A MaxTimeOutInterval of 30mins will be set for the Web service Explorer session.  Currently, it will never time out.  The behavior will change for 'timed out' sessions (left idle for 30mins). Any action to select a (WSDL)node, refresh the node tree, or clear an item in the node tree will result in the browser being redirected to a new SessionTimedOut.jsp which displays a message indicating the session has expired - and to relaunch the WSE.

Without this fix, we've observed that memory consumed by each WSE launch will accumulate in non-heap space, and eventually result in poor performance.  This memory will never be reclaimed by GC as long as the session is still active, and the user has not 'cleared' the item from the WSDL node tree.  

It is a common occurance to launch the WSE, and then close the browser after testing. Since the node tree is not cleared, memory will accumulate. 

By setting a MaxTimeOutInterval for the wsexplorer.jsp, the memory can be GC'd when the session times out, and the objects are relinquished.
Comment 2 Kathy Chan CLA 2008-02-04 17:04:39 EST
Since there is a workaround for this problem (clearing the WSDL from WSE manually), I don't think the severity of this bug should be critical.

Seng, I believe you have a fix in hand already.  Please attach the patch to this bug.
Comment 3 Seng Phung Lu CLA 2008-02-04 17:07:55 EST
Created attachment 88838 [details]
wst.ws.explorer plugin patch
Comment 4 Seng Phung Lu CLA 2008-02-06 12:59:49 EST
Created attachment 89032 [details]
wst.ws.explorer plugin patch

Replaces message with externalized strings from explorer.properties file.
Comment 5 Kathy Chan CLA 2008-02-15 13:40:30 EST
Gil, please review this patch.  We would like to include it in M6.
Comment 6 Kathy Chan CLA 2008-03-26 14:56:03 EDT
Patch committed and released to HEAD as v200803261855.
Comment 7 David Williams CLA 2008-04-24 00:45:18 EDT
mass change to add 'contributed' keyword based on bugzilla query, please correct if that's not accurate (by marking patches as obsolete and removing the 'contributed' keyword. 
Comment 8 Seng Phung Lu CLA 2008-06-12 17:48:27 EDT
Verified.
Comment 9 Seng Phung Lu CLA 2008-06-12 17:48:43 EDT
Verified, closing.