[jbosstools-issues] [JBoss JIRA] (JBIDE-26148) CommandLocationBinary: only searches once (wont retry if it fails, forcing me to restart Eclipse once I corrected $PATH)

Rob Stryker (JIRA) issues at jboss.org
Fri Jul 20 15:52:00 EDT 2018


    [ https://issues.jboss.org/browse/JBIDE-26148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13608822#comment-13608822 ] 

Rob Stryker commented on JBIDE-26148:
-------------------------------------

I would prefer this issue be voted on by more people. This was committed in this way because if a user does not update their path, we don't want many actions slowing down the IDE by repeatedly searching for a path that isn't there. 

One example is the polling mechanism. It could issue a new polling request once every x miliseconds. Do we want it to have to run a `which` or similar command each and every time it's about to poll? 

I suppose I could add something like an expiration so it only checks once every 5 minutes or something. But the goal is to not slow down the environment through repeated unnecessary commands. 

> CommandLocationBinary: only searches once (wont retry if it fails, forcing me to restart Eclipse once I corrected $PATH)
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBIDE-26148
>                 URL: https://issues.jboss.org/browse/JBIDE-26148
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: openshift
>    Affects Versions: 4.6.0.AM3
>            Reporter: Andre Dietisheim
>            Assignee: Rob Stryker
>
> [CommandLocationBinary|https://github.com/adietish/jbosstools-openshift/blob/master/plugins/org.jboss.tools.openshift.common.core/src/org/jboss/tools/openshift/internal/common/core/util/CommandLocationBinary.java#L70] allows to lookup a command (on the $PATH, etc.). But it'll only do so once:
> {code:title=CommandLocationBinary}
> 	public String findLocation(int timeout) {
> 		if (foundLoc != null || searchFailed)
> 			return foundLoc;
> 		String searched = CommandLocationLookupStrategy.get().search(this, timeout);
> 		if (searched == null) {
> 			searchFailed = true;
> 		}
> 		foundLoc = searched;
> 		return searched;
> 	}
> {code}
> Once the lookup failed, it'll store this in the var *searchFailed* and wont do it a 2nd time. 
> What if I update my PATH while I keep Eclipse running? 
> I'd think that one should be able to repeat the lookup if it fails since the user could modify it's system while he keeps Eclipse running. Afaics the current impl forces me to restart Eclipse once I changed my $PATH.



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jbosstools-issues mailing list