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);
+       }
+
 }


Reply via email to