You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2016/10/19 18:30:50 UTC
svn commit: r1765694 - in /uima/uima-ducc/trunk:
uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/
uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/
uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/
uima-ducc-tr...
Author: cwiklik
Date: Wed Oct 19 18:30:49 2016
New Revision: 1765694
URL: http://svn.apache.org/viewvc?rev=1765694&view=rev
Log:
UIMA-5060 Added code to publish OR sequence with Agent node inventory
Modified:
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java
uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/NodeInventoryUpdateDuccEvent.java
Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java?rev=1765694&r1=1765693&r2=1765694&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java Wed Oct 19 18:30:49 2016
@@ -46,6 +46,7 @@ import org.apache.camel.Route;
import org.apache.camel.builder.RouteBuilder;
import org.apache.commons.lang.SerializationUtils;
import org.apache.uima.ducc.agent.config.AgentConfiguration;
+import org.apache.uima.ducc.agent.event.AgentEventListener;
import org.apache.uima.ducc.agent.event.ProcessLifecycleObserver;
import org.apache.uima.ducc.agent.launcher.CGroupsManager;
import org.apache.uima.ducc.agent.launcher.Launcher;
@@ -160,6 +161,8 @@ public class NodeAgent extends AbstractD
public int numProcessors=0;
+ private AgentEventListener eventListener;
+
// indicates whether or not this agent received at least one publication
// from the PM. This flag is used to determine if the agent should use
// rogue process detector. The detector will be used if this flag is true.
@@ -177,6 +180,17 @@ public class NodeAgent extends AbstractD
Utils.findDuccHome(); // add DUCC_HOME to System.properties
}
+ public long getLastORSequence() {
+ long lastORSequence = 0;
+ if ( eventListener != null ) {
+ lastORSequence = eventListener.getLastSequence();
+ }
+ return lastORSequence;
+ }
+ public void setAgentEventListener(AgentEventListener listener) {
+ eventListener = listener;
+ }
+
/**
* C'tor for dependecy injection
*
@@ -1715,7 +1729,7 @@ public class NodeAgent extends AbstractD
// Send an empty process map as the final inventory
HashMap<DuccId, IDuccProcess> emptyMap =
new HashMap<DuccId, IDuccProcess>();
- DuccEvent duccEvent = new NodeInventoryUpdateDuccEvent(emptyMap);
+ DuccEvent duccEvent = new NodeInventoryUpdateDuccEvent(emptyMap,getLastORSequence());
inventoryDispatcher.dispatch(duccEvent);
logger.info("stop", null, "Agent published final inventory");
Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java?rev=1765694&r1=1765693&r2=1765694&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java Wed Oct 19 18:30:49 2016
@@ -209,4 +209,8 @@ public class AgentEventListener implemen
logger.info(">>> onProcessPurgeEvent", null,"... Agent Received ProcessPurgeDuccEvent -"+" Process ID:"+duccEvent.getProcess().getPID());
agent.purgeProcess(duccEvent.getProcess());
}
+
+ public long getLastSequence() {
+ return lastSequence.get();
+ }
}
Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java?rev=1765694&r1=1765693&r2=1765694&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java Wed Oct 19 18:30:49 2016
@@ -246,7 +246,7 @@ public class DefaultNodeInventoryProcess
logger.info(methodName, null, "Agent "
+ agent.getIdentity().getName() + " Posting Inventory:"
+ sb.toString());
- outgoingMessage.getIn().setBody(new NodeInventoryUpdateDuccEvent(inventory));
+ outgoingMessage.getIn().setBody(new NodeInventoryUpdateDuccEvent(inventory,agent.getLastORSequence()));
} else {
// Add null to the body of the message. A filter
Modified: uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/NodeInventoryUpdateDuccEvent.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/NodeInventoryUpdateDuccEvent.java?rev=1765694&r1=1765693&r2=1765694&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/NodeInventoryUpdateDuccEvent.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/NodeInventoryUpdateDuccEvent.java Wed Oct 19 18:30:49 2016
@@ -29,12 +29,17 @@ public class NodeInventoryUpdateDuccEven
private static final long serialVersionUID = -240986007026771587L;
private HashMap<DuccId, IDuccProcess> processes = null;
+ private long lastORSequence;
- public NodeInventoryUpdateDuccEvent(HashMap<DuccId, IDuccProcess> processes) {
+ public NodeInventoryUpdateDuccEvent(HashMap<DuccId, IDuccProcess> processes, long lastORSequence) {
super(EventType.START_PROCESS);
this.processes = processes;
+ this.lastORSequence = lastORSequence;
}
+ public long getLastORSequence() {
+ return lastORSequence;
+ }
public HashMap<DuccId, IDuccProcess> getProcesses() {
return processes;
}