Author: burn
Date: Thu May 19 15:17:40 2016
New Revision: 1744595
URL: http://svn.apache.org/viewvc?rev=1744595&view=rev
Log:
UIMA-4922 Improve error msg when the classes or nodes files are misconfigured
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationSubmit.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationSubmit.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java?rev=1744595&r1=1744594&r2=1744595&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java
Thu May 19 15:17:40 2016
@@ -23,6 +23,7 @@ import java.util.Properties;
import org.apache.uima.ducc.cli.aio.AllInOneLauncher;
import org.apache.uima.ducc.common.utils.DuccSchedulerClasses;
+import org.apache.uima.ducc.common.utils.IllegalConfigurationException;
import org.apache.uima.ducc.transport.event.IDuccContext.DuccContext;
import org.apache.uima.ducc.transport.event.SubmitJobDuccEvent;
import org.apache.uima.ducc.transport.event.SubmitJobReplyDuccEvent;
@@ -184,15 +185,19 @@ public class DuccJobSubmit
String scheduling_class = null;
String user_scheduling_class = null;
String pname = UiOption.SchedulingClass.pname();
- DuccSchedulerClasses duccSchedulerClasses =
DuccSchedulerClasses.getInstance();
- if (props.containsKey(pname)) {
- user_scheduling_class = props.getProperty(pname);
- if (duccSchedulerClasses.isPreemptable(user_scheduling_class)) {
- scheduling_class =
duccSchedulerClasses.getDebugClassSpecificName(user_scheduling_class);
- }
- } else {
- scheduling_class =
duccSchedulerClasses.getDebugClassDefaultName();
- }
+ try {
+ DuccSchedulerClasses duccSchedulerClasses =
DuccSchedulerClasses.getInstance();
+ if (props.containsKey(pname)) {
+ user_scheduling_class = props.getProperty(pname);
+ if (duccSchedulerClasses.isPreemptable(user_scheduling_class))
{
+ scheduling_class =
duccSchedulerClasses.getDebugClassSpecificName(user_scheduling_class);
+ }
+ } else {
+ scheduling_class =
duccSchedulerClasses.getDebugClassDefaultName();
+ }
+ } catch (Exception e) {
+ throw new IllegalConfigurationException("Error in DUCC
configuration files - administrator error: " + e);
+ }
if (scheduling_class != null) {
props.setProperty(pname, scheduling_class);
String text = pname+"="+scheduling_class+" -- was
"+user_scheduling_class;
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationSubmit.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationSubmit.java?rev=1744595&r1=1744594&r2=1744595&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationSubmit.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationSubmit.java
Thu May 19 15:17:40 2016
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.Properties;
import org.apache.uima.ducc.common.utils.DuccSchedulerClasses;
+import org.apache.uima.ducc.common.utils.IllegalConfigurationException;
import org.apache.uima.ducc.transport.event.IDuccContext.DuccContext;
import org.apache.uima.ducc.transport.event.SubmitServiceDuccEvent;
import org.apache.uima.ducc.transport.event.SubmitServiceReplyDuccEvent;
@@ -152,14 +153,18 @@ public class DuccManagedReservationSubmi
String pname = UiOption.SchedulingClass.pname();
String scheduling_class = serviceRequestProperties.getProperty(pname);
if (scheduling_class != null) {
- DuccSchedulerClasses duccSchedulerClasses =
DuccSchedulerClasses.getInstance();
- if (duccSchedulerClasses.isPreemptable(scheduling_class)) {
- String np_scheduling_class =
duccSchedulerClasses.getDebugClassSpecificName(scheduling_class);
- if (np_scheduling_class != null) {
- serviceRequestProperties.setProperty(pname,
np_scheduling_class);
- String msg = "Changed the scheduling_class from " +
scheduling_class + " to the non-preemptable " + np_scheduling_class;
- message(msg);
+ try {
+ DuccSchedulerClasses duccSchedulerClasses =
DuccSchedulerClasses.getInstance();
+ if (duccSchedulerClasses.isPreemptable(scheduling_class)) {
+ String np_scheduling_class =
duccSchedulerClasses.getDebugClassSpecificName(scheduling_class);
+ if (np_scheduling_class != null) {
+ serviceRequestProperties.setProperty(pname,
np_scheduling_class);
+ String msg = "Changed the scheduling_class from " +
scheduling_class + " to the non-preemptable " + np_scheduling_class;
+ message(msg);
+ }
}
+ } catch (Exception e) {
+ throw new IllegalConfigurationException("Error in DUCC
configuration files - administrator error: " + e);
}
}
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationSubmit.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationSubmit.java?rev=1744595&r1=1744594&r2=1744595&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationSubmit.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationSubmit.java
Thu May 19 15:17:40 2016
@@ -23,6 +23,7 @@ import java.util.Arrays;
import java.util.Properties;
import org.apache.uima.ducc.common.utils.DuccSchedulerClasses;
+import org.apache.uima.ducc.common.utils.IllegalConfigurationException;
import org.apache.uima.ducc.transport.event.IDuccContext.DuccContext;
import org.apache.uima.ducc.transport.event.SubmitReservationDuccEvent;
import org.apache.uima.ducc.transport.event.SubmitReservationReplyDuccEvent;
@@ -100,10 +101,14 @@ public class DuccReservationSubmit
String pname = UiOption.SchedulingClass.pname();
String scheduling_class = requestProperties.getProperty(pname);
if (scheduling_class != null) {
+ try {
String[] reserveClasses =
DuccSchedulerClasses.getInstance().getReserveClasses();
if (!Arrays.asList(reserveClasses).contains(scheduling_class)) {
throw new IllegalArgumentException("Invalid value for
scheduling_class - must be one of the reserve classes");
}
+ } catch (Exception e) {
+ throw new IllegalConfigurationException("Error in DUCC
configuration files - administrator error: " + e);
+ }
}
SubmitReservationDuccEvent ev = new
SubmitReservationDuccEvent(requestProperties, CliVersion.getVersion());
SubmitReservationReplyDuccEvent reply = null;
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java?rev=1744595&r1=1744594&r2=1744595&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
Thu May 19 15:17:40 2016
@@ -25,6 +25,7 @@ import org.apache.uima.ducc.common.Pair;
import org.apache.uima.ducc.common.utils.DuccProperties;
import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.common.utils.DuccSchedulerClasses;
+import org.apache.uima.ducc.common.utils.IllegalConfigurationException;
import org.apache.uima.ducc.transport.event.ServiceDisableEvent;
import org.apache.uima.ducc.transport.event.ServiceEnableEvent;
import org.apache.uima.ducc.transport.event.ServiceIgnoreEvent;
@@ -439,13 +440,17 @@ public class DuccServiceApi
// Check if falsely using a fair-share class; set the default if
missing
String scheduling_class =
cli_props.getProperty(UiOption.SchedulingClass.pname());
- DuccSchedulerClasses duccSchedulerClasses =
DuccSchedulerClasses.getInstance();
- if (scheduling_class != null) {
- if (duccSchedulerClasses.isPreemptable(scheduling_class)) {
- throw new IllegalArgumentException("Invalid pre-emptable
scheduling class: " + scheduling_class);
+ try {
+ DuccSchedulerClasses duccSchedulerClasses =
DuccSchedulerClasses.getInstance();
+ if (scheduling_class != null) {
+ if (duccSchedulerClasses.isPreemptable(scheduling_class)) {
+ throw new IllegalArgumentException("Invalid pre-emptable
scheduling class: " + scheduling_class);
+ }
+ } else {
+ cli_props.setProperty(UiOption.SchedulingClass.pname(),
duccSchedulerClasses.getDebugClassDefaultName());
}
- } else {
- cli_props.setProperty(UiOption.SchedulingClass.pname(),
duccSchedulerClasses.getDebugClassDefaultName());
+ } catch (Exception e) {
+ throw new IllegalConfigurationException("Error in DUCC
configuration files - administrator error: " + e);
}
// work out stuff I'm dependent upon
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java?rev=1744595&r1=1744594&r2=1744595&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java
Thu May 19 15:17:40 2016
@@ -37,6 +37,7 @@ import org.apache.uima.ducc.cli.IDuccCal
import org.apache.uima.ducc.cli.aio.IMessageHandler.Level;
import org.apache.uima.ducc.cli.aio.IMessageHandler.Toggle;
import org.apache.uima.ducc.common.utils.DuccSchedulerClasses;
+import org.apache.uima.ducc.common.utils.IllegalConfigurationException;
import org.apache.uima.ducc.common.utils.QuotedOptions;
import org.apache.uima.ducc.transport.event.cli.JobRequestProperties;
@@ -360,6 +361,7 @@ public class AllInOneLauncher extends Cl
// If omitted let DUCC choose the default for an AP
// If a preemptable one change to a fixed one if possible
if (jobRequestProperties.containsKey(pname)) {
+ try {
DuccSchedulerClasses duccSchedulerClasses =
DuccSchedulerClasses.getInstance();
scheduling_class = jobRequestProperties.getProperty(pname);
String message = pname + "=" + scheduling_class + " [original]";
@@ -376,6 +378,9 @@ public class AllInOneLauncher extends Cl
}
}
used(pname);
+ } catch (Exception e) {
+ throw new IllegalConfigurationException("Error in DUCC
configuration files - administrator error: " + e);
+ }
}
mh.frameworkTrace(cid, mid, exit);
}