Removing terminated thread from local map which contains running thread. Fixes #3342
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/vre-management/smart-executor@114593 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
ea89017b96
commit
80b827d08c
|
@ -6,6 +6,7 @@ package org.gcube.vremanagement.executor.pluginmanager;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import org.gcube.vremanagement.executor.SmartExecutorInitalizator;
|
||||||
import org.gcube.vremanagement.executor.plugin.Plugin;
|
import org.gcube.vremanagement.executor.plugin.Plugin;
|
||||||
import org.gcube.vremanagement.executor.plugin.PluginDeclaration;
|
import org.gcube.vremanagement.executor.plugin.PluginDeclaration;
|
||||||
import org.gcube.vremanagement.executor.plugin.PluginState;
|
import org.gcube.vremanagement.executor.plugin.PluginState;
|
||||||
|
@ -32,12 +33,14 @@ public class PluginThread<T extends Plugin<? extends PluginDeclaration>> extends
|
||||||
inputs.hashCode(), SEPARATOR, uuid);
|
inputs.hashCode(), SEPARATOR, uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected T plugin;
|
protected final T plugin;
|
||||||
protected Map<String, Object> inputs;
|
protected final UUID uuid;
|
||||||
|
protected final Map<String, Object> inputs;
|
||||||
|
|
||||||
public PluginThread(T plugin, Map<String, Object> inputs, UUID uuid){
|
public PluginThread(T plugin, Map<String, Object> inputs, UUID uuid){
|
||||||
super(getThreadName(plugin, inputs, uuid));
|
super(getThreadName(plugin, inputs, uuid));
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
|
this.uuid = uuid;
|
||||||
this.inputs = inputs;
|
this.inputs = inputs;
|
||||||
this.plugin.setState(PluginState.CREATED);
|
this.plugin.setState(PluginState.CREATED);
|
||||||
}
|
}
|
||||||
|
@ -51,6 +54,8 @@ public class PluginThread<T extends Plugin<? extends PluginDeclaration>> extends
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
logger.trace(String.format("Thread %s failed", getName()),e);
|
logger.trace(String.format("Thread %s failed", getName()),e);
|
||||||
plugin.setState(PluginState.FAILED);
|
plugin.setState(PluginState.FAILED);
|
||||||
|
} finally{
|
||||||
|
SmartExecutorInitalizator.getPluginInstances().remove(uuid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue