Bug 275060 - [performance] processes.shell.linux needs deferred retrieval of user names
Summary: [performance] processes.shell.linux needs deferred retrieval of user names
Status: RESOLVED FIXED
Alias: None
Product: Target Management
Classification: Tools
Component: RSE (show other bugs)
Version: 3.1   Edit
Hardware: PC Linux
: P3 enhancement (vote)
Target Milestone: 3.1 M7   Edit
Assignee: Anna Dushistova CLA
QA Contact: Martin Oberhuber CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 175300
  Show dependency tree
 
Reported: 2009-05-05 16:22 EDT by Anna Dushistova CLA
Modified: 2009-05-05 16:33 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anna Dushistova CLA 2009-05-05 16:22:11 EDT
From comment 12 bug 175300:
> We have a report of "Connect" for a Linux systemType taking 5 - 10 minutes (!)
> and completely blocking Eclipse during that time.
> 
> Attached thread dump shows that the problem is calling into
>         LinuxProcessHelper.populateUsernames(LinuxProcessHelper.java:117)
> from
>         LinuxShellProcessService.initService(LinuxShellProcessService.java:194)
> which is called on the main Thread.
> 
> The Javadocs of IService#initService() say:
>    "This method may be long-running, but is not yet expected to open a
>     connection to a particular remote system.
>    "
> 
> So I see two problems here: 
> (1) if initService() may be long-running, why is it called on the main 
>     Thread? This looks like an inconsistency in RSE Core. Not sure if we
>     can change it though, we might have to update the Javadocs instead
>     ("Specification update").
> (2) if initService() is not yet expected to open a connection, why does it
>     initialize user names already?
> I think that the populateUsernames() must be deferred to when it is really
> needed.
>
Comment 1 Anna Dushistova CLA 2009-05-05 16:24:18 EDT
Fixed.