airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sma...@apache.org
Subject git commit: adding a throttleResources flag as described in - AIRAVATA-1438
Date Mon, 15 Sep 2014 19:58:59 GMT
Repository: airavata
Updated Branches:
  refs/heads/master 2e109fa19 -> 8abc4d3ca


adding a throttleResources flag as described in - AIRAVATA-1438


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/8abc4d3c
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/8abc4d3c
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/8abc4d3c

Branch: refs/heads/master
Commit: 8abc4d3ca105f5a9f656dfaca5fa94419ca9ae95
Parents: 2e109fa
Author: Suresh Marru <smarru@apache.org>
Authored: Mon Sep 15 15:58:50 2014 -0400
Committer: Suresh Marru <smarru@apache.org>
Committed: Mon Sep 15 15:58:50 2014 -0400

----------------------------------------------------------------------
 .../lib/airavata/experimentModel_types.cpp      |  22 +++-
 .../lib/airavata/experimentModel_types.h        |  23 ++--
 .../Model/Workspace/Experiment/Types.php        |  20 ++++
 .../experiment/UserConfigurationData.java       | 104 ++++++++++++++++++-
 .../experimentModel.thrift                      |   1 +
 5 files changed, 156 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/8abc4d3c/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
index 205b3f7..fdf070d 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
@@ -1306,8 +1306,8 @@ void swap(QualityOfServiceParams &a, QualityOfServiceParams &b)
{
   swap(a.__isset, b.__isset);
 }
 
-const char* UserConfigurationData::ascii_fingerprint = "889486266D7ADC041ED1C586A2468611";
-const uint8_t UserConfigurationData::binary_fingerprint[16] = {0x88,0x94,0x86,0x26,0x6D,0x7A,0xDC,0x04,0x1E,0xD1,0xC5,0x86,0xA2,0x46,0x86,0x11};
+const char* UserConfigurationData::ascii_fingerprint = "4E5EF84AE34A2F52BCD6617A229780E0";
+const uint8_t UserConfigurationData::binary_fingerprint[16] = {0x4E,0x5E,0xF8,0x4A,0xE3,0x4A,0x2F,0x52,0xBC,0xD6,0x61,0x7A,0x22,0x97,0x80,0xE0};
 
 uint32_t UserConfigurationData::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -1387,6 +1387,14 @@ uint32_t UserConfigurationData::read(::apache::thrift::protocol::TProtocol*
ipro
           xfer += iprot->skip(ftype);
         }
         break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->throttleResources);
+          this->__isset.throttleResources = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1440,6 +1448,11 @@ uint32_t UserConfigurationData::write(::apache::thrift::protocol::TProtocol*
opr
     xfer += this->qosParams.write(oprot);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.throttleResources) {
+    xfer += oprot->writeFieldBegin("throttleResources", ::apache::thrift::protocol::T_BOOL,
8);
+    xfer += oprot->writeBool(this->throttleResources);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -1454,6 +1467,7 @@ void swap(UserConfigurationData &a, UserConfigurationData &b)
{
   swap(a.advanceInputDataHandling, b.advanceInputDataHandling);
   swap(a.advanceOutputDataHandling, b.advanceOutputDataHandling);
   swap(a.qosParams, b.qosParams);
+  swap(a.throttleResources, b.throttleResources);
   swap(a.__isset, b.__isset);
 }
 
@@ -2757,8 +2771,8 @@ void swap(ValidationResults &a, ValidationResults &b) {
   swap(a.validationResultList, b.validationResultList);
 }
 
-const char* Experiment::ascii_fingerprint = "F814FB4A54E4B2B2B1BFB58C022A39D4";
-const uint8_t Experiment::binary_fingerprint[16] = {0xF8,0x14,0xFB,0x4A,0x54,0xE4,0xB2,0xB2,0xB1,0xBF,0xB5,0x8C,0x02,0x2A,0x39,0xD4};
+const char* Experiment::ascii_fingerprint = "EAE6C4E7D5F1EDAC82E4630FDDD892A9";
+const uint8_t Experiment::binary_fingerprint[16] = {0xEA,0xE6,0xC4,0xE7,0xD5,0xF1,0xED,0xAC,0x82,0xE4,0x63,0x0F,0xDD,0xD8,0x92,0xA9};
 
 uint32_t Experiment::read(::apache::thrift::protocol::TProtocol* iprot) {
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/8abc4d3c/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
index bd0db44..fa1803e 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
@@ -930,21 +930,22 @@ class QualityOfServiceParams {
 void swap(QualityOfServiceParams &a, QualityOfServiceParams &b);
 
 typedef struct _UserConfigurationData__isset {
-  _UserConfigurationData__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false),
advanceInputDataHandling(false), advanceOutputDataHandling(false), qosParams(false) {}
+  _UserConfigurationData__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false),
advanceInputDataHandling(false), advanceOutputDataHandling(false), qosParams(false), throttleResources(true)
{}
   bool shareExperimentPublicly;
   bool computationalResourceScheduling;
   bool advanceInputDataHandling;
   bool advanceOutputDataHandling;
   bool qosParams;
+  bool throttleResources;
 } _UserConfigurationData__isset;
 
 class UserConfigurationData {
  public:
 
-  static const char* ascii_fingerprint; // = "889486266D7ADC041ED1C586A2468611";
-  static const uint8_t binary_fingerprint[16]; // = {0x88,0x94,0x86,0x26,0x6D,0x7A,0xDC,0x04,0x1E,0xD1,0xC5,0x86,0xA2,0x46,0x86,0x11};
+  static const char* ascii_fingerprint; // = "4E5EF84AE34A2F52BCD6617A229780E0";
+  static const uint8_t binary_fingerprint[16]; // = {0x4E,0x5E,0xF8,0x4A,0xE3,0x4A,0x2F,0x52,0xBC,0xD6,0x61,0x7A,0x22,0x97,0x80,0xE0};
 
-  UserConfigurationData() : airavataAutoSchedule(false), overrideManualScheduledParams(false),
shareExperimentPublicly(false) {
+  UserConfigurationData() : airavataAutoSchedule(false), overrideManualScheduledParams(false),
shareExperimentPublicly(false), throttleResources(false) {
   }
 
   virtual ~UserConfigurationData() throw() {}
@@ -956,6 +957,7 @@ class UserConfigurationData {
   AdvancedInputDataHandling advanceInputDataHandling;
   AdvancedOutputDataHandling advanceOutputDataHandling;
   QualityOfServiceParams qosParams;
+  bool throttleResources;
 
   _UserConfigurationData__isset __isset;
 
@@ -992,6 +994,11 @@ class UserConfigurationData {
     __isset.qosParams = true;
   }
 
+  void __set_throttleResources(const bool val) {
+    throttleResources = val;
+    __isset.throttleResources = true;
+  }
+
   bool operator == (const UserConfigurationData & rhs) const
   {
     if (!(airavataAutoSchedule == rhs.airavataAutoSchedule))
@@ -1018,6 +1025,10 @@ class UserConfigurationData {
       return false;
     else if (__isset.qosParams && !(qosParams == rhs.qosParams))
       return false;
+    if (__isset.throttleResources != rhs.__isset.throttleResources)
+      return false;
+    else if (__isset.throttleResources && !(throttleResources == rhs.throttleResources))
+      return false;
     return true;
   }
   bool operator != (const UserConfigurationData &rhs) const {
@@ -1787,8 +1798,8 @@ typedef struct _Experiment__isset {
 class Experiment {
  public:
 
-  static const char* ascii_fingerprint; // = "F814FB4A54E4B2B2B1BFB58C022A39D4";
-  static const uint8_t binary_fingerprint[16]; // = {0xF8,0x14,0xFB,0x4A,0x54,0xE4,0xB2,0xB2,0xB1,0xBF,0xB5,0x8C,0x02,0x2A,0x39,0xD4};
+  static const char* ascii_fingerprint; // = "EAE6C4E7D5F1EDAC82E4630FDDD892A9";
+  static const uint8_t binary_fingerprint[16]; // = {0xEA,0xE6,0xC4,0xE7,0xD5,0xF1,0xED,0xAC,0x82,0xE4,0x63,0x0F,0xDD,0xD8,0x92,0xA9};
 
   Experiment() : experimentID("DO_NOT_SET_AT_CLIENTS"), projectID("DEFAULT"), creationTime(0),
userName(), name(), description(), applicationId(), applicationVersion(), workflowTemplateId(),
workflowTemplateVersion(), workflowExecutionInstanceId() {
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8abc4d3c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
index 6bbd8e8..19a8b37 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
@@ -1513,6 +1513,7 @@ class UserConfigurationData {
   public $advanceInputDataHandling = null;
   public $advanceOutputDataHandling = null;
   public $qosParams = null;
+  public $throttleResources = false;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -1549,6 +1550,10 @@ class UserConfigurationData {
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Experiment\QualityOfServiceParams',
           ),
+        8 => array(
+          'var' => 'throttleResources',
+          'type' => TType::BOOL,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -1573,6 +1578,9 @@ class UserConfigurationData {
       if (isset($vals['qosParams'])) {
         $this->qosParams = $vals['qosParams'];
       }
+      if (isset($vals['throttleResources'])) {
+        $this->throttleResources = $vals['throttleResources'];
+      }
     }
   }
 
@@ -1648,6 +1656,13 @@ class UserConfigurationData {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 8:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->throttleResources);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -1708,6 +1723,11 @@ class UserConfigurationData {
       $xfer += $this->qosParams->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->throttleResources !== null) {
+      $xfer += $output->writeFieldBegin('throttleResources', TType::BOOL, 8);
+      $xfer += $output->writeBool($this->throttleResources);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/8abc4d3c/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/UserConfigurationData.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/UserConfigurationData.java
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/UserConfigurationData.java
index 38cea58..fecb4e8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/UserConfigurationData.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/UserConfigurationData.java
@@ -64,6 +64,7 @@ import org.slf4j.LoggerFactory;
   private static final org.apache.thrift.protocol.TField ADVANCE_INPUT_DATA_HANDLING_FIELD_DESC
= new org.apache.thrift.protocol.TField("advanceInputDataHandling", org.apache.thrift.protocol.TType.STRUCT,
(short)5);
   private static final org.apache.thrift.protocol.TField ADVANCE_OUTPUT_DATA_HANDLING_FIELD_DESC
= new org.apache.thrift.protocol.TField("advanceOutputDataHandling", org.apache.thrift.protocol.TType.STRUCT,
(short)6);
   private static final org.apache.thrift.protocol.TField QOS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("qosParams",
org.apache.thrift.protocol.TType.STRUCT, (short)7);
+  private static final org.apache.thrift.protocol.TField THROTTLE_RESOURCES_FIELD_DESC =
new org.apache.thrift.protocol.TField("throttleResources", org.apache.thrift.protocol.TType.BOOL,
(short)8);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes =
new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -78,6 +79,7 @@ import org.slf4j.LoggerFactory;
   private AdvancedInputDataHandling advanceInputDataHandling; // optional
   private AdvancedOutputDataHandling advanceOutputDataHandling; // optional
   private QualityOfServiceParams qosParams; // optional
+  private boolean throttleResources; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding
and manipulating them. */
   @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum
{
@@ -87,7 +89,8 @@ import org.slf4j.LoggerFactory;
     COMPUTATIONAL_RESOURCE_SCHEDULING((short)4, "computationalResourceScheduling"),
     ADVANCE_INPUT_DATA_HANDLING((short)5, "advanceInputDataHandling"),
     ADVANCE_OUTPUT_DATA_HANDLING((short)6, "advanceOutputDataHandling"),
-    QOS_PARAMS((short)7, "qosParams");
+    QOS_PARAMS((short)7, "qosParams"),
+    THROTTLE_RESOURCES((short)8, "throttleResources");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -116,6 +119,8 @@ import org.slf4j.LoggerFactory;
           return ADVANCE_OUTPUT_DATA_HANDLING;
         case 7: // QOS_PARAMS
           return QOS_PARAMS;
+        case 8: // THROTTLE_RESOURCES
+          return THROTTLE_RESOURCES;
         default:
           return null;
       }
@@ -159,8 +164,9 @@ import org.slf4j.LoggerFactory;
   private static final int __AIRAVATAAUTOSCHEDULE_ISSET_ID = 0;
   private static final int __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID = 1;
   private static final int __SHAREEXPERIMENTPUBLICLY_ISSET_ID = 2;
+  private static final int __THROTTLERESOURCES_ISSET_ID = 3;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.SHARE_EXPERIMENT_PUBLICLY,_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING,_Fields.ADVANCE_INPUT_DATA_HANDLING,_Fields.ADVANCE_OUTPUT_DATA_HANDLING,_Fields.QOS_PARAMS};
+  private _Fields optionals[] = {_Fields.SHARE_EXPERIMENT_PUBLICLY,_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING,_Fields.ADVANCE_INPUT_DATA_HANDLING,_Fields.ADVANCE_OUTPUT_DATA_HANDLING,_Fields.QOS_PARAMS,_Fields.THROTTLE_RESOURCES};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields,
org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -178,6 +184,8 @@ import org.slf4j.LoggerFactory;
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT,
AdvancedOutputDataHandling.class)));
     tmpMap.put(_Fields.QOS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("qosParams",
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT,
QualityOfServiceParams.class)));
+    tmpMap.put(_Fields.THROTTLE_RESOURCES, new org.apache.thrift.meta_data.FieldMetaData("throttleResources",
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(UserConfigurationData.class,
metaDataMap);
   }
@@ -189,6 +197,8 @@ import org.slf4j.LoggerFactory;
 
     this.shareExperimentPublicly = false;
 
+    this.throttleResources = false;
+
   }
 
   public UserConfigurationData(
@@ -222,6 +232,7 @@ import org.slf4j.LoggerFactory;
     if (other.isSetQosParams()) {
       this.qosParams = new QualityOfServiceParams(other.qosParams);
     }
+    this.throttleResources = other.throttleResources;
   }
 
   public UserConfigurationData deepCopy() {
@@ -240,6 +251,8 @@ import org.slf4j.LoggerFactory;
     this.advanceInputDataHandling = null;
     this.advanceOutputDataHandling = null;
     this.qosParams = null;
+    this.throttleResources = false;
+
   }
 
   public boolean isAiravataAutoSchedule() {
@@ -400,6 +413,28 @@ import org.slf4j.LoggerFactory;
     }
   }
 
+  public boolean isThrottleResources() {
+    return this.throttleResources;
+  }
+
+  public void setThrottleResources(boolean throttleResources) {
+    this.throttleResources = throttleResources;
+    setThrottleResourcesIsSet(true);
+  }
+
+  public void unsetThrottleResources() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __THROTTLERESOURCES_ISSET_ID);
+  }
+
+  /** Returns true if field throttleResources is set (has been assigned a value) and false
otherwise */
+  public boolean isSetThrottleResources() {
+    return EncodingUtils.testBit(__isset_bitfield, __THROTTLERESOURCES_ISSET_ID);
+  }
+
+  public void setThrottleResourcesIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __THROTTLERESOURCES_ISSET_ID,
value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case AIRAVATA_AUTO_SCHEDULE:
@@ -458,6 +493,14 @@ import org.slf4j.LoggerFactory;
       }
       break;
 
+    case THROTTLE_RESOURCES:
+      if (value == null) {
+        unsetThrottleResources();
+      } else {
+        setThrottleResources((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -484,6 +527,9 @@ import org.slf4j.LoggerFactory;
     case QOS_PARAMS:
       return getQosParams();
 
+    case THROTTLE_RESOURCES:
+      return Boolean.valueOf(isThrottleResources());
+
     }
     throw new IllegalStateException();
   }
@@ -509,6 +555,8 @@ import org.slf4j.LoggerFactory;
       return isSetAdvanceOutputDataHandling();
     case QOS_PARAMS:
       return isSetQosParams();
+    case THROTTLE_RESOURCES:
+      return isSetThrottleResources();
     }
     throw new IllegalStateException();
   }
@@ -589,6 +637,15 @@ import org.slf4j.LoggerFactory;
         return false;
     }
 
+    boolean this_present_throttleResources = true && this.isSetThrottleResources();
+    boolean that_present_throttleResources = true && that.isSetThrottleResources();
+    if (this_present_throttleResources || that_present_throttleResources) {
+      if (!(this_present_throttleResources && that_present_throttleResources))
+        return false;
+      if (this.throttleResources != that.throttleResources)
+        return false;
+    }
+
     return true;
   }
 
@@ -675,6 +732,16 @@ import org.slf4j.LoggerFactory;
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetThrottleResources()).compareTo(other.isSetThrottleResources());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetThrottleResources()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.throttleResources, other.throttleResources);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -748,6 +815,12 @@ import org.slf4j.LoggerFactory;
       }
       first = false;
     }
+    if (isSetThrottleResources()) {
+      if (!first) sb.append(", ");
+      sb.append("throttleResources:");
+      sb.append(this.throttleResources);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -873,6 +946,14 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 8: // THROTTLE_RESOURCES
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.throttleResources = iprot.readBool();
+              struct.setThrottleResourcesIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -925,6 +1006,11 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldEnd();
         }
       }
+      if (struct.isSetThrottleResources()) {
+        oprot.writeFieldBegin(THROTTLE_RESOURCES_FIELD_DESC);
+        oprot.writeBool(struct.throttleResources);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -960,7 +1046,10 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetQosParams()) {
         optionals.set(4);
       }
-      oprot.writeBitSet(optionals, 5);
+      if (struct.isSetThrottleResources()) {
+        optionals.set(5);
+      }
+      oprot.writeBitSet(optionals, 6);
       if (struct.isSetShareExperimentPublicly()) {
         oprot.writeBool(struct.shareExperimentPublicly);
       }
@@ -976,6 +1065,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetQosParams()) {
         struct.qosParams.write(oprot);
       }
+      if (struct.isSetThrottleResources()) {
+        oprot.writeBool(struct.throttleResources);
+      }
     }
 
     @Override
@@ -985,7 +1077,7 @@ import org.slf4j.LoggerFactory;
       struct.setAiravataAutoScheduleIsSet(true);
       struct.overrideManualScheduledParams = iprot.readBool();
       struct.setOverrideManualScheduledParamsIsSet(true);
-      BitSet incoming = iprot.readBitSet(5);
+      BitSet incoming = iprot.readBitSet(6);
       if (incoming.get(0)) {
         struct.shareExperimentPublicly = iprot.readBool();
         struct.setShareExperimentPubliclyIsSet(true);
@@ -1010,6 +1102,10 @@ import org.slf4j.LoggerFactory;
         struct.qosParams.read(iprot);
         struct.setQosParamsIsSet(true);
       }
+      if (incoming.get(5)) {
+        struct.throttleResources = iprot.readBool();
+        struct.setThrottleResourcesIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/8abc4d3c/airavata-api/thrift-interface-descriptions/experimentModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/experimentModel.thrift b/airavata-api/thrift-interface-descriptions/experimentModel.thrift
index 8885215..61ba12b 100644
--- a/airavata-api/thrift-interface-descriptions/experimentModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/experimentModel.thrift
@@ -262,6 +262,7 @@ struct UserConfigurationData {
     5: optional AdvancedInputDataHandling advanceInputDataHandling,
     6: optional AdvancedOutputDataHandling advanceOutputDataHandling,
     7: optional QualityOfServiceParams qosParams
+    8: optional bool throttleResources = 0
 }
 
 struct ErrorDetails {


Mime
View raw message