/**
*
* 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.
*/
/**
* Autogenerated by Thrift Compiler (0.9.3)
*
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
* @generated
*/
package org.apache.airavata.cloud.aurora.client.sdk;
import org.apache.thrift.scheme.IScheme;
import org.apache.thrift.scheme.SchemeFactory;
import org.apache.thrift.scheme.StandardScheme;
import org.apache.thrift.scheme.TupleScheme;
import org.apache.thrift.protocol.TTupleProtocol;
import org.apache.thrift.protocol.TProtocolException;
import org.apache.thrift.EncodingUtils;
import org.apache.thrift.TException;
import org.apache.thrift.async.AsyncMethodCallback;
import org.apache.thrift.server.AbstractNonblockingServer.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Set;
import java.util.HashSet;
import java.util.EnumSet;
import java.util.Collections;
import java.util.BitSet;
import java.nio.ByteBuffer;
import java.util.Arrays;
import javax.annotation.Generated;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
/**
* Job update thresholds and limits.
*/
@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-21")
public class JobUpdateSettings implements org.apache.thrift.TBase<JobUpdateSettings, JobUpdateSettings._Fields>, java.io.Serializable, Cloneable, Comparable<JobUpdateSettings> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobUpdateSettings");
private static final org.apache.thrift.protocol.TField UPDATE_GROUP_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("updateGroupSize", org.apache.thrift.protocol.TType.I32, (short)1);
private static final org.apache.thrift.protocol.TField MAX_PER_INSTANCE_FAILURES_FIELD_DESC = new org.apache.thrift.protocol.TField("maxPerInstanceFailures", org.apache.thrift.protocol.TType.I32, (short)2);
private static final org.apache.thrift.protocol.TField MAX_FAILED_INSTANCES_FIELD_DESC = new org.apache.thrift.protocol.TField("maxFailedInstances", org.apache.thrift.protocol.TType.I32, (short)3);
private static final org.apache.thrift.protocol.TField MIN_WAIT_IN_INSTANCE_RUNNING_MS_FIELD_DESC = new org.apache.thrift.protocol.TField("minWaitInInstanceRunningMs", org.apache.thrift.protocol.TType.I32, (short)5);
private static final org.apache.thrift.protocol.TField ROLLBACK_ON_FAILURE_FIELD_DESC = new org.apache.thrift.protocol.TField("rollbackOnFailure", org.apache.thrift.protocol.TType.BOOL, (short)6);
private static final org.apache.thrift.protocol.TField UPDATE_ONLY_THESE_INSTANCES_FIELD_DESC = new org.apache.thrift.protocol.TField("updateOnlyTheseInstances", org.apache.thrift.protocol.TType.SET, (short)7);
private static final org.apache.thrift.protocol.TField WAIT_FOR_BATCH_COMPLETION_FIELD_DESC = new org.apache.thrift.protocol.TField("waitForBatchCompletion", org.apache.thrift.protocol.TType.BOOL, (short)8);
private static final org.apache.thrift.protocol.TField BLOCK_IF_NO_PULSES_AFTER_MS_FIELD_DESC = new org.apache.thrift.protocol.TField("blockIfNoPulsesAfterMs", org.apache.thrift.protocol.TType.I32, (short)9);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
schemes.put(StandardScheme.class, new JobUpdateSettingsStandardSchemeFactory());
schemes.put(TupleScheme.class, new JobUpdateSettingsTupleSchemeFactory());
}
/**
* Max number of instances being updated at any given moment.
*/
public int updateGroupSize; // required
/**
* Max number of instance failures to tolerate before marking instance as FAILED.
*/
public int maxPerInstanceFailures; // required
/**
* Max number of FAILED instances to tolerate before terminating the update.
*/
public int maxFailedInstances; // required
/**
* Min time to watch a RUNNING instance.
*/
public int minWaitInInstanceRunningMs; // required
/**
* If true, enables failed update rollback.
*/
public boolean rollbackOnFailure; // required
/**
* Instance IDs to act on. All instances will be affected if this is not set.
*/
public Set<Range> updateOnlyTheseInstances; // required
/**
* If true, use updateGroupSize as strict batching boundaries, and avoid proceeding to another
* batch until the preceding batch finishes updating.
*/
public boolean waitForBatchCompletion; // required
/**
* If set, requires external calls to pulseJobUpdate RPC within the specified rate for the
* update to make progress. If no pulses received within specified interval the update will
* block. A blocked update is unable to continue but retains its current status. It may only get
* unblocked by a fresh pulseJobUpdate call.
*/
public int blockIfNoPulsesAfterMs; // optional
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
/**
* Max number of instances being updated at any given moment.
*/
UPDATE_GROUP_SIZE((short)1, "updateGroupSize"),
/**
* Max number of instance failures to tolerate before marking instance as FAILED.
*/
MAX_PER_INSTANCE_FAILURES((short)2, "maxPerInstanceFailures"),
/**
* Max number of FAILED instances to tolerate before terminating the update.
*/
MAX_FAILED_INSTANCES((short)3, "maxFailedInstances"),
/**
* Min time to watch a RUNNING instance.
*/
MIN_WAIT_IN_INSTANCE_RUNNING_MS((short)5, "minWaitInInstanceRunningMs"),
/**
* If true, enables failed update rollback.
*/
ROLLBACK_ON_FAILURE((short)6, "rollbackOnFailure"),
/**
* Instance IDs to act on. All instances will be affected if this is not set.
*/
UPDATE_ONLY_THESE_INSTANCES((short)7, "updateOnlyTheseInstances"),
/**
* If true, use updateGroupSize as strict batching boundaries, and avoid proceeding to another
* batch until the preceding batch finishes updating.
*/
WAIT_FOR_BATCH_COMPLETION((short)8, "waitForBatchCompletion"),
/**
* If set, requires external calls to pulseJobUpdate RPC within the specified rate for the
* update to make progress. If no pulses received within specified interval the update will
* block. A blocked update is unable to continue but retains its current status. It may only get
* unblocked by a fresh pulseJobUpdate call.
*/
BLOCK_IF_NO_PULSES_AFTER_MS((short)9, "blockIfNoPulsesAfterMs");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
static {
for (_Fields field : EnumSet.allOf(_Fields.class)) {
byName.put(field.getFieldName(), field);
}
}
/**
* Find the _Fields constant that matches fieldId, or null if its not found.
*/
public static _Fields findByThriftId(int fieldId) {
switch(fieldId) {
case 1: // UPDATE_GROUP_SIZE
return UPDATE_GROUP_SIZE;
case 2: // MAX_PER_INSTANCE_FAILURES
return MAX_PER_INSTANCE_FAILURES;
case 3: // MAX_FAILED_INSTANCES
return MAX_FAILED_INSTANCES;
case 5: // MIN_WAIT_IN_INSTANCE_RUNNING_MS
return MIN_WAIT_IN_INSTANCE_RUNNING_MS;
case 6: // ROLLBACK_ON_FAILURE
return ROLLBACK_ON_FAILURE;
case 7: // UPDATE_ONLY_THESE_INSTANCES
return UPDATE_ONLY_THESE_INSTANCES;
case 8: // WAIT_FOR_BATCH_COMPLETION
return WAIT_FOR_BATCH_COMPLETION;
case 9: // BLOCK_IF_NO_PULSES_AFTER_MS
return BLOCK_IF_NO_PULSES_AFTER_MS;
default:
return null;
}
}
/**
* Find the _Fields constant that matches fieldId, throwing an exception
* if it is not found.
*/
public static _Fields findByThriftIdOrThrow(int fieldId) {
_Fields fields = findByThriftId(fieldId);
if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
return fields;
}
/**
* Find the _Fields constant that matches name, or null if its not found.
*/
public static _Fields findByName(String name) {
return byName.get(name);
}
private final short _thriftId;
private final String _fieldName;
_Fields(short thriftId, String fieldName) {
_thriftId = thriftId;
_fieldName = fieldName;
}
public short getThriftFieldId() {
return _thriftId;
}
public String getFieldName() {
return _fieldName;
}
}
// isset id assignments
private static final int __UPDATEGROUPSIZE_ISSET_ID = 0;
private static final int __MAXPERINSTANCEFAILURES_ISSET_ID = 1;
private static final int __MAXFAILEDINSTANCES_ISSET_ID = 2;
private static final int __MINWAITININSTANCERUNNINGMS_ISSET_ID = 3;
private static final int __ROLLBACKONFAILURE_ISSET_ID = 4;
private static final int __WAITFORBATCHCOMPLETION_ISSET_ID = 5;
private static final int __BLOCKIFNOPULSESAFTERMS_ISSET_ID = 6;
private byte __isset_bitfield = 0;
private static final _Fields optionals[] = {_Fields.BLOCK_IF_NO_PULSES_AFTER_MS};
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);
tmpMap.put(_Fields.UPDATE_GROUP_SIZE, new org.apache.thrift.meta_data.FieldMetaData("updateGroupSize", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
tmpMap.put(_Fields.MAX_PER_INSTANCE_FAILURES, new org.apache.thrift.meta_data.FieldMetaData("maxPerInstanceFailures", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
tmpMap.put(_Fields.MAX_FAILED_INSTANCES, new org.apache.thrift.meta_data.FieldMetaData("maxFailedInstances", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
tmpMap.put(_Fields.MIN_WAIT_IN_INSTANCE_RUNNING_MS, new org.apache.thrift.meta_data.FieldMetaData("minWaitInInstanceRunningMs", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
tmpMap.put(_Fields.ROLLBACK_ON_FAILURE, new org.apache.thrift.meta_data.FieldMetaData("rollbackOnFailure", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
tmpMap.put(_Fields.UPDATE_ONLY_THESE_INSTANCES, new org.apache.thrift.meta_data.FieldMetaData("updateOnlyTheseInstances", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.SetMetaData(org.apache.thrift.protocol.TType.SET,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Range.class))));
tmpMap.put(_Fields.WAIT_FOR_BATCH_COMPLETION, new org.apache.thrift.meta_data.FieldMetaData("waitForBatchCompletion", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
tmpMap.put(_Fields.BLOCK_IF_NO_PULSES_AFTER_MS, new org.apache.thrift.meta_data.FieldMetaData("blockIfNoPulsesAfterMs", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(JobUpdateSettings.class, metaDataMap);
}
public JobUpdateSettings() {
}
public JobUpdateSettings(
int updateGroupSize,
int maxPerInstanceFailures,
int maxFailedInstances,
int minWaitInInstanceRunningMs,
boolean rollbackOnFailure,
Set<Range> updateOnlyTheseInstances,
boolean waitForBatchCompletion)
{
this();
this.updateGroupSize = updateGroupSize;
setUpdateGroupSizeIsSet(true);
this.maxPerInstanceFailures = maxPerInstanceFailures;
setMaxPerInstanceFailuresIsSet(true);
this.maxFailedInstances = maxFailedInstances;
setMaxFailedInstancesIsSet(true);
this.minWaitInInstanceRunningMs = minWaitInInstanceRunningMs;
setMinWaitInInstanceRunningMsIsSet(true);
this.rollbackOnFailure = rollbackOnFailure;
setRollbackOnFailureIsSet(true);
this.updateOnlyTheseInstances = updateOnlyTheseInstances;
this.waitForBatchCompletion = waitForBatchCompletion;
setWaitForBatchCompletionIsSet(true);
}
/**
* Performs a deep copy on <i>other</i>.
*/
public JobUpdateSettings(JobUpdateSettings other) {
__isset_bitfield = other.__isset_bitfield;
this.updateGroupSize = other.updateGroupSize;
this.maxPerInstanceFailures = other.maxPerInstanceFailures;
this.maxFailedInstances = other.maxFailedInstances;
this.minWaitInInstanceRunningMs = other.minWaitInInstanceRunningMs;
this.rollbackOnFailure = other.rollbackOnFailure;
if (other.isSetUpdateOnlyTheseInstances()) {
Set<Range> __this__updateOnlyTheseInstances = new HashSet<Range>(other.updateOnlyTheseInstances.size());
for (Range other_element : other.updateOnlyTheseInstances) {
__this__updateOnlyTheseInstances.add(new Range(other_element));
}
this.updateOnlyTheseInstances = __this__updateOnlyTheseInstances;
}
this.waitForBatchCompletion = other.waitForBatchCompletion;
this.blockIfNoPulsesAfterMs = other.blockIfNoPulsesAfterMs;
}
public JobUpdateSettings deepCopy() {
return new JobUpdateSettings(this);
}
@Override
public void clear() {
setUpdateGroupSizeIsSet(false);
this.updateGroupSize = 0;
setMaxPerInstanceFailuresIsSet(false);
this.maxPerInstanceFailures = 0;
setMaxFailedInstancesIsSet(false);
this.maxFailedInstances = 0;
setMinWaitInInstanceRunningMsIsSet(false);
this.minWaitInInstanceRunningMs = 0;
setRollbackOnFailureIsSet(false);
this.rollbackOnFailure = false;
this.updateOnlyTheseInstances = null;
setWaitForBatchCompletionIsSet(false);
this.waitForBatchCompletion = false;
setBlockIfNoPulsesAfterMsIsSet(false);
this.blockIfNoPulsesAfterMs = 0;
}
/**
* Max number of instances being updated at any given moment.
*/
public int getUpdateGroupSize() {
return this.updateGroupSize;
}
/**
* Max number of instances being updated at any given moment.
*/
public JobUpdateSettings setUpdateGroupSize(int updateGroupSize) {
this.updateGroupSize = updateGroupSize;
setUpdateGroupSizeIsSet(true);
return this;
}
public void unsetUpdateGroupSize() {
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __UPDATEGROUPSIZE_ISSET_ID);
}
/** Returns true if field updateGroupSize is set (has been assigned a value) and false otherwise */
public boolean isSetUpdateGroupSize() {
return EncodingUtils.testBit(__isset_bitfield, __UPDATEGROUPSIZE_ISSET_ID);
}
public void setUpdateGroupSizeIsSet(boolean value) {
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __UPDATEGROUPSIZE_ISSET_ID, value);
}
/**
* Max number of instance failures to tolerate before marking instance as FAILED.
*/
public int getMaxPerInstanceFailures() {
return this.maxPerInstanceFailures;
}
/**
* Max number of instance failures to tolerate before marking instance as FAILED.
*/
public JobUpdateSettings setMaxPerInstanceFailures(int maxPerInstanceFailures) {
this.maxPerInstanceFailures = maxPerInstanceFailures;
setMaxPerInstanceFailuresIsSet(true);
return this;
}
public void unsetMaxPerInstanceFailures() {
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXPERINSTANCEFAILURES_ISSET_ID);
}
/** Returns true if field maxPerInstanceFailures is set (has been assigned a value) and false otherwise */
public boolean isSetMaxPerInstanceFailures() {
return EncodingUtils.testBit(__isset_bitfield, __MAXPERINSTANCEFAILURES_ISSET_ID);
}
public void setMaxPerInstanceFailuresIsSet(boolean value) {
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXPERINSTANCEFAILURES_ISSET_ID, value);
}
/**
* Max number of FAILED instances to tolerate before terminating the update.
*/
public int getMaxFailedInstances() {
return this.maxFailedInstances;
}
/**
* Max number of FAILED instances to tolerate before terminating the update.
*/
public JobUpdateSettings setMaxFailedInstances(int maxFailedInstances) {
this.maxFailedInstances = maxFailedInstances;
setMaxFailedInstancesIsSet(true);
return this;
}
public void unsetMaxFailedInstances() {
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXFAILEDINSTANCES_ISSET_ID);
}
/** Returns true if field maxFailedInstances is set (has been assigned a value) and false otherwise */
public boolean isSetMaxFailedInstances() {
return EncodingUtils.testBit(__isset_bitfield, __MAXFAILEDINSTANCES_ISSET_ID);
}
public void setMaxFailedInstancesIsSet(boolean value) {
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXFAILEDINSTANCES_ISSET_ID, value);
}
/**
* Min time to watch a RUNNING instance.
*/
public int getMinWaitInInstanceRunningMs() {
return this.minWaitInInstanceRunningMs;
}
/**
* Min time to watch a RUNNING instance.
*/
public JobUpdateSettings setMinWaitInInstanceRunningMs(int minWaitInInstanceRunningMs) {
this.minWaitInInstanceRunningMs = minWaitInInstanceRunningMs;
setMinWaitInInstanceRunningMsIsSet(true);
return this;
}
public void unsetMinWaitInInstanceRunningMs() {
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MINWAITININSTANCERUNNINGMS_ISSET_ID);
}
/** Returns true if field minWaitInInstanceRunningMs is set (has been assigned a value) and false otherwise */
public boolean isSetMinWaitInInstanceRunningMs() {
return EncodingUtils.testBit(__isset_bitfield, __MINWAITININSTANCERUNNINGMS_ISSET_ID);
}
public void setMinWaitInInstanceRunningMsIsSet(boolean value) {
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MINWAITININSTANCERUNNINGMS_ISSET_ID, value);
}
/**
* If true, enables failed update rollback.
*/
public boolean isRollbackOnFailure() {
return this.rollbackOnFailure;
}
/**
* If true, enables failed update rollback.
*/
public JobUpdateSettings setRollbackOnFailure(boolean rollbackOnFailure) {
this.rollbackOnFailure = rollbackOnFailure;
setRollbackOnFailureIsSet(true);
return this;
}
public void unsetRollbackOnFailure() {
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ROLLBACKONFAILURE_ISSET_ID);
}
/** Returns true if field rollbackOnFailure is set (has been assigned a value) and false otherwise */
public boolean isSetRollbackOnFailure() {
return EncodingUtils.testBit(__isset_bitfield, __ROLLBACKONFAILURE_ISSET_ID);
}
public void setRollbackOnFailureIsSet(boolean value) {
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ROLLBACKONFAILURE_ISSET_ID, value);
}
public int getUpdateOnlyTheseInstancesSize() {
return (this.updateOnlyTheseInstances == null) ? 0 : this.updateOnlyTheseInstances.size();
}
public java.util.Iterator<Range> getUpdateOnlyTheseInstancesIterator() {
return (this.updateOnlyTheseInstances == null) ? null : this.updateOnlyTheseInstances.iterator();
}
public void addToUpdateOnlyTheseInstances(Range elem) {
if (this.updateOnlyTheseInstances == null) {
this.updateOnlyTheseInstances = new HashSet<Range>();
}
this.updateOnlyTheseInstances.add(elem);
}
/**
* Instance IDs to act on. All instances will be affected if this is not set.
*/
public Set<Range> getUpdateOnlyTheseInstances() {
return this.updateOnlyTheseInstances;
}
/**
* Instance IDs to act on. All instances will be affected if this is not set.
*/
public JobUpdateSettings setUpdateOnlyTheseInstances(Set<Range> updateOnlyTheseInstances) {
this.updateOnlyTheseInstances = updateOnlyTheseInstances;
return this;
}
public void unsetUpdateOnlyTheseInstances() {
this.updateOnlyTheseInstances = null;
}
/** Returns true if field updateOnlyTheseInstances is set (has been assigned a value) and false otherwise */
public boolean isSetUpdateOnlyTheseInstances() {
return this.updateOnlyTheseInstances != null;
}
public void setUpdateOnlyTheseInstancesIsSet(boolean value) {
if (!value) {
this.updateOnlyTheseInstances = null;
}
}
/**
* If true, use updateGroupSize as strict batching boundaries, and avoid proceeding to another
* batch until the preceding batch finishes updating.
*/
public boolean isWaitForBatchCompletion() {
return this.waitForBatchCompletion;
}
/**
* If true, use updateGroupSize as strict batching boundaries, and avoid proceeding to another
* batch until the preceding batch finishes updating.
*/
public JobUpdateSettings setWaitForBatchCompletion(boolean waitForBatchCompletion) {
this.waitForBatchCompletion = waitForBatchCompletion;
setWaitForBatchCompletionIsSet(true);
return this;
}
public void unsetWaitForBatchCompletion() {
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __WAITFORBATCHCOMPLETION_ISSET_ID);
}
/** Returns true if field waitForBatchCompletion is set (has been assigned a value) and false otherwise */
public boolean isSetWaitForBatchCompletion() {
return EncodingUtils.testBit(__isset_bitfield, __WAITFORBATCHCOMPLETION_ISSET_ID);
}
public void setWaitForBatchCompletionIsSet(boolean value) {
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __WAITFORBATCHCOMPLETION_ISSET_ID, value);
}
/**
* If set, requires external calls to pulseJobUpdate RPC within the specified rate for the
* update to make progress. If no pulses received within specified interval the update will
* block. A blocked update is unable to continue but retains its current status. It may only get
* unblocked by a fresh pulseJobUpdate call.
*/
public int getBlockIfNoPulsesAfterMs() {
return this.blockIfNoPulsesAfterMs;
}
/**
* If set, requires external calls to pulseJobUpdate RPC within the specified rate for the
* update to make progress. If no pulses received within specified interval the update will
* block. A blocked update is unable to continue but retains its current status. It may only get
* unblocked by a fresh pulseJobUpdate call.
*/
public JobUpdateSettings setBlockIfNoPulsesAfterMs(int blockIfNoPulsesAfterMs) {
this.blockIfNoPulsesAfterMs = blockIfNoPulsesAfterMs;
setBlockIfNoPulsesAfterMsIsSet(true);
return this;
}
public void unsetBlockIfNoPulsesAfterMs() {
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __BLOCKIFNOPULSESAFTERMS_ISSET_ID);
}
/** Returns true if field blockIfNoPulsesAfterMs is set (has been assigned a value) and false otherwise */
public boolean isSetBlockIfNoPulsesAfterMs() {
return EncodingUtils.testBit(__isset_bitfield, __BLOCKIFNOPULSESAFTERMS_ISSET_ID);
}
public void setBlockIfNoPulsesAfterMsIsSet(boolean value) {
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BLOCKIFNOPULSESAFTERMS_ISSET_ID, value);
}
public void setFieldValue(_Fields field, Object value) {
switch (field) {
case UPDATE_GROUP_SIZE:
if (value == null) {
unsetUpdateGroupSize();
} else {
setUpdateGroupSize((Integer)value);
}
break;
case MAX_PER_INSTANCE_FAILURES:
if (value == null) {
unsetMaxPerInstanceFailures();
} else {
setMaxPerInstanceFailures((Integer)value);
}
break;
case MAX_FAILED_INSTANCES:
if (value == null) {
unsetMaxFailedInstances();
} else {
setMaxFailedInstances((Integer)value);
}
break;
case MIN_WAIT_IN_INSTANCE_RUNNING_MS:
if (value == null) {
unsetMinWaitInInstanceRunningMs();
} else {
setMinWaitInInstanceRunningMs((Integer)value);
}
break;
case ROLLBACK_ON_FAILURE:
if (value == null) {
unsetRollbackOnFailure();
} else {
setRollbackOnFailure((Boolean)value);
}
break;
case UPDATE_ONLY_THESE_INSTANCES:
if (value == null) {
unsetUpdateOnlyTheseInstances();
} else {
setUpdateOnlyTheseInstances((Set<Range>)value);
}
break;
case WAIT_FOR_BATCH_COMPLETION:
if (value == null) {
unsetWaitForBatchCompletion();
} else {
setWaitForBatchCompletion((Boolean)value);
}
break;
case BLOCK_IF_NO_PULSES_AFTER_MS:
if (value == null) {
unsetBlockIfNoPulsesAfterMs();
} else {
setBlockIfNoPulsesAfterMs((Integer)value);
}
break;
}
}
public Object getFieldValue(_Fields field) {
switch (field) {
case UPDATE_GROUP_SIZE:
return getUpdateGroupSize();
case MAX_PER_INSTANCE_FAILURES:
return getMaxPerInstanceFailures();
case MAX_FAILED_INSTANCES:
return getMaxFailedInstances();
case MIN_WAIT_IN_INSTANCE_RUNNING_MS:
return getMinWaitInInstanceRunningMs();
case ROLLBACK_ON_FAILURE:
return isRollbackOnFailure();
case UPDATE_ONLY_THESE_INSTANCES:
return getUpdateOnlyTheseInstances();
case WAIT_FOR_BATCH_COMPLETION:
return isWaitForBatchCompletion();
case BLOCK_IF_NO_PULSES_AFTER_MS:
return getBlockIfNoPulsesAfterMs();
}
throw new IllegalStateException();
}
/** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
public boolean isSet(_Fields field) {
if (field == null) {
throw new IllegalArgumentException();
}
switch (field) {
case UPDATE_GROUP_SIZE:
return isSetUpdateGroupSize();
case MAX_PER_INSTANCE_FAILURES:
return isSetMaxPerInstanceFailures();
case MAX_FAILED_INSTANCES:
return isSetMaxFailedInstances();
case MIN_WAIT_IN_INSTANCE_RUNNING_MS:
return isSetMinWaitInInstanceRunningMs();
case ROLLBACK_ON_FAILURE:
return isSetRollbackOnFailure();
case UPDATE_ONLY_THESE_INSTANCES:
return isSetUpdateOnlyTheseInstances();
case WAIT_FOR_BATCH_COMPLETION:
return isSetWaitForBatchCompletion();
case BLOCK_IF_NO_PULSES_AFTER_MS:
return isSetBlockIfNoPulsesAfterMs();
}
throw new IllegalStateException();
}
@Override
public boolean equals(Object that) {
if (that == null)
return false;
if (that instanceof JobUpdateSettings)
return this.equals((JobUpdateSettings)that);
return false;
}
public boolean equals(JobUpdateSettings that) {
if (that == null)
return false;
boolean this_present_updateGroupSize = true;
boolean that_present_updateGroupSize = true;
if (this_present_updateGroupSize || that_present_updateGroupSize) {
if (!(this_present_updateGroupSize && that_present_updateGroupSize))
return false;
if (this.updateGroupSize != that.updateGroupSize)
return false;
}
boolean this_present_maxPerInstanceFailures = true;
boolean that_present_maxPerInstanceFailures = true;
if (this_present_maxPerInstanceFailures || that_present_maxPerInstanceFailures) {
if (!(this_present_maxPerInstanceFailures && that_present_maxPerInstanceFailures))
return false;
if (this.maxPerInstanceFailures != that.maxPerInstanceFailures)
return false;
}
boolean this_present_maxFailedInstances = true;
boolean that_present_maxFailedInstances = true;
if (this_present_maxFailedInstances || that_present_maxFailedInstances) {
if (!(this_present_maxFailedInstances && that_present_maxFailedInstances))
return false;
if (this.maxFailedInstances != that.maxFailedInstances)
return false;
}
boolean this_present_minWaitInInstanceRunningMs = true;
boolean that_present_minWaitInInstanceRunningMs = true;
if (this_present_minWaitInInstanceRunningMs || that_present_minWaitInInstanceRunningMs) {
if (!(this_present_minWaitInInstanceRunningMs && that_present_minWaitInInstanceRunningMs))
return false;
if (this.minWaitInInstanceRunningMs != that.minWaitInInstanceRunningMs)
return false;
}
boolean this_present_rollbackOnFailure = true;
boolean that_present_rollbackOnFailure = true;
if (this_present_rollbackOnFailure || that_present_rollbackOnFailure) {
if (!(this_present_rollbackOnFailure && that_present_rollbackOnFailure))
return false;
if (this.rollbackOnFailure != that.rollbackOnFailure)
return false;
}
boolean this_present_updateOnlyTheseInstances = true && this.isSetUpdateOnlyTheseInstances();
boolean that_present_updateOnlyTheseInstances = true && that.isSetUpdateOnlyTheseInstances();
if (this_present_updateOnlyTheseInstances || that_present_updateOnlyTheseInstances) {
if (!(this_present_updateOnlyTheseInstances && that_present_updateOnlyTheseInstances))
return false;
if (!this.updateOnlyTheseInstances.equals(that.updateOnlyTheseInstances))
return false;
}
boolean this_present_waitForBatchCompletion = true;
boolean that_present_waitForBatchCompletion = true;
if (this_present_waitForBatchCompletion || that_present_waitForBatchCompletion) {
if (!(this_present_waitForBatchCompletion && that_present_waitForBatchCompletion))
return false;
if (this.waitForBatchCompletion != that.waitForBatchCompletion)
return false;
}
boolean this_present_blockIfNoPulsesAfterMs = true && this.isSetBlockIfNoPulsesAfterMs();
boolean that_present_blockIfNoPulsesAfterMs = true && that.isSetBlockIfNoPulsesAfterMs();
if (this_present_blockIfNoPulsesAfterMs || that_present_blockIfNoPulsesAfterMs) {
if (!(this_present_blockIfNoPulsesAfterMs && that_present_blockIfNoPulsesAfterMs))
return false;
if (this.blockIfNoPulsesAfterMs != that.blockIfNoPulsesAfterMs)
return false;
}
return true;
}
@Override
public int hashCode() {
List<Object> list = new ArrayList<Object>();
boolean present_updateGroupSize = true;
list.add(present_updateGroupSize);
if (present_updateGroupSize)
list.add(updateGroupSize);
boolean present_maxPerInstanceFailures = true;
list.add(present_maxPerInstanceFailures);
if (present_maxPerInstanceFailures)
list.add(maxPerInstanceFailures);
boolean present_maxFailedInstances = true;
list.add(present_maxFailedInstances);
if (present_maxFailedInstances)
list.add(maxFailedInstances);
boolean present_minWaitInInstanceRunningMs = true;
list.add(present_minWaitInInstanceRunningMs);
if (present_minWaitInInstanceRunningMs)
list.add(minWaitInInstanceRunningMs);
boolean present_rollbackOnFailure = true;
list.add(present_rollbackOnFailure);
if (present_rollbackOnFailure)
list.add(rollbackOnFailure);
boolean present_updateOnlyTheseInstances = true && (isSetUpdateOnlyTheseInstances());
list.add(present_updateOnlyTheseInstances);
if (present_updateOnlyTheseInstances)
list.add(updateOnlyTheseInstances);
boolean present_waitForBatchCompletion = true;
list.add(present_waitForBatchCompletion);
if (present_waitForBatchCompletion)
list.add(waitForBatchCompletion);
boolean present_blockIfNoPulsesAfterMs = true && (isSetBlockIfNoPulsesAfterMs());
list.add(present_blockIfNoPulsesAfterMs);
if (present_blockIfNoPulsesAfterMs)
list.add(blockIfNoPulsesAfterMs);
return list.hashCode();
}
@Override
public int compareTo(JobUpdateSettings other) {
if (!getClass().equals(other.getClass())) {
return getClass().getName().compareTo(other.getClass().getName());
}
int lastComparison = 0;
lastComparison = Boolean.valueOf(isSetUpdateGroupSize()).compareTo(other.isSetUpdateGroupSize());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetUpdateGroupSize()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.updateGroupSize, other.updateGroupSize);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetMaxPerInstanceFailures()).compareTo(other.isSetMaxPerInstanceFailures());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetMaxPerInstanceFailures()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxPerInstanceFailures, other.maxPerInstanceFailures);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetMaxFailedInstances()).compareTo(other.isSetMaxFailedInstances());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetMaxFailedInstances()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxFailedInstances, other.maxFailedInstances);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetMinWaitInInstanceRunningMs()).compareTo(other.isSetMinWaitInInstanceRunningMs());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetMinWaitInInstanceRunningMs()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.minWaitInInstanceRunningMs, other.minWaitInInstanceRunningMs);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetRollbackOnFailure()).compareTo(other.isSetRollbackOnFailure());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetRollbackOnFailure()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rollbackOnFailure, other.rollbackOnFailure);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetUpdateOnlyTheseInstances()).compareTo(other.isSetUpdateOnlyTheseInstances());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetUpdateOnlyTheseInstances()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.updateOnlyTheseInstances, other.updateOnlyTheseInstances);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetWaitForBatchCompletion()).compareTo(other.isSetWaitForBatchCompletion());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetWaitForBatchCompletion()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.waitForBatchCompletion, other.waitForBatchCompletion);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetBlockIfNoPulsesAfterMs()).compareTo(other.isSetBlockIfNoPulsesAfterMs());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetBlockIfNoPulsesAfterMs()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.blockIfNoPulsesAfterMs, other.blockIfNoPulsesAfterMs);
if (lastComparison != 0) {
return lastComparison;
}
}
return 0;
}
public _Fields fieldForId(int fieldId) {
return _Fields.findByThriftId(fieldId);
}
public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
}
public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder("JobUpdateSettings(");
boolean first = true;
sb.append("updateGroupSize:");
sb.append(this.updateGroupSize);
first = false;
if (!first) sb.append(", ");
sb.append("maxPerInstanceFailures:");
sb.append(this.maxPerInstanceFailures);
first = false;
if (!first) sb.append(", ");
sb.append("maxFailedInstances:");
sb.append(this.maxFailedInstances);
first = false;
if (!first) sb.append(", ");
sb.append("minWaitInInstanceRunningMs:");
sb.append(this.minWaitInInstanceRunningMs);
first = false;
if (!first) sb.append(", ");
sb.append("rollbackOnFailure:");
sb.append(this.rollbackOnFailure);
first = false;
if (!first) sb.append(", ");
sb.append("updateOnlyTheseInstances:");
if (this.updateOnlyTheseInstances == null) {
sb.append("null");
} else {
sb.append(this.updateOnlyTheseInstances);
}
first = false;
if (!first) sb.append(", ");
sb.append("waitForBatchCompletion:");
sb.append(this.waitForBatchCompletion);
first = false;
if (isSetBlockIfNoPulsesAfterMs()) {
if (!first) sb.append(", ");
sb.append("blockIfNoPulsesAfterMs:");
sb.append(this.blockIfNoPulsesAfterMs);
first = false;
}
sb.append(")");
return sb.toString();
}
public void validate() throws org.apache.thrift.TException {
// check for required fields
// check for sub-struct validity
}
private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
try {
write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
} catch (org.apache.thrift.TException te) {
throw new java.io.IOException(te);
}
}
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
try {
// it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
__isset_bitfield = 0;
read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
} catch (org.apache.thrift.TException te) {
throw new java.io.IOException(te);
}
}
private static class JobUpdateSettingsStandardSchemeFactory implements SchemeFactory {
public JobUpdateSettingsStandardScheme getScheme() {
return new JobUpdateSettingsStandardScheme();
}
}
private static class JobUpdateSettingsStandardScheme extends StandardScheme<JobUpdateSettings> {
public void read(org.apache.thrift.protocol.TProtocol iprot, JobUpdateSettings struct) throws org.apache.thrift.TException {
org.apache.thrift.protocol.TField schemeField;
iprot.readStructBegin();
while (true)
{
schemeField = iprot.readFieldBegin();
if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
break;
}
switch (schemeField.id) {
case 1: // UPDATE_GROUP_SIZE
if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
struct.updateGroupSize = iprot.readI32();
struct.setUpdateGroupSizeIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 2: // MAX_PER_INSTANCE_FAILURES
if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
struct.maxPerInstanceFailures = iprot.readI32();
struct.setMaxPerInstanceFailuresIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 3: // MAX_FAILED_INSTANCES
if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
struct.maxFailedInstances = iprot.readI32();
struct.setMaxFailedInstancesIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 5: // MIN_WAIT_IN_INSTANCE_RUNNING_MS
if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
struct.minWaitInInstanceRunningMs = iprot.readI32();
struct.setMinWaitInInstanceRunningMsIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 6: // ROLLBACK_ON_FAILURE
if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
struct.rollbackOnFailure = iprot.readBool();
struct.setRollbackOnFailureIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 7: // UPDATE_ONLY_THESE_INSTANCES
if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
{
org.apache.thrift.protocol.TSet _set190 = iprot.readSetBegin();
struct.updateOnlyTheseInstances = new HashSet<Range>(2*_set190.size);
Range _elem191;
for (int _i192 = 0; _i192 < _set190.size; ++_i192)
{
_elem191 = new Range();
_elem191.read(iprot);
struct.updateOnlyTheseInstances.add(_elem191);
}
iprot.readSetEnd();
}
struct.setUpdateOnlyTheseInstancesIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 8: // WAIT_FOR_BATCH_COMPLETION
if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
struct.waitForBatchCompletion = iprot.readBool();
struct.setWaitForBatchCompletionIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 9: // BLOCK_IF_NO_PULSES_AFTER_MS
if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
struct.blockIfNoPulsesAfterMs = iprot.readI32();
struct.setBlockIfNoPulsesAfterMsIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
iprot.readFieldEnd();
}
iprot.readStructEnd();
// check for required fields of primitive type, which can't be checked in the validate method
struct.validate();
}
public void write(org.apache.thrift.protocol.TProtocol oprot, JobUpdateSettings struct) throws org.apache.thrift.TException {
struct.validate();
oprot.writeStructBegin(STRUCT_DESC);
oprot.writeFieldBegin(UPDATE_GROUP_SIZE_FIELD_DESC);
oprot.writeI32(struct.updateGroupSize);
oprot.writeFieldEnd();
oprot.writeFieldBegin(MAX_PER_INSTANCE_FAILURES_FIELD_DESC);
oprot.writeI32(struct.maxPerInstanceFailures);
oprot.writeFieldEnd();
oprot.writeFieldBegin(MAX_FAILED_INSTANCES_FIELD_DESC);
oprot.writeI32(struct.maxFailedInstances);
oprot.writeFieldEnd();
oprot.writeFieldBegin(MIN_WAIT_IN_INSTANCE_RUNNING_MS_FIELD_DESC);
oprot.writeI32(struct.minWaitInInstanceRunningMs);
oprot.writeFieldEnd();
oprot.writeFieldBegin(ROLLBACK_ON_FAILURE_FIELD_DESC);
oprot.writeBool(struct.rollbackOnFailure);
oprot.writeFieldEnd();
if (struct.updateOnlyTheseInstances != null) {
oprot.writeFieldBegin(UPDATE_ONLY_THESE_INSTANCES_FIELD_DESC);
{
oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, struct.updateOnlyTheseInstances.size()));
for (Range _iter193 : struct.updateOnlyTheseInstances)
{
_iter193.write(oprot);
}
oprot.writeSetEnd();
}
oprot.writeFieldEnd();
}
oprot.writeFieldBegin(WAIT_FOR_BATCH_COMPLETION_FIELD_DESC);
oprot.writeBool(struct.waitForBatchCompletion);
oprot.writeFieldEnd();
if (struct.isSetBlockIfNoPulsesAfterMs()) {
oprot.writeFieldBegin(BLOCK_IF_NO_PULSES_AFTER_MS_FIELD_DESC);
oprot.writeI32(struct.blockIfNoPulsesAfterMs);
oprot.writeFieldEnd();
}
oprot.writeFieldStop();
oprot.writeStructEnd();
}
}
private static class JobUpdateSettingsTupleSchemeFactory implements SchemeFactory {
public JobUpdateSettingsTupleScheme getScheme() {
return new JobUpdateSettingsTupleScheme();
}
}
private static class JobUpdateSettingsTupleScheme extends TupleScheme<JobUpdateSettings> {
@Override
public void write(org.apache.thrift.protocol.TProtocol prot, JobUpdateSettings struct) throws org.apache.thrift.TException {
TTupleProtocol oprot = (TTupleProtocol) prot;
BitSet optionals = new BitSet();
if (struct.isSetUpdateGroupSize()) {
optionals.set(0);
}
if (struct.isSetMaxPerInstanceFailures()) {
optionals.set(1);
}
if (struct.isSetMaxFailedInstances()) {
optionals.set(2);
}
if (struct.isSetMinWaitInInstanceRunningMs()) {
optionals.set(3);
}
if (struct.isSetRollbackOnFailure()) {
optionals.set(4);
}
if (struct.isSetUpdateOnlyTheseInstances()) {
optionals.set(5);
}
if (struct.isSetWaitForBatchCompletion()) {
optionals.set(6);
}
if (struct.isSetBlockIfNoPulsesAfterMs()) {
optionals.set(7);
}
oprot.writeBitSet(optionals, 8);
if (struct.isSetUpdateGroupSize()) {
oprot.writeI32(struct.updateGroupSize);
}
if (struct.isSetMaxPerInstanceFailures()) {
oprot.writeI32(struct.maxPerInstanceFailures);
}
if (struct.isSetMaxFailedInstances()) {
oprot.writeI32(struct.maxFailedInstances);
}
if (struct.isSetMinWaitInInstanceRunningMs()) {
oprot.writeI32(struct.minWaitInInstanceRunningMs);
}
if (struct.isSetRollbackOnFailure()) {
oprot.writeBool(struct.rollbackOnFailure);
}
if (struct.isSetUpdateOnlyTheseInstances()) {
{
oprot.writeI32(struct.updateOnlyTheseInstances.size());
for (Range _iter194 : struct.updateOnlyTheseInstances)
{
_iter194.write(oprot);
}
}
}
if (struct.isSetWaitForBatchCompletion()) {
oprot.writeBool(struct.waitForBatchCompletion);
}
if (struct.isSetBlockIfNoPulsesAfterMs()) {
oprot.writeI32(struct.blockIfNoPulsesAfterMs);
}
}
@Override
public void read(org.apache.thrift.protocol.TProtocol prot, JobUpdateSettings struct) throws org.apache.thrift.TException {
TTupleProtocol iprot = (TTupleProtocol) prot;
BitSet incoming = iprot.readBitSet(8);
if (incoming.get(0)) {
struct.updateGroupSize = iprot.readI32();
struct.setUpdateGroupSizeIsSet(true);
}
if (incoming.get(1)) {
struct.maxPerInstanceFailures = iprot.readI32();
struct.setMaxPerInstanceFailuresIsSet(true);
}
if (incoming.get(2)) {
struct.maxFailedInstances = iprot.readI32();
struct.setMaxFailedInstancesIsSet(true);
}
if (incoming.get(3)) {
struct.minWaitInInstanceRunningMs = iprot.readI32();
struct.setMinWaitInInstanceRunningMsIsSet(true);
}
if (incoming.get(4)) {
struct.rollbackOnFailure = iprot.readBool();
struct.setRollbackOnFailureIsSet(true);
}
if (incoming.get(5)) {
{
org.apache.thrift.protocol.TSet _set195 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
struct.updateOnlyTheseInstances = new HashSet<Range>(2*_set195.size);
Range _elem196;
for (int _i197 = 0; _i197 < _set195.size; ++_i197)
{
_elem196 = new Range();
_elem196.read(iprot);
struct.updateOnlyTheseInstances.add(_elem196);
}
}
struct.setUpdateOnlyTheseInstancesIsSet(true);
}
if (incoming.get(6)) {
struct.waitForBatchCompletion = iprot.readBool();
struct.setWaitForBatchCompletionIsSet(true);
}
if (incoming.get(7)) {
struct.blockIfNoPulsesAfterMs = iprot.readI32();
struct.setBlockIfNoPulsesAfterMsIsSet(true);
}
}
}
}