You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2014/12/11 15:20:16 UTC
svn commit: r1644649 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src:
main/java/org/apache/uima/ducc/container/common/
main/java/org/apache/uima/ducc/container/common/files/
main/java/org/apache/uima/ducc/container/common/files/json/ main/ja...
Author: degenaro
Date: Thu Dec 11 14:20:16 2014
New Revision: 1644649
URL: http://svn.apache.org/r1644649
Log:
UIMA-4069 DUCC Job Driver (JD) system classpath
support for work items tab
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/MetaCasHelper.java (with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestWiStateFile.java (with props)
Removed:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/files/IOHelper.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/files/json/
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/file/
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestJson.java
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/FlagsExtendedHelper.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/Standardize.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverHelper.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAck.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGet.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/MessageHandler.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/RemoteWorkerIdentity.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/user/jd/test/helper/TestJdContainerErrorHandlerRandomRetry.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/FlagsExtendedHelper.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/FlagsExtendedHelper.java?rev=1644649&r1=1644648&r2=1644649&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/FlagsExtendedHelper.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/FlagsExtendedHelper.java Thu Dec 11 14:20:16 2014
@@ -18,6 +18,8 @@
*/
package org.apache.uima.ducc.container.common;
+import java.io.File;
+
import org.apache.uima.ducc.common.container.FlagsHelper;
import org.apache.uima.ducc.container.common.logger.IComponent;
import org.apache.uima.ducc.container.common.logger.ILogger;
@@ -53,4 +55,20 @@ public class FlagsExtendedHelper extends
return retVal;
}
+ public String getLogDirectory() {
+ StringBuffer sb = new StringBuffer();
+ String jobDirectory = getJobDirectory();
+ if(jobDirectory != null) {
+ sb.append(jobDirectory);
+ if(!jobDirectory.endsWith(File.separator)) {
+ sb.append(File.separator);
+ }
+ }
+ String jobId = getJobId();
+ if(jobId != null) {
+ sb.append(jobId);
+ sb.append(File.separator);
+ }
+ return sb.toString();
+ }
}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/MetaCasHelper.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/MetaCasHelper.java?rev=1644649&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/MetaCasHelper.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/MetaCasHelper.java Thu Dec 11 14:20:16 2014
@@ -0,0 +1,45 @@
+/*
+ * 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.common;
+
+import org.apache.uima.ducc.container.net.iface.IMetaCas;
+
+public class MetaCasHelper {
+
+ private IMetaCas metaCas = null;
+
+ public MetaCasHelper(IMetaCas metaCas) {
+ setMetaCas(metaCas);
+ }
+
+ private void setMetaCas(IMetaCas value) {
+ metaCas = value;
+ }
+
+ public int getSystemKey() {
+ int retVal = -1;
+ try {
+ retVal = Integer.parseInt(metaCas.getSystemKey());
+ }
+ catch(Exception e) {
+ e.printStackTrace();
+ }
+ return retVal;
+ }
+}
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/MetaCasHelper.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/Standardize.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/Standardize.java?rev=1644649&r1=1644648&r2=1644649&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/Standardize.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/Standardize.java Thu Dec 11 14:20:16 2014
@@ -21,6 +21,9 @@ package org.apache.uima.ducc.container.c
public class Standardize {
public enum Label {
+ isKillJob,
+ isKillProcess,
+ isKillWorkItem,
current,
request,
result,
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java?rev=1644649&r1=1644648&r2=1644649&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java Thu Dec 11 14:20:16 2014
@@ -20,6 +20,8 @@ package org.apache.uima.ducc.container.j
import java.util.concurrent.ConcurrentHashMap;
+import org.apache.uima.ducc.common.jd.files.workitem.IWorkItemStateKeeper;
+import org.apache.uima.ducc.common.jd.files.workitem.WorkItemStateKeeper;
import org.apache.uima.ducc.container.common.FlagsExtendedHelper;
import org.apache.uima.ducc.container.common.MessageBuffer;
import org.apache.uima.ducc.container.common.Standardize;
@@ -68,6 +70,8 @@ public class JobDriver {
private IMessageHandler mh = null; // new MessageHandler();
private DdManager ddManager = null;
+ private IWorkItemStateKeeper wisk = null;
+
private JdState jdState = null;
private JobDriver() throws JobDriverException {
@@ -82,6 +86,7 @@ public class JobDriver {
jobId = feh.getJobId();
map = new ConcurrentHashMap<IRemoteWorkerIdentity, IWorkItem>();
wis = new WorkItemStatistics();
+ wisk = new WorkItemStateKeeper(IComponent.Id.JD.name(), feh.getLogDirectory());
cm = new CasManager();
pjdeh = new ProxyJobDriverErrorHandler();
ddManager = new DdManager();
@@ -121,6 +126,10 @@ public class JobDriver {
return ddManager;
}
+ public IWorkItemStateKeeper getWorkItemStateKeeper() {
+ return wisk;
+ }
+
public JdState getJdState() {
synchronized(jdState) {
return jdState;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverHelper.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverHelper.java?rev=1644649&r1=1644648&r2=1644649&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverHelper.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverHelper.java Thu Dec 11 14:20:16 2014
@@ -42,8 +42,8 @@ public class JobDriverHelper {
return instance;
}
- public ArrayList<IWorkItemInfo> getActiveWotrkItemInfo() {
- String location = "getActiveWotrkItemInfo";
+ public ArrayList<IWorkItemInfo> getActiveWorkItemInfo() {
+ String location = "getActiveWorkItemInfo";
ArrayList<IWorkItemInfo> list = new ArrayList<IWorkItemInfo>();
JobDriver jd = JobDriver.getInstance();
ConcurrentHashMap<IRemoteWorkerIdentity, IWorkItem> map = jd.getMap();
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAck.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAck.java?rev=1644649&r1=1644648&r2=1644649&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAck.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAck.java Thu Dec 11 14:20:16 2014
@@ -18,7 +18,9 @@
*/
package org.apache.uima.ducc.container.jd.fsm.wi;
+import org.apache.uima.ducc.common.jd.files.workitem.IWorkItemStateKeeper;
import org.apache.uima.ducc.container.common.MessageBuffer;
+import org.apache.uima.ducc.container.common.MetaCasHelper;
import org.apache.uima.ducc.container.common.Standardize;
import org.apache.uima.ducc.container.common.fsm.iface.IAction;
import org.apache.uima.ducc.container.common.logger.IComponent;
@@ -52,7 +54,15 @@ public class ActionAck implements IActio
//
IMetaCas metaCas = wi.getMetaCas();
//
+ JobDriver jd = JobDriver.getInstance();
+ IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
+ MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
+ //
if(metaCas != null) {
+ //
+ int seqNo = metaCasHelper.getSystemKey();
+ wisk.operating(seqNo);
+ //
wi.setTodAck();
MessageBuffer mb = new MessageBuffer();
mb.append(Standardize.Label.transNo.get()+trans.getTransactionId().toString());
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java?rev=1644649&r1=1644648&r2=1644649&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java Thu Dec 11 14:20:16 2014
@@ -18,13 +18,16 @@
*/
package org.apache.uima.ducc.container.jd.fsm.wi;
+import org.apache.uima.ducc.common.jd.files.workitem.IWorkItemStateKeeper;
import org.apache.uima.ducc.container.common.MessageBuffer;
+import org.apache.uima.ducc.container.common.MetaCasHelper;
import org.apache.uima.ducc.container.common.Standardize;
import org.apache.uima.ducc.container.common.fsm.iface.IAction;
import org.apache.uima.ducc.container.common.logger.IComponent;
import org.apache.uima.ducc.container.common.logger.ILogger;
import org.apache.uima.ducc.container.common.logger.Logger;
import org.apache.uima.ducc.container.jd.JobDriver;
+import org.apache.uima.ducc.container.jd.JobDriverException;
import org.apache.uima.ducc.container.jd.cas.CasManager;
import org.apache.uima.ducc.container.jd.cas.CasManagerStats.RetryReason;
import org.apache.uima.ducc.container.jd.classload.ProxyJobDriverDirective;
@@ -105,6 +108,50 @@ public class ActionEnd implements IActio
}
}
+ private void handleException(IActionData actionData) throws JobDriverException {
+ String location = "handleException";
+ IWorkItem wi = actionData.getWorkItem();
+ IMetaCasTransaction trans = actionData.getMetaCasTransaction();
+ IRemoteWorkerIdentity rwi = new RemoteWorkerIdentity(trans);
+ IMetaCas metaCas = wi.getMetaCas();
+ JobDriver jd = JobDriver.getInstance();
+ CasManager cm = jd.getCasManager();
+ //
+ IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
+ MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
+ //
+ int seqNo = metaCasHelper.getSystemKey();
+ Object exception = metaCas.getUserSpaceException();
+ //
+ Object cas = metaCas.getUserSpaceCas();
+ ProxyJobDriverErrorHandler pjdeh = jd.getProxyJobDriverErrorHandler();
+ ProxyJobDriverDirective pjdd = pjdeh.handle(cas, exception);
+ if(pjdd != null) {
+ MessageBuffer mb = new MessageBuffer();
+ mb.append(Standardize.Label.isKillJob.get()+pjdd.isKillJob());
+ mb.append(Standardize.Label.isKillProcess.get()+pjdd.isKillProcess());
+ mb.append(Standardize.Label.isKillWorkItem.get()+pjdd.isKillWorkItem());
+ logger.info(location, ILogger.null_id, mb.toString());
+ if(pjdd.isKillJob()) {
+ wisk.error(seqNo);
+ killWorkItem(cm, wi, trans, metaCas, rwi);
+ killJob(cm, wi, trans, metaCas, rwi);
+ }
+ else if(pjdd.isKillWorkItem()) {
+ wisk.error(seqNo);
+ killWorkItem(cm, wi, trans, metaCas, rwi);
+ }
+ else {
+ wisk.retry(seqNo);
+ retryWorkItem(cm, wi, trans, metaCas, rwi);
+ }
+ }
+ else {
+ wisk.error(seqNo);
+ killWorkItem(cm, wi, trans, metaCas, rwi);
+ }
+ }
+
@Override
public void engage(Object objectData) {
String location = "engage";
@@ -118,33 +165,23 @@ public class ActionEnd implements IActio
JobDriver jd = JobDriver.getInstance();
CasManager cm = jd.getCasManager();
//
+ IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
+ MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
+ //
if(metaCas != null) {
+ int seqNo = metaCasHelper.getSystemKey();
Object exception = metaCas.getUserSpaceException();
if(exception != null) {
- Object cas = metaCas.getUserSpaceCas();
- ProxyJobDriverErrorHandler pjdeh = jd.getProxyJobDriverErrorHandler();
- ProxyJobDriverDirective pjdd = pjdeh.handle(cas, exception);
- if(pjdd != null) {
- if(pjdd.isKillJob()) {
- killJob(cm, wi, trans, metaCas, rwi);
- }
- if(pjdd.isKillWorkItem()) {
- killWorkItem(cm, wi, trans, metaCas, rwi);
- }
- else {
- retryWorkItem(cm, wi, trans, metaCas, rwi);
- }
- }
- else {
- killWorkItem(cm, wi, trans, metaCas, rwi);
- }
+ handleException(actionData);
}
else {
+ wisk.ended(seqNo);
successWorkItem(cm, wi, trans, metaCas, rwi);
}
wi.resetTods();
}
- else {MessageBuffer mb = new MessageBuffer();
+ else {
+ MessageBuffer mb = new MessageBuffer();
mb.append("No CAS found for processing");
logger.info(location, ILogger.null_id, mb.toString());
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGet.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGet.java?rev=1644649&r1=1644648&r2=1644649&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGet.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGet.java Thu Dec 11 14:20:16 2014
@@ -18,7 +18,9 @@
*/
package org.apache.uima.ducc.container.jd.fsm.wi;
+import org.apache.uima.ducc.common.jd.files.workitem.IWorkItemStateKeeper;
import org.apache.uima.ducc.container.common.MessageBuffer;
+import org.apache.uima.ducc.container.common.MetaCasHelper;
import org.apache.uima.ducc.container.common.Standardize;
import org.apache.uima.ducc.container.common.fsm.iface.IAction;
import org.apache.uima.ducc.container.common.fsm.iface.IEvent;
@@ -60,10 +62,20 @@ public class ActionGet implements IActio
CasManager cm = jd.getCasManager();
IMetaCas metaCas = cm.getMetaCas();
trans.setMetaCas(metaCas);
+ IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
+ MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
//
IEvent event = null;
//
if(metaCas != null) {
+ int seqNo = metaCasHelper.getSystemKey();
+ String wiId = metaCas.getUserKey();
+ String node = rwi.getNodeAddress();
+ String pid = ""+rwi.getPid();
+ String tid = ""+rwi.getTid();
+ wisk.start(seqNo, wiId, node, pid, tid);
+ wisk.queued(seqNo);
+ //
wi.resetTods();
wi.setTodGet();
event = WiFsm.CAS_Available;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/MessageHandler.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/MessageHandler.java?rev=1644649&r1=1644648&r2=1644649&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/MessageHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/MessageHandler.java Thu Dec 11 14:20:16 2014
@@ -104,7 +104,7 @@ public class MessageHandler implements I
oi.setWorkItemRunningMillisMin(rwis.getMillisMin());
oi.setWorkItemRunningMillisMax(rwis.getMillisMax());
oi.setWorkItemTodMostRecentStart(rwis.getTodMostRecentStart());
- oi.setActiveWorkItemInfo(jdh.getActiveWotrkItemInfo());
+ oi.setActiveWorkItemInfo(jdh.getActiveWorkItemInfo());
oi.setJdState(jd.getJdState().name());
MessageBuffer mb = new MessageBuffer();
mb.append(Standardize.Label.jdState.get()+oi.getJdState());
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/RemoteWorkerIdentity.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/RemoteWorkerIdentity.java?rev=1644649&r1=1644648&r2=1644649&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/RemoteWorkerIdentity.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/RemoteWorkerIdentity.java Thu Dec 11 14:20:16 2014
@@ -46,7 +46,7 @@ public class RemoteWorkerIdentity implem
public RemoteWorkerIdentity(String nodeName, String nodeAddress, int pid, int tid) {
setNodeName(nodeName);
- setNodeAddress(nodeName);
+ setNodeAddress(nodeAddress);
setPid(pid);
setTid(tid);
}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestWiStateFile.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/TestWiStateFile.java?rev=1644649&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestWiStateFile.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestWiStateFile.java Thu Dec 11 14:20:16 2014
@@ -0,0 +1,117 @@
+
+/*
+ * 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.test;
+
+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.common.jd.files.workitem.IWorkItemStateKeeper;
+import org.apache.uima.ducc.common.jd.files.workitem.IWorkItemStateReader;
+import org.apache.uima.ducc.common.jd.files.workitem.WorkItemStateKeeper;
+import org.apache.uima.ducc.common.jd.files.workitem.WorkItemStateReader;
+import org.junit.Test;
+
+public class TestWiStateFile extends ATest {
+
+ private void delete(File directory) {
+ try {
+ for(File file : directory.listFiles()) {
+ debug("delete: "+file.getName());
+ file.delete();
+ }
+ debug("delete: "+directory.getName());
+ directory.delete();
+ }
+ catch(Exception e) {
+ //e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void test_01() {
+ if(isDisabled(this.getClass().getName())) {
+ return;
+ }
+ try {
+ URL url = this.getClass().getResource("/");
+ File root = new File(url.getFile());
+ String name = root.getAbsolutePath();
+ debug(name);
+ assertTrue(root.isDirectory());
+ String nameWorking = name+File.separator+"working";
+ File working = new File(nameWorking);
+ delete(working);
+ working.mkdir();
+ String component = "JD.test";
+ String directory = working.getAbsolutePath();
+ debug(directory);
+ IWorkItemStateKeeper wisk = new WorkItemStateKeeper(component, directory);
+ //
+ // int seqNo, String wiId, String node, String pid, String tid
+ //
+ wisk.start(0, "u.0", "n.0", "p.0", "t.0");
+ //
+ wisk.start(1, "u.1", "n.1", "p.1", "t.1");
+ wisk.queued(1);
+ //
+ wisk.start(2, "u.2", "n.2", "p.2", "t.2");
+ wisk.queued(2);
+ wisk.operating(2);
+ //
+ wisk.start(3, "u.3", "n.3", "p.3", "t.3");
+ wisk.queued(3);
+ wisk.operating(3);
+ wisk.ended(3);
+ //
+ wisk.start(4, "u.4", "n.4", "p.4", "t.4");
+ wisk.queued(4);
+ wisk.operating(4);
+ wisk.error(4);
+ //
+ wisk.start(5, "u.5", "n.5", "p.5", "t.5");
+ wisk.queued(5);
+ wisk.operating(5);
+ wisk.retry(5);
+ //
+ String user = "self";
+ long version = 1;
+ IWorkItemStateReader wisr = new WorkItemStateReader(component, directory, user, version);
+ int size = wisr.getMap().size();
+ debug("size="+size);
+ assertTrue(size > 0);
+ //
+ wisk.zip();
+ //
+ wisr = new WorkItemStateReader(component, directory, user, version);
+ size = wisr.getMap().size();
+ assertTrue(size > 0);
+ //
+ delete(working);
+ }
+ catch(Exception e) {
+ e.printStackTrace();
+ fail("Exception");
+ }
+ }
+
+}
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestWiStateFile.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/user/jd/test/helper/TestJdContainerErrorHandlerRandomRetry.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/user/jd/test/helper/TestJdContainerErrorHandlerRandomRetry.java?rev=1644649&r1=1644648&r2=1644649&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/user/jd/test/helper/TestJdContainerErrorHandlerRandomRetry.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/user/jd/test/helper/TestJdContainerErrorHandlerRandomRetry.java Thu Dec 11 14:20:16 2014
@@ -31,12 +31,13 @@ public class TestJdContainerErrorHandler
@Override
public IJdUserDirective handle(String serializedCAS, Exception e) {
JdUserDirective jdUserDirective = new JdUserDirective();
- jdUserDirective.setKillJob();
- jdUserDirective.setKillProcess();
+ jdUserDirective.resetKillJob();
+ jdUserDirective.resetKillProcess();
jdUserDirective.resetKillWorkItem();
if(random.nextBoolean()) {
jdUserDirective.setKillWorkItem();
}
+ System.out.println("killWorkItem="+jdUserDirective.isKillWorkItem());
return jdUserDirective;
}