[jbosstools-issues] [JBoss JIRA] (JBIDE-15766) openshift-java-client: dont refresh env variables on each addition/removal

Andre Dietisheim (JIRA) jira-events at lists.jboss.org
Thu Oct 24 06:34:02 EDT 2013


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

Andre Dietisheim edited comment on JBIDE-15766 at 10/24/13 6:33 AM:
--------------------------------------------------------------------

[~mwigglesworth-redhat] very valid concerns, did not think about them when rushing for the rest of the UI. But thinking this API through a 2nd time I pretend that the whole backend API is broken. The general rule of thumb is that you need the diff to be done as close as possible to the peer that stores it. Having to do the diff in the remote client is imho the worst possible solution, it requires the client to constantly refresh while not gaining any significant guarantee, just increasing likelyhood. The constant refreshing also forces the user program (a UI or any other) to also constantly update it's env vars.
My personal opinion is that - also given the normal pattern of explicit refreshes we have - we should not refresh constantly. We could eventually refresh when there's an error, sticking to the explicit refresh.
                
      was (Author: adietish):
    [~mwigglesworth-redhat] very valid concerns, did not think about them when rushing for the rest of the UI. But thinking this API through a 2nd time I pretend that the whole backend API is broken. The general rule of thumb is that you need the diff to be done as close as possible to the peer that stores it. Having to do the diff in the remote client is the worst possible solution. There's 0 guarantee for the client to be up-to-date anyhow. It is verly likely that he'll run into a race condition. In this situation I still dont see the benefit of constantly refreshing the env vars.
                  
> openshift-java-client: dont refresh env variables on each addition/removal
> --------------------------------------------------------------------------
>
>                 Key: JBIDE-15766
>                 URL: https://issues.jboss.org/browse/JBIDE-15766
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: openshift
>    Affects Versions: 4.1.1.Beta1, 4.2.0.Alpha1
>            Reporter: Andre Dietisheim
>            Assignee: Andre Dietisheim
>             Fix For: 4.1.1.Beta1, 4.2.0.Alpha1
>
>
> When adding/removing environment variables, the openshift-java-client would always request the backend for the full list. This should not be required and avoided
> {code:title=ApplicationResource#addEnvironmentVariable}
> 		EnvironmentVariableResourceDTO environmentVariableResourceDTO =
> 				new AddEnvironmentVariableRequest().execute(name, value);
> 		IEnvironmentVariable environmentVariable = new EnvironmentVariableResource(environmentVariableResourceDTO, this);
> 		updateEnvironmentVariables();
> 		return environmentVariable;
> {code}
> {code:title=ApplicationResource#updateEnvironmentVariables}
> 	protected void updateEnvironmentVariables() throws OpenShiftException {
> 		if (environmentVariableByName == null) {
> 			environmentVariableByName = loadEnvironmentVariables();
> 		} else {
> 			environmentVariableByName.clear();
> 			environmentVariableByName.putAll(loadEnvironmentVariables());
> 		}
> 	}
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbosstools-issues mailing list