Issue Details (XML | Word | Printable)

Key: GLASSFISH-20299
Type: Bug Bug
Status: Reopened Reopened
Priority: Major Major
Assignee: jwells
Reporter: Tom Mueller
Votes: 0
Watchers: 1

If you were logged in you would be able to see more operations.

ResourceManager run level 2 slows down server initialization

Created: 12/Apr/13 05:41 PM   Updated: 16/May/13 09:03 PM
Component/s: performance
Affects Version/s: 4.0_b84_RC1
Fix Version/s: 4.0.1

Time Tracking:
Not Specified

Issue Links:

Tags: 4_0-approved devx_web
Participants: jwells and Tom Mueller

 Description  « Hide

The ResourceManager service is currently started at run level 2:

@RunLevel( value= 2, mode=RunLevel.RUNLEVEL_MODE_NON_VALIDATING)
@Service(name="ResourceManager") // this name is used in ApplicationLoaderService
public class ResourceManager implements PostConstruct, PreDestroy, ConfigListener {

Once the changes for GLASSFISH-20206 are checked in, then the initialization for ResourceManager will occur by itself while no other initialization is happening. By moving this to @InitRunLevel (level 1), then ResourceManager can be initialize at the same time as other level 1 services and (hopefully) its initialization would not slow down the startup of the server.

This issue is for changing the run level to 1.

It is not clear yet how much of an improvement this will make. Currently, ResourceManager takes about 120 ms to initialize.

Tom Mueller added a comment - 16/May/13 09:02 PM

Backing out this change because of the logging deadlock (see issue GLASSFISH-20541)

Backed out in revision 62021.

jwells added a comment - 16/Apr/13 03:45 PM

Changed to RunLevel 1 at svn change 61439

Tom Mueller added a comment - 16/Apr/13 03:28 PM

Approved for 4.0

jwells added a comment - 16/Apr/13 03:24 PM

What is the impact on the customer of the bug?

They will see a performance improvement during startup when multi-threading is turned on

What is the cost/risk of fixing the bug?

This particular change is not very risky, it is merely changing a service from run level 2 to run level 1

Is there an impact on documentation or message strings?


Which tests should QA (re)run to verify the fix did not destabilize GlassFish?

connector, jdbc, resources

Which is the targeted build of 4.0 for this fix?


If this an integration of a new version of a component from another project,
what are the changes that are being brought in? This might be list of
Jira issues from that project or a list of revision messages.


Tom Mueller added a comment - 12/Apr/13 05:46 PM

Changing the run level will not result in any change until GLASSFISH-20206 is implemented.