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 2015/05/08 20:25:36 UTC
svn commit: r1678416 - in /uima/sandbox/uima-ducc/trunk:
uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/
uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jp/
Author: cwiklik
Date: Fri May 8 18:25:35 2015
New Revision: 1678416
URL: http://svn.apache.org/r1678416
Log:
UIMA-4386 modified jmx query to fetch AE MBeans which a polled for init status until the AE state changes to READY. Modified code used to make a decision about when to send node inventory
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jp/JmxAEProcessInitMonitor.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java?rev=1678416&r1=1678415&r2=1678416&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java Fri May 8 18:25:35 2015
@@ -19,12 +19,14 @@
package org.apache.uima.ducc.agent.processors;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.apache.camel.Exchange;
import org.apache.uima.ducc.agent.NodeAgent;
import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.id.DuccId;
+import org.apache.uima.ducc.transport.agent.IUimaPipelineAEComponent;
import org.apache.uima.ducc.transport.event.NodeInventoryUpdateDuccEvent;
import org.apache.uima.ducc.transport.event.common.IDuccProcess;
import org.apache.uima.ducc.transport.event.common.IProcessState.ProcessState;
@@ -93,6 +95,40 @@ public class DefaultNodeInventoryProcess
} else if ( !currentProcess.getValue().getProcessState().equals(previousProcess.getProcessState())) {
inventoryChanged = true;
break;
+ } else {
+ List<IUimaPipelineAEComponent> breakdown =
+ currentProcess.getValue().getUimaPipelineComponents();
+ if ( breakdown != null && breakdown.size() > 0 ) {
+ List<IUimaPipelineAEComponent> previousBreakdown =
+ previousProcess.getUimaPipelineComponents();
+ if ( previousBreakdown == null || previousBreakdown.size() == 0 ||
+ breakdown.size() != previousBreakdown.size()) {
+ inventoryChanged = true;
+ } else {
+ for (IUimaPipelineAEComponent uimaAeState : breakdown ) {
+ boolean found = false;
+ for (IUimaPipelineAEComponent previousUimaAeState : previousBreakdown ) {
+ if ( uimaAeState.getAeName().equals(previousUimaAeState.getAeName()) ) {
+ found = true;
+ if ( !uimaAeState.getAeState().equals(previousUimaAeState.getAeState()) ||
+ uimaAeState.getInitializationTime() != previousUimaAeState.getInitializationTime() ) {
+ inventoryChanged = true;
+ break;
+ }
+ }
+ }
+ if ( !found ) {
+ inventoryChanged = true;
+ }
+
+ if ( inventoryChanged ) {
+ break;
+ }
+
+ }
+ }
+
+ }
}
} else {
// New inventory contains a process not in the previous snapshot
@@ -102,6 +138,7 @@ public class DefaultNodeInventoryProcess
}
}
}
+
// Get this inventory snapshot
previousInventory = inventory;
// Broadcast inventory if there is a change or configured number of epochs
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jp/JmxAEProcessInitMonitor.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jp/JmxAEProcessInitMonitor.java?rev=1678416&r1=1678415&r2=1678416&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jp/JmxAEProcessInitMonitor.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jp/JmxAEProcessInitMonitor.java Fri May 8 18:25:35 2015
@@ -65,7 +65,8 @@ public class JmxAEProcessInitMonitor imp
// enable
// finding deployed uima components.
ObjectName uimaServicePattern = new ObjectName(
- "org.apache.uima:type=ee.jms.services,*");
+ "org.apache.uima:*");
+// "org.apache.uima:type=ee.jms.services,*");
// Fetch UIMA AS MBean names from JMX Server that match above
// name pattern
Set<ObjectInstance> mbeans = new HashSet<ObjectInstance>(
@@ -75,7 +76,7 @@ public class JmxAEProcessInitMonitor imp
for (ObjectInstance instance : mbeans) {
String targetName = instance.getObjectName()
.getKeyProperty("name");
- if (targetName.endsWith("FlowController")) { // skip FC
+ if (targetName.endsWith("FlowController") || targetName.trim().endsWith("DUCC.Job")) { // skip FC
continue;
}
// Only interested in AEs
@@ -165,7 +166,7 @@ public class JmxAEProcessInitMonitor imp
componentsToDelete.add(aeState);
}
}
- DuccService.getDuccLogger(this.getClass().getName()).debug(
+ DuccService.getDuccLogger(this.getClass().getName()).info(
"UimaAEJmxMonitor.run()",
null,
"---- AE Name:" + proxy.getName()
@@ -180,7 +181,7 @@ public class JmxAEProcessInitMonitor imp
}
howManySeenSoFar = 1; // reset error counter
if (updateAgent) {
- DuccService.getDuccLogger(this.getClass().getName()).debug("UimaAEJmxMonitor.run()", null,
+ DuccService.getDuccLogger(this.getClass().getName()).info("UimaAEJmxMonitor.run()", null,
"---- Publishing UimaPipelineAEComponent List - size="
+ aeStateList.size());
try {