[Swift-commit] cog r3655

swift at ci.uchicago.edu swift at ci.uchicago.edu
Wed Apr 24 15:10:07 CDT 2013


------------------------------------------------------------------------
r3655 | davidkelly999 | 2013-04-24 15:05:16 -0500 (Wed, 24 Apr 2013) | 2 lines

Verify that only valid RSL attributes get set

------------------------------------------------------------------------
Index: modules/provider-gt2/src/org/globus/cog/abstraction/impl/execution/gt2/JobSubmissionTaskHandler.java
===================================================================
--- modules/provider-gt2/src/org/globus/cog/abstraction/impl/execution/gt2/JobSubmissionTaskHandler.java	(revision 3654)
+++ modules/provider-gt2/src/org/globus/cog/abstraction/impl/execution/gt2/JobSubmissionTaskHandler.java	(working copy)
@@ -11,6 +11,8 @@
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.HashSet;
+import java.util.Arrays;
 
 import org.apache.log4j.Logger;
 import org.globus.cog.abstraction.impl.common.AbstractDelegatedTaskHandler;
@@ -376,6 +378,18 @@
 
     private void setOtherAttributes(JobSpecification spec, RslNode rsl)
             throws IllegalSpecException {
+       
+        HashSet<String> RSLAttributes = new HashSet<String>(
+		Arrays.asList("directory", "executable", "arguments", "stdin",
+                              "stdout", "stderr", "count", "environment",
+                              "maxTime", "maxWallTime", "maxCpuTime", "jobType",
+                              "gramMyJob", "queue", "project", "hostCount",
+                              "dryRun", "minMemory", "maxMemory", "save_state",
+                              "two_phase", "restart", "stdout_position",
+                              "stderr_position", "remote_io_url")
+        );
+
+
         for (String key : spec.getAttributeNames()) {
             try {
                 String value = String.valueOf(spec.getAttribute(key));
@@ -385,7 +399,9 @@
                 if (key.equalsIgnoreCase("maxwalltime")) {
                     value = WallTime.normalize(value, jobManager);
                 }
-                rsl.add(new NameOpValue(key, NameOpValue.EQ, value));
+                if(RSLAttributes.contains(key)) {
+                    rsl.add(new NameOpValue(key, NameOpValue.EQ, value));
+                }
             }
             catch (Exception e) {
                 throw new IllegalSpecException(



More information about the Swift-commit mailing list