Author: degenaro
Date: Fri Oct 31 13:36:05 2014
New Revision: 1635767
URL: http://svn.apache.org/r1635767
Log:
UIMA-4069 Redesign of JD toward the main goal of classpath separation for
container (system) code.
CAS Manager Statistics.
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/CasManagerStats.java
(with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/INodeInfo.java
(with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IOperatingInfo.java
(with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IProcessInfo.java
(with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/NodeInfo.java
(with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/OperatingInfo.java
(with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/ProcessInfo.java
(with props)
Removed:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/dispatch/NodeInfo.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/dispatch/ProcessInfo.java
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCasManager.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCommon.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/dispatch/Dispatcher.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestDispatcher.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestSuite.java
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/CasManagerStats.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/CasManagerStats.java?rev=1635767&view=auto
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/CasManagerStats.java
(added)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/CasManagerStats.java
Fri Oct 31 13:36:05 2014
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.uima.ducc.container.jd;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+public class CasManagerStats {
+
+ private AtomicInteger crTotal = new AtomicInteger(0);
+ private AtomicInteger crGets = new AtomicInteger(0);
+
+ private AtomicInteger retryQueuePuts = new AtomicInteger(0);
+ private AtomicInteger retryQueueGets = new AtomicInteger(0);
+
+ public void setCrTotal(int value) {
+ crTotal.set(value);
+ }
+
+ public int getCrTotal() {
+ return crTotal.get();
+ }
+
+ public void incCrGets() {
+ crGets.incrementAndGet();
+ }
+
+ public int getCrGets() {
+ return crGets.get();
+ }
+
+ public void incRetryQueuePuts() {
+ retryQueuePuts.incrementAndGet();
+ }
+
+ public int getRetryQueuePuts() {
+ return retryQueuePuts.get();
+ }
+
+ public void incRetryQueueGets() {
+ retryQueueGets.incrementAndGet();
+ }
+
+ public int getRetryQueueGets() {
+ return retryQueueGets.get();
+ }
+}
Propchange:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/CasManagerStats.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCasManager.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCasManager.java?rev=1635767&r1=1635766&r2=1635767&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCasManager.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCasManager.java
Fri Oct 31 13:36:05 2014
@@ -20,11 +20,10 @@ package org.apache.uima.ducc.container.j
import java.net.URL;
import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.atomic.AtomicInteger;
import org.apache.uima.ducc.container.common.ContainerLogger;
-import org.apache.uima.ducc.container.common.IEntityId;
import org.apache.uima.ducc.container.common.IContainerLogger;
+import org.apache.uima.ducc.container.common.IEntityId;
import org.apache.uima.ducc.container.jd.classload.JobDriverCollectionReader;
import org.apache.uima.ducc.container.net.impl.MetaCas;
@@ -36,9 +35,7 @@ public class JobDriverCasManager {
private LinkedBlockingQueue<MetaCas> cacheQueue = new
LinkedBlockingQueue<MetaCas>();
- private AtomicInteger countGet = new AtomicInteger(0);
- private AtomicInteger countPut = new AtomicInteger(0);
- private AtomicInteger countGetCr = new AtomicInteger(0);
+ private CasManagerStats casManagerStats = new CasManagerStats();
public JobDriverCasManager(String[] classpath, String crXml, String
crCfg) throws JobDriverException {
initialize(classpath, crXml, crCfg);
@@ -54,6 +51,7 @@ public class JobDriverCasManager {
i++;
}
jdcr = new JobDriverCollectionReader(classLoaderUrls,
crXml, crCfg);
+ casManagerStats.setCrTotal(jdcr.getTotal());
}
catch(JobDriverException e) {
logger.error(location, IEntityId.null_id, e);
@@ -64,13 +62,12 @@ public class JobDriverCasManager {
public MetaCas getMetaCas() throws JobDriverException {
MetaCas retVal = cacheQueue.poll();
if(retVal != null) {
- countGet.incrementAndGet();
+ casManagerStats.incRetryQueueGets();
}
else {
retVal = jdcr.getMetaCas();
if(retVal != null) {
- countGetCr.incrementAndGet();
- countGet.incrementAndGet();
+ casManagerStats.incCrGets();
}
}
return retVal;
@@ -78,22 +75,10 @@ public class JobDriverCasManager {
public void putMetaCas(MetaCas metaCas) {
cacheQueue.add(metaCas);
- countPut.incrementAndGet();
- }
-
- public int getTotal() throws JobDriverException {
- return jdcr.getTotal();
- }
-
- public int getGets() {
- return countGet.intValue();
- }
-
- public int getPuts() {
- return countPut.intValue();
+ casManagerStats.incRetryQueuePuts();
}
- public int getGetsCr() {
- return countGetCr.intValue();
+ public CasManagerStats getCasManagerStats() {
+ return casManagerStats;
}
}
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCommon.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCommon.java?rev=1635767&r1=1635766&r2=1635767&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCommon.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCommon.java
Fri Oct 31 13:36:05 2014
@@ -19,11 +19,10 @@
package org.apache.uima.ducc.container.jd;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.atomic.AtomicInteger;
import org.apache.uima.ducc.container.common.ContainerLogger;
-import org.apache.uima.ducc.container.common.IEntityId;
import org.apache.uima.ducc.container.common.IContainerLogger;
+import org.apache.uima.ducc.container.common.IEntityId;
import org.apache.uima.ducc.container.jd.dispatch.IRemoteWorkerIdentity;
import org.apache.uima.ducc.container.jd.dispatch.IWorkItem;
@@ -31,27 +30,19 @@ public class JobDriverCommon {
private static IContainerLogger logger =
ContainerLogger.getLogger(JobDriverCommon.class,
IContainerLogger.Component.JD.name());
- private static JobDriverCommon instance = null;
+ private static JobDriverCommon instance = new JobDriverCommon();
public static JobDriverCommon getInstance() {
return instance;
}
public static void setInstance(String[] classpath, String crXml, String
crCfg) {
- instance = new JobDriverCommon(classpath, crXml, crCfg);
+ instance.initialize(classpath, crXml, crCfg);
}
- private AtomicInteger wiSuccess = new AtomicInteger(0);
- private AtomicInteger wiFailure = new AtomicInteger(0);
- private AtomicInteger wiRetry = new AtomicInteger(0);
-
private ConcurrentHashMap<IRemoteWorkerIdentity, IWorkItem> map = null;
private JobDriverCasManager jdcm = null;
- private JobDriverCommon(String[] classpath, String crXml, String crCfg)
{
- initialize(classpath, crXml, crCfg);
- }
-
public void initialize(String[] classpath, String crXml, String crCfg) {
String location = "initialize";
try {
@@ -61,7 +52,6 @@ public class JobDriverCommon {
catch(Exception e) {
logger.error(location, IEntityId.null_id, e);
}
-
}
public ConcurrentHashMap<IRemoteWorkerIdentity, IWorkItem> getMap() {
@@ -72,32 +62,4 @@ public class JobDriverCommon {
return jdcm;
}
- //
-
- public int getWorkItemCountSuccess() {
- return wiSuccess.get();
- }
-
- public int getWorkItemCountFailure() {
- return wiFailure.get();
- }
-
- public int getWorkItemCountRetry() {
- return wiRetry.get();
- }
-
- //
-
- public void workItemSuccess() {
- wiSuccess.incrementAndGet();
- }
-
- public void workItemFailure() {
- wiFailure.incrementAndGet();
- }
-
- public void workItemRetry() {
- wiRetry.incrementAndGet();
- }
-
}
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/dispatch/Dispatcher.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/dispatch/Dispatcher.java?rev=1635767&r1=1635766&r2=1635767&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/dispatch/Dispatcher.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/dispatch/Dispatcher.java
Fri Oct 31 13:36:05 2014
@@ -21,15 +21,21 @@ package org.apache.uima.ducc.container.j
import java.util.concurrent.ConcurrentHashMap;
import org.apache.uima.ducc.container.common.ContainerLogger;
-import org.apache.uima.ducc.container.common.IEntityId;
import org.apache.uima.ducc.container.common.IContainerLogger;
+import org.apache.uima.ducc.container.common.IEntityId;
import org.apache.uima.ducc.container.common.MessageBuffer;
import org.apache.uima.ducc.container.common.Standardize;
import org.apache.uima.ducc.container.common.fsm.iface.IEvent;
import org.apache.uima.ducc.container.common.fsm.iface.IFsm;
+import org.apache.uima.ducc.container.jd.CasManagerStats;
+import org.apache.uima.ducc.container.jd.JobDriverCasManager;
import org.apache.uima.ducc.container.jd.JobDriverCommon;
import org.apache.uima.ducc.container.jd.fsm.wi.ActionData;
import org.apache.uima.ducc.container.jd.fsm.wi.WiFsm;
+import org.apache.uima.ducc.container.jd.mh.iface.INodeInfo;
+import org.apache.uima.ducc.container.jd.mh.iface.IOperatingInfo;
+import org.apache.uima.ducc.container.jd.mh.iface.IProcessInfo;
+import org.apache.uima.ducc.container.jd.mh.impl.OperatingInfo;
import org.apache.uima.ducc.container.net.iface.IMetaCas;
import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction;
import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction.Type;
@@ -41,15 +47,25 @@ public class Dispatcher {
public Dispatcher() {
}
- public void downNode(NodeInfo nodeInfo) {
+ public IOperatingInfo handleGetOperatingInfo() {
+ IOperatingInfo retVal = new OperatingInfo();
+ JobDriverCasManager jdcm =
JobDriverCommon.getInstance().getCasManager();
+ CasManagerStats cms = jdcm.getCasManagerStats();
+ retVal.setWorkItemCrTotal(cms.getCrTotal());
+ retVal.setWorkItemCrFetches(cms.getCrGets());
+ return retVal;
+ }
+
+ public void handleDownNode(INodeInfo nodeInfo) {
}
- public void downProcess(ProcessInfo processInfo) {
+ public void handleDownProcess(IProcessInfo processInfo) {
}
+
- public void preemptProcess(ProcessInfo processInfo) {
+ public void handlePreemptProcess(IProcessInfo processInfo) {
}
@@ -163,4 +179,5 @@ public class Dispatcher {
logger.debug(location, IEntityId.null_id,
mb.toString());
}
}
+
}
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/INodeInfo.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/INodeInfo.java?rev=1635767&view=auto
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/INodeInfo.java
(added)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/INodeInfo.java
Fri Oct 31 13:36:05 2014
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.uima.ducc.container.jd.mh.iface;
+
+public interface INodeInfo {
+
+}
Propchange:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/INodeInfo.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IOperatingInfo.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IOperatingInfo.java?rev=1635767&view=auto
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IOperatingInfo.java
(added)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IOperatingInfo.java
Fri Oct 31 13:36:05 2014
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.uima.ducc.container.jd.mh.iface;
+
+public interface IOperatingInfo {
+
+ public void setWorkItemCrTotal(int value);
+ public int getWorkItemCrTotal();
+
+ public void setWorkItemCrFetches(int value);
+ public int getWorkItemCrFetches();
+
+ public void setWorkItemJpSends(int value);
+ public int getWorkItemJpSends();
+
+ public void setWorkItemJpAcks(int value);
+ public int getWorkItemJpAcks();
+
+ public void setWorkItemEndSuccesses(int value);
+ public int getWorkItemEndSuccesses();
+
+ public void setWorkItemEndFailures(int value);
+ public int getWorkItemEndFailures();
+
+ public void setWorkItemUserProcessingTimeouts(int value);
+ public int getWorkItemUserProcessingTimeouts();
+
+ public void setWorkItemUserProcessingErrorRetries(int value);
+ public int getWorkItemUserProcessingErrorRetries();
+}
Propchange:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IOperatingInfo.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IProcessInfo.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IProcessInfo.java?rev=1635767&view=auto
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IProcessInfo.java
(added)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IProcessInfo.java
Fri Oct 31 13:36:05 2014
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.uima.ducc.container.jd.mh.iface;
+
+public interface IProcessInfo {
+
+}
Propchange:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IProcessInfo.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/NodeInfo.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/NodeInfo.java?rev=1635767&view=auto
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/NodeInfo.java
(added)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/NodeInfo.java
Fri Oct 31 13:36:05 2014
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.uima.ducc.container.jd.mh.impl;
+
+import org.apache.uima.ducc.container.jd.mh.iface.INodeInfo;
+
+public class NodeInfo implements INodeInfo {
+
+}
Propchange:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/NodeInfo.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/OperatingInfo.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/OperatingInfo.java?rev=1635767&view=auto
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/OperatingInfo.java
(added)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/OperatingInfo.java
Fri Oct 31 13:36:05 2014
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.uima.ducc.container.jd.mh.impl;
+
+import org.apache.uima.ducc.container.jd.mh.iface.IOperatingInfo;
+
+public class OperatingInfo implements IOperatingInfo {
+
+ private int crTotal = 0;
+ private int crFetches = 0;
+ private int jpSends = 0;
+ private int jpAcks = 0;
+ private int jpEndSuccesses = 0;
+ private int jpEndFailures = 0;
+ private int jpUserProcessingTimeouts = 0;
+ private int jpUserProcessingErrorRetries = 0;
+
+ @Override
+ public void setWorkItemCrTotal(int value) {
+ crTotal = value;
+ }
+
+ @Override
+ public int getWorkItemCrTotal() {
+ return crTotal;
+ }
+
+ @Override
+ public void setWorkItemCrFetches(int value) {
+ crFetches = value;
+ }
+
+ @Override
+ public int getWorkItemCrFetches() {
+ return crFetches;
+ }
+
+ @Override
+ public void setWorkItemJpSends(int value) {
+ jpSends = value;
+ }
+
+ @Override
+ public int getWorkItemJpSends() {
+ return jpSends;
+ }
+
+ @Override
+ public void setWorkItemJpAcks(int value) {
+ jpAcks = value;
+ }
+
+ @Override
+ public int getWorkItemJpAcks() {
+ return jpAcks;
+ }
+
+ @Override
+ public void setWorkItemEndSuccesses(int value) {
+ jpEndSuccesses = value;
+ }
+
+ @Override
+ public int getWorkItemEndSuccesses() {
+ return jpEndSuccesses;
+ }
+
+ @Override
+ public void setWorkItemEndFailures(int value) {
+ jpEndFailures = value;
+ }
+
+ @Override
+ public int getWorkItemEndFailures() {
+ return jpEndFailures;
+ }
+
+ @Override
+ public void setWorkItemUserProcessingTimeouts(int value) {
+ jpUserProcessingTimeouts = value;
+ }
+
+ @Override
+ public int getWorkItemUserProcessingTimeouts() {
+ return jpUserProcessingTimeouts;
+ }
+
+ @Override
+ public void setWorkItemUserProcessingErrorRetries(int value) {
+ jpUserProcessingErrorRetries = value;
+ }
+
+ @Override
+ public int getWorkItemUserProcessingErrorRetries() {
+ return jpUserProcessingErrorRetries;
+ }
+
+
+}
Propchange:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/OperatingInfo.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/ProcessInfo.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/ProcessInfo.java?rev=1635767&view=auto
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/ProcessInfo.java
(added)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/ProcessInfo.java
Fri Oct 31 13:36:05 2014
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.uima.ducc.container.jd.mh.impl;
+
+import org.apache.uima.ducc.container.jd.mh.iface.IProcessInfo;
+
+public class ProcessInfo implements IProcessInfo {
+
+}
Propchange:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/ProcessInfo.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestDispatcher.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestDispatcher.java?rev=1635767&r1=1635766&r2=1635767&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestDispatcher.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestDispatcher.java
Fri Oct 31 13:36:05 2014
@@ -18,13 +18,15 @@
*/
package org.apache.uima.ducc.container.jd.test;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.File;
import java.net.URL;
import org.apache.uima.ducc.container.jd.JobDriverCommon;
import org.apache.uima.ducc.container.jd.dispatch.Dispatcher;
+import org.apache.uima.ducc.container.jd.mh.iface.IOperatingInfo;
import org.apache.uima.ducc.container.jd.test.helper.ThreadInfo;
import org.apache.uima.ducc.container.jd.test.helper.ThreadInfoFactory;
import org.apache.uima.ducc.container.net.iface.IMetaCas;
@@ -168,6 +170,9 @@ public class TestDispatcher {
}
assertTrue(metaCasPrevious.getSystemKey().equals("100"));
asExpected("CASes processed count == 100");
+ IOperatingInfo oi = dispatcher.handleGetOperatingInfo();
+ assertTrue(oi.getWorkItemCrFetches() == 100);
+ asExpected("CASes fetched count == 100");
}
catch(Exception e) {
e.printStackTrace();
@@ -205,6 +210,9 @@ public class TestDispatcher {
}
assertTrue(metaCasPrevious.getSystemKey().equals("100"));
asExpected("CASes processed count == 100");
+ IOperatingInfo oi = dispatcher.handleGetOperatingInfo();
+ assertTrue(oi.getWorkItemCrFetches() == 100);
+ asExpected("CASes fetched count == 100");
}
catch(Exception e) {
e.printStackTrace();
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestSuite.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestSuite.java?rev=1635767&r1=1635766&r2=1635767&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestSuite.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestSuite.java
Fri Oct 31 13:36:05 2014
@@ -28,6 +28,7 @@ import org.apache.uima.ducc.container.jd
import org.apache.uima.ducc.container.jd.JobDriverException;
import org.apache.uima.ducc.container.jd.classload.JobDriverCollectionReader;
import org.apache.uima.ducc.container.jd.dispatch.RemoteWorkerIdentity;
+import org.apache.uima.ducc.container.jd.mh.impl.OperatingInfo;
import org.apache.uima.ducc.container.net.impl.MetaCas;
import org.junit.After;
import org.junit.AfterClass;
@@ -345,21 +346,27 @@ public class TestSuite {
String crCfg = null;
String[] jarList = jarList260;
JobDriverCasManager jdcm = new
JobDriverCasManager(jarList, crXml, crCfg);
- int total = jdcm.getTotal();
+ int total = jdcm.getCasManagerStats().getCrTotal();
assertTrue(total == 100);
MetaCas metaCas = jdcm.getMetaCas();
- int puts = 3;
+ int retrys = 3;
while(metaCas != null) {
- if(jdcm.getPuts() < puts) {
+
if(jdcm.getCasManagerStats().getRetryQueuePuts() < retrys) {
jdcm.putMetaCas(metaCas);
}
metaCas = jdcm.getMetaCas();
}
- assertTrue(jdcm.getGetsCr() == total);
- assertTrue(jdcm.getGets() == (puts+total));
- assertTrue(jdcm.getPuts() == puts);
- asExpected("puts == "+puts);
- asExpected("gets == "+(puts+total));
+ int crGets = jdcm.getCasManagerStats().getCrGets();
+ debug("crGets:"+crGets);
+ assertTrue(crGets == total);
+ int rqPuts =
jdcm.getCasManagerStats().getRetryQueuePuts();
+ debug("rqPuts:"+rqPuts);
+ int rqGets =
jdcm.getCasManagerStats().getRetryQueueGets();
+ debug("rqGets:"+rqGets);
+ assertTrue(rqPuts == retrys);
+ assertTrue(rqGets == rqPuts);
+ asExpected("puts == "+rqPuts);
+ asExpected("gets == "+rqGets);
}
catch(Exception e) {
e.printStackTrace();
@@ -396,4 +403,26 @@ public class TestSuite {
assertTrue(rwi01A.getPid() == p10);
assertTrue(rwi01A.getTid() == t20);
}
+
+ @Test
+ public void test_30() {
+ OperatingInfo oi = new OperatingInfo();
+ oi.setWorkItemCrTotal(100);
+ assertTrue(oi.getWorkItemCrTotal() == 100);
+ oi.setWorkItemCrFetches(50);
+ assertTrue(oi.getWorkItemCrFetches() == 50);
+ oi.setWorkItemEndFailures(55);
+ assertTrue(oi.getWorkItemEndFailures() == 55);
+ oi.setWorkItemEndSuccesses(60);
+ assertTrue(oi.getWorkItemEndSuccesses() == 60);
+ oi.setWorkItemJpAcks(65);
+ assertTrue(oi.getWorkItemJpAcks() == 65);
+ oi.setWorkItemJpSends(70);
+ assertTrue(oi.getWorkItemJpSends() == 70);
+ oi.setWorkItemUserProcessingErrorRetries(75);
+ assertTrue(oi.getWorkItemUserProcessingErrorRetries() == 75);
+ oi.setWorkItemUserProcessingTimeouts(80);
+ assertTrue(oi.getWorkItemUserProcessingTimeouts() == 80);
+ }
+
}