svn commit: r1839370 - /uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java

2018-08-27 Thread degenaro
Author: degenaro
Date: Mon Aug 27 19:41:02 2018
New Revision: 1839370

URL: http://svn.apache.org/viewvc?rev=1839370=rev
Log:
UIMA-5860 DUCC Orchestrator (OR) NullPointerException (NPE)

Modified:

uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java

Modified: 
uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java?rev=1839370=1839369=1839370=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java
 Mon Aug 27 19:41:02 2018
@@ -657,6 +657,7 @@ implements Orchestrator {
IDuccProcess process = duccEvent.getProcess();
DuccId processDuccId = getProcessDuccId(duccEvent);
logger.debug(location, processDuccId, "process");
+   DuccId dwId = 
OrchestratorCommonArea.getInstance().getProcessAccounting().getJobId(processDuccId);
if(process == null) {
sb.append("process:"+process+" ");
sb.append("node:"+node+" ");
@@ -688,9 +689,16 @@ implements Orchestrator {
sb.append("processType:"+processType+" ");
logger.error(location, jobid, sb.toString());
}
+   else if(dwId == null) {
+   sb.append("id:"+id+" ");
+   sb.append("node:"+node+" ");
+   sb.append("lifefcycleEvent:"+lifecycleEvent.name()+" ");
+   sb.append("processType:"+processType+" ");
+   sb.append("dwId:"+dwId+" ");
+   logger.error(location, jobid, sb.toString());
+   }
else {
DuccWorkMap workMap = 
orchestratorCommonArea.getWorkMap();
-   DuccId dwId = 
OrchestratorCommonArea.getInstance().getProcessAccounting().getJobId(processDuccId);
IDuccWork dw = workMap.findDuccWork(dwId);
DuccType dwType = dw.getDuccType();
sb.append("dwId:"+dwId+" ");




svn commit: r1839320 [1/2] - in /uima/uima-ducc/trunk: uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/ uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/config/ uima-ducc-agent/src/ma

2018-08-27 Thread cwiklik
Author: cwiklik
Date: Mon Aug 27 13:31:17 2018
New Revision: 1839320

URL: http://svn.apache.org/viewvc?rev=1839320=rev
Log:
UIMA-5814 add support for agent quiesce and stop

Added:

uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventQuiesceAndStop.java

uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventStop.java

uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/TargetableDuccAdminEvent.java
Modified:

uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java

uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/config/AgentConfiguration.java

uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java

uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java

uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java

uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/ManagedProcess.java

uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventStopMetrics.java

uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/AbstractDuccComponent.java

uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccAdmin.java

uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/PullService.java

uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/ServiceWrapper.java

uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/processor/uima/UimaAsServiceProcessor.java

uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultServiceProtocolHandler.java

uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/IServiceTransport.java

uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/http/HttpServiceTransport.java

uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/utils/Utils.java

uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IProcessState.java

Modified: 
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java?rev=1839320=1839319=1839320=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
 Mon Aug 27 13:31:17 2018
@@ -31,11 +31,16 @@ import java.io.ObjectOutputStream;
 import java.net.InetAddress;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
+import java.util.Timer;
+import java.util.TimerTask;
 import java.util.TreeMap;
+import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -60,6 +65,8 @@ import org.apache.uima.ducc.agent.metric
 import org.apache.uima.ducc.common.Node;
 import org.apache.uima.ducc.common.NodeIdentity;
 import org.apache.uima.ducc.common.admin.event.DuccAdminEvent;
+import org.apache.uima.ducc.common.admin.event.DuccAdminEventQuiesceAndStop;
+import org.apache.uima.ducc.common.admin.event.DuccAdminEventStop;
 import org.apache.uima.ducc.common.admin.event.DuccAdminEventStopMetrics;
 import org.apache.uima.ducc.common.boot.DuccDaemonRuntimeProperties;
 import org.apache.uima.ducc.common.component.AbstractDuccComponent;
@@ -113,7 +120,7 @@ public class NodeAgent extends AbstractD
   public static String cgroupFailureReason;
   // Map of known processes this agent is managing. This map is published
   // at regular intervals as part of agent's inventory update.
-  private Map inventory = new HashMap();
+  private HashMap inventory = new HashMap();
 
   // Semaphore controlling access to inventory Map
   private Semaphore inventorySemaphore = new Semaphore(1);
@@ -305,7 +312,7 @@ public class NodeAgent extends AbstractD
   /*
* Remove ManagedProcess from map and send lifecycle event
*/
-  private void processUndeploy(ManagedProcess mp) {
+  private void processUndeploy(ManagedProcess mp, 

svn commit: r1839320 [2/2] - in /uima/uima-ducc/trunk: uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/ uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/config/ uima-ducc-agent/src/ma

2018-08-27 Thread cwiklik
Modified: 
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultServiceProtocolHandler.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultServiceProtocolHandler.java?rev=1839320=1839319=1839320=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultServiceProtocolHandler.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultServiceProtocolHandler.java
 Mon Aug 27 13:31:17 2018
@@ -43,6 +43,7 @@ import org.apache.uima.ducc.ps.service.p
 import org.apache.uima.ducc.ps.service.transport.IServiceTransport;
 import org.apache.uima.ducc.ps.service.transport.TransportException;
 import org.apache.uima.ducc.ps.service.transport.XStreamUtils;
+import org.apache.uima.ducc.ps.service.utils.Utils;
 import org.apache.uima.util.Level;
 import org.apache.uima.util.Logger;
 
@@ -291,10 +292,12 @@ public class DefaultServiceProtocolHandl
break;
}
catch (Exception e) {
+   
logger.log(Level.WARNING,"",e);
}   
}
stopLatch.countDown();
+   System.out.println(Utils.getTimestamp()+">>> 
"+Utils.getShortClassname(this.getClass())+".call() >> Thread 
["+Thread.currentThread().getId()+"] "+ " ProtocolHandler stopped requesting 
new tasks - Stopping processor");
logger.log(Level.INFO,"ProtocolHandler stopped requesting new 
tasks - Stopping processor");
 
if ( processor != null ) {
@@ -334,15 +337,23 @@ public class DefaultServiceProtocolHandl
}
@Override
public void quiesceAndStop() {
+   // Use System.out since the logger's ShutdownHook may have 
closed streams
+   System.out.println(Utils.getTimestamp()+">>> 
"+Utils.getShortClassname(this.getClass())+".queisceAndStop()");
+   logger.log(Level.INFO, this.getClass().getName()+" 
quiesceAndStop() called");
+   // change state of transport to not running but keep connection 
open
+   // so that other threads can quiesce (send results)
+   transport.stop(true);
+   
quiescing = true;
running = false;
-   logger.log(Level.INFO, this.getClass().getName()+" 
quiesceAndStop() called");
try {
// wait for process threads to terminate
stopLatch.await();
} catch( Exception e ) {
 
}
+   // Use System.out since the logger's ShutdownHook may have 
closed streams
+   System.out.println(Utils.getTimestamp()+">>> 
"+Utils.getShortClassname(this.getClass())+".queisceAndStop() All process 
threads completed quiesce");
logger.log(Level.INFO, this.getClass().getName()+" All process 
threads completed quiesce");
}
@Override

Modified: 
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/IServiceTransport.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/IServiceTransport.java?rev=1839320=1839319=1839320=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/IServiceTransport.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/IServiceTransport.java
 Mon Aug 27 13:31:17 2018
@@ -29,6 +29,6 @@ public interface IServiceTransport exten
// initialize transport
public void initialize() throws ServiceInitializationException; 
// stop transport
-   public void stop(); 
+   public void stop(boolean quiesce); 
public void addRequestorInfo(IMetaTaskTransaction transaction);
 }

Modified: 
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/http/HttpServiceTransport.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/http/HttpServiceTransport.java?rev=1839320=1839319=1839320=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/http/HttpServiceTransport.java
 (original)
+++ 

svn commit: r1839321 - /uima/uima-ducc/trunk/uima-ducc-pullservice/src/test/java/org/apache/uima/ducc/ps/transport/JunitProtocolHandlerTestCase.java

2018-08-27 Thread cwiklik
Author: cwiklik
Date: Mon Aug 27 13:33:58 2018
New Revision: 1839321

URL: http://svn.apache.org/viewvc?rev=1839321=rev
Log:
UIMA-5814 added support for agent quiesce and stop

Modified:

uima/uima-ducc/trunk/uima-ducc-pullservice/src/test/java/org/apache/uima/ducc/ps/transport/JunitProtocolHandlerTestCase.java

Modified: 
uima/uima-ducc/trunk/uima-ducc-pullservice/src/test/java/org/apache/uima/ducc/ps/transport/JunitProtocolHandlerTestCase.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/test/java/org/apache/uima/ducc/ps/transport/JunitProtocolHandlerTestCase.java?rev=1839321=1839320=1839321=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-pullservice/src/test/java/org/apache/uima/ducc/ps/transport/JunitProtocolHandlerTestCase.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-pullservice/src/test/java/org/apache/uima/ducc/ps/transport/JunitProtocolHandlerTestCase.java
 Mon Aug 27 13:33:58 2018
@@ -122,14 +122,14 @@ public class JunitProtocolHandlerTestCas
public void stop() {
threadPool.shutdown();
protocolHandler.stop();
-   transport.stop();
+   transport.stop(false);
processor.stop();
}
@Override
public void quiesceAndStop() {
protocolHandler.quiesceAndStop();
threadPool.shutdown();
-   transport.stop();
+   transport.stop(true);
processor.stop();
}
@Override




svn commit: r1839329 - /uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerHttpRequestFilter.java

2018-08-27 Thread degenaro
Author: degenaro
Date: Mon Aug 27 14:03:40 2018
New Revision: 1839329

URL: http://svn.apache.org/viewvc?rev=1839329=rev
Log:
UIMA-5855 DUCC Web Server (WS) http -> https redirect does not include query 
string

Modified:

uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerHttpRequestFilter.java

Modified: 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerHttpRequestFilter.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerHttpRequestFilter.java?rev=1839329=1839328=1839329=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerHttpRequestFilter.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerHttpRequestFilter.java
 Mon Aug 27 14:03:40 2018
@@ -22,6 +22,7 @@ import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
+import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicLong;
@@ -278,6 +279,11 @@ public class DuccHandlerHttpRequestFilte
String reqUri = request.getRequestURI();
if(isRestrictedUri(reqUri)) {
String url = 
request.getRequestURL().toString();
+   String encodedQS = 
request.getQueryString();
+   if(encodedQS != null) {
+   String qs = 
URLDecoder.decode(encodedQS, "UTF-8");
+   url = url+"?"+qs;
+   }
String portHttps = 
""+ConfigValue.PortHttps.getInt(DuccPropertiesResolver.get(DuccPropertiesResolver.ducc_ws_port_ssl));
String portHttp = 
""+ConfigValue.PortHttp.getInt(DuccPropertiesResolver.get(DuccPropertiesResolver.ducc_ws_port));
String s1Before = "http"+":";




svn commit: r1839326 - in /uima/uima-ducc/trunk: uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java uima-ducc-common/src/main/java/org/apache/uima/duc

2018-08-27 Thread cwiklik
Author: cwiklik
Date: Mon Aug 27 13:41:44 2018
New Revision: 1839326

URL: http://svn.apache.org/viewvc?rev=1839326=rev
Log:
UIMA-5858 publish agent state in node metrics

Modified:

uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java

uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/node/metrics/NodeMetrics.java

Modified: 
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java?rev=1839326=1839325=1839326=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java
 Mon Aug 27 13:41:44 2018
@@ -80,7 +80,9 @@ public class DefaultNodeMetricsProcessor
NodeMetrics nodeMetrics = 
new NodeMetrics(agent.getIdentity(), nmiFuture.get(), 
loadFuture.get(), 
cpuInfo, nuiFuture.get(), cpuReportingEnabled);
-
+   if ( agent.isStopping()) {
+   nodeMetrics.disableNode();  // sends Unavailable status to 
clients (RM,WS)
+   }
//Node node = new DuccNode(new NodeIdentity(), nodeMetrics);
// jrc 2011-07-30 I think this needs to be agent.getIdentity(), not 
create a new identity.
Node node = new DuccNode(agent.getIdentity(), nodeMetrics, 
agent.useCgroups);

Modified: 
uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/node/metrics/NodeMetrics.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/node/metrics/NodeMetrics.java?rev=1839326=1839325=1839326=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/node/metrics/NodeMetrics.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/node/metrics/NodeMetrics.java
 Mon Aug 27 13:41:44 2018
@@ -26,6 +26,8 @@ import org.apache.uima.ducc.common.agent
 
 
 public class NodeMetrics implements Serializable {
+  public enum NodeStatus {Available, UnAvailable};
+  
   private static final long serialVersionUID = 4646364817769237774L;
   private NodeLoadAverage nodeLoadAverage;
   private NodeMemory nodeMemory;
@@ -33,6 +35,7 @@ public class NodeMetrics implements Seri
   private NodeIdentity nodeIdentity;
   TreeMap nodeUsersMap;
   private boolean cpuReportingEnabled = false;
+  private NodeStatus nodeStatus = NodeStatus.Available;
   
   public NodeMetrics(NodeIdentity nodeIdentity, NodeMemory nodeMemory, 
NodeLoadAverage nodeLoadAverage , NodeCpuInfo nodeCpu, 
TreeMap userProcessMap, boolean cpuReportingEnabled) {
 this.nodeIdentity = nodeIdentity;
@@ -49,6 +52,12 @@ public class NodeMetrics implements Seri
   public boolean isCpuReportingEnabled() {
  return cpuReportingEnabled;
   }
+  public NodeStatus getNodeStatus() {
+ return nodeStatus;
+  }
+  public void disableNode() {
+ nodeStatus = NodeStatus.UnAvailable;
+  }
public NodeIdentity getNodeIdentity() {
  return nodeIdentity;
   }




svn commit: r1839334 - in /uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws: server/nodeviz/VisualizedHost.java utils/BasicsHelper.java

2018-08-27 Thread degenaro
Author: degenaro
Date: Mon Aug 27 14:19:48 2018
New Revision: 1839334

URL: http://svn.apache.org/viewvc?rev=1839334=rev
Log:
UIMA-5857 DUCC Web Server (WS) NumberFormatException

Added:

uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/utils/BasicsHelper.java
   (with props)
Modified:

uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/VisualizedHost.java

Modified: 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/VisualizedHost.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/VisualizedHost.java?rev=1839334=1839333=1839334=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/VisualizedHost.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/VisualizedHost.java
 Mon Aug 27 14:19:48 2018
@@ -27,6 +27,7 @@ import java.util.List;
 import org.apache.uima.ducc.common.utils.DuccLogger;
 import org.apache.uima.ducc.transport.event.common.IDuccTypes.DuccType;
 import org.apache.uima.ducc.ws.MachineInfo;
+import org.apache.uima.ducc.ws.utils.BasicsHelper;
 
 class VisualizedHost
 {
@@ -53,8 +54,8 @@ class VisualizedHost
 this.quantum = quantum;
 this.name = NodeViz.strip(info.getName());
 this.ip = info.getIp();
-this.mem_total = Integer.parseInt(info.getMemTotal());
-this.mem_reserve = Integer.parseInt(info.getMemReserve());
+this.mem_total = BasicsHelper.safeString2Int(info.getMemTotal());
+this.mem_reserve = BasicsHelper.safeString2Int(info.getMemReserve());
 this.shares_reserve = (mem_reserve / quantum);
 this.shares_free = shares_reserve;
 }

Added: 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/utils/BasicsHelper.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/utils/BasicsHelper.java?rev=1839334=auto
==
--- 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/utils/BasicsHelper.java
 (added)
+++ 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/utils/BasicsHelper.java
 Mon Aug 27 14:19:48 2018
@@ -0,0 +1,44 @@
+/*
+ * 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.ws.utils;
+
+import org.apache.uima.ducc.common.utils.DuccLogger;
+import org.apache.uima.ducc.common.utils.id.DuccId;
+
+public class BasicsHelper {
+
+   private static DuccLogger logger = 
DuccLogger.getLogger(BasicsHelper.class);
+   private static DuccId jobid = null;
+   
+   public static int safeString2Int(String value) {
+   return safeString2Int(value,0);
+   }
+   
+   public static int safeString2Int(String value, int defaultValue) {
+   String location = "safeString2Int";
+   int retVal = defaultValue;
+   try {
+   retVal = Integer.parseInt(value);
+   }
+   catch(Exception e) {
+   logger.debug(location, jobid, e);
+   }
+   return retVal;
+   }
+}

Propchange: 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/utils/BasicsHelper.java
--
svn:eol-style = native




svn commit: r1839336 - in /uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server: DuccHandlerClassic.java DuccHandlerJsonFormat.java

2018-08-27 Thread degenaro
Author: degenaro
Date: Mon Aug 27 14:48:53 2018
New Revision: 1839336

URL: http://svn.apache.org/viewvc?rev=1839336=rev
Log:
UIMA-5859 DUCC Web Server (WS) java.lang.NullPointerException

Modified:

uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java

uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java

Modified: 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java?rev=1839336=1839335=1839336=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
 Mon Aug 27 14:48:53 2018
@@ -2161,7 +2161,11 @@ public class DuccHandlerClassic extends

Map> topicAttributes = 
brokerHelper.getEntityAttributes();

-   if(topicAttributes.size() > 0) {
+   int taSize = 0;
+   if(topicAttributes != null) {
+   taSize = topicAttributes.size();
+   }
+   if(taSize > 0) {
for(Entry> entry : 
topicAttributes.entrySet()) {
String topic = entry.getKey();
String attrValue;

Modified: 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java?rev=1839336=1839335=1839336=diff
==
--- 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
 Mon Aug 27 14:48:53 2018
@@ -2089,7 +2089,11 @@ public class DuccHandlerJsonFormat exten
 
Map> topicAttributes = 
brokerHelper.getEntityAttributes();

-   if(topicAttributes.size() > 0) {
+   int taSize = 0;
+   if(topicAttributes != null) {
+   taSize = topicAttributes.size();
+   }
+   if(taSize > 0) {
for(Entry> entry : 
topicAttributes.entrySet()) {
String topic = entry.getKey();
String attrValue;