http://git-wip-us.apache.org/repos/asf/storm/blob/48e23a99/storm-client/src/jvm/org/apache/storm/generated/WorkerMetricPoint.java ---------------------------------------------------------------------- diff --git a/storm-client/src/jvm/org/apache/storm/generated/WorkerMetricPoint.java b/storm-client/src/jvm/org/apache/storm/generated/WorkerMetricPoint.java new file mode 100644 index 0000000..719277a --- /dev/null +++ b/storm-client/src/jvm/org/apache/storm/generated/WorkerMetricPoint.java @@ -0,0 +1,903 @@ +/** + * 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.storm.generated; + +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"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)") +public class WorkerMetricPoint implements org.apache.thrift.TBase<WorkerMetricPoint, WorkerMetricPoint._Fields>, java.io.Serializable, Cloneable, Comparable<WorkerMetricPoint> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkerMetricPoint"); + + private static final org.apache.thrift.protocol.TField METRIC_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("metricName", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("timestamp", org.apache.thrift.protocol.TType.I64, (short)2); + private static final org.apache.thrift.protocol.TField METRIC_VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("metricValue", org.apache.thrift.protocol.TType.DOUBLE, (short)3); + private static final org.apache.thrift.protocol.TField COMPONENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("componentId", org.apache.thrift.protocol.TType.STRING, (short)4); + private static final org.apache.thrift.protocol.TField EXECUTOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("executorId", org.apache.thrift.protocol.TType.STRING, (short)5); + private static final org.apache.thrift.protocol.TField STREAM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("streamId", org.apache.thrift.protocol.TType.STRING, (short)6); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new WorkerMetricPointStandardSchemeFactory()); + schemes.put(TupleScheme.class, new WorkerMetricPointTupleSchemeFactory()); + } + + private String metricName; // required + private long timestamp; // required + private double metricValue; // required + private String componentId; // required + private String executorId; // required + private String streamId; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + METRIC_NAME((short)1, "metricName"), + TIMESTAMP((short)2, "timestamp"), + METRIC_VALUE((short)3, "metricValue"), + COMPONENT_ID((short)4, "componentId"), + EXECUTOR_ID((short)5, "executorId"), + STREAM_ID((short)6, "streamId"); + + 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: // METRIC_NAME + return METRIC_NAME; + case 2: // TIMESTAMP + return TIMESTAMP; + case 3: // METRIC_VALUE + return METRIC_VALUE; + case 4: // COMPONENT_ID + return COMPONENT_ID; + case 5: // EXECUTOR_ID + return EXECUTOR_ID; + case 6: // STREAM_ID + return STREAM_ID; + 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 __TIMESTAMP_ISSET_ID = 0; + private static final int __METRICVALUE_ISSET_ID = 1; + private byte __isset_bitfield = 0; + 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.METRIC_NAME, new org.apache.thrift.meta_data.FieldMetaData("metricName", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.TIMESTAMP, new org.apache.thrift.meta_data.FieldMetaData("timestamp", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))); + tmpMap.put(_Fields.METRIC_VALUE, new org.apache.thrift.meta_data.FieldMetaData("metricValue", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE))); + tmpMap.put(_Fields.COMPONENT_ID, new org.apache.thrift.meta_data.FieldMetaData("componentId", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.EXECUTOR_ID, new org.apache.thrift.meta_data.FieldMetaData("executorId", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.STREAM_ID, new org.apache.thrift.meta_data.FieldMetaData("streamId", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(WorkerMetricPoint.class, metaDataMap); + } + + public WorkerMetricPoint() { + } + + public WorkerMetricPoint( + String metricName, + long timestamp, + double metricValue, + String componentId, + String executorId, + String streamId) + { + this(); + this.metricName = metricName; + this.timestamp = timestamp; + set_timestamp_isSet(true); + this.metricValue = metricValue; + set_metricValue_isSet(true); + this.componentId = componentId; + this.executorId = executorId; + this.streamId = streamId; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public WorkerMetricPoint(WorkerMetricPoint other) { + __isset_bitfield = other.__isset_bitfield; + if (other.is_set_metricName()) { + this.metricName = other.metricName; + } + this.timestamp = other.timestamp; + this.metricValue = other.metricValue; + if (other.is_set_componentId()) { + this.componentId = other.componentId; + } + if (other.is_set_executorId()) { + this.executorId = other.executorId; + } + if (other.is_set_streamId()) { + this.streamId = other.streamId; + } + } + + public WorkerMetricPoint deepCopy() { + return new WorkerMetricPoint(this); + } + + @Override + public void clear() { + this.metricName = null; + set_timestamp_isSet(false); + this.timestamp = 0; + set_metricValue_isSet(false); + this.metricValue = 0.0; + this.componentId = null; + this.executorId = null; + this.streamId = null; + } + + public String get_metricName() { + return this.metricName; + } + + public void set_metricName(String metricName) { + this.metricName = metricName; + } + + public void unset_metricName() { + this.metricName = null; + } + + /** Returns true if field metricName is set (has been assigned a value) and false otherwise */ + public boolean is_set_metricName() { + return this.metricName != null; + } + + public void set_metricName_isSet(boolean value) { + if (!value) { + this.metricName = null; + } + } + + public long get_timestamp() { + return this.timestamp; + } + + public void set_timestamp(long timestamp) { + this.timestamp = timestamp; + set_timestamp_isSet(true); + } + + public void unset_timestamp() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMESTAMP_ISSET_ID); + } + + /** Returns true if field timestamp is set (has been assigned a value) and false otherwise */ + public boolean is_set_timestamp() { + return EncodingUtils.testBit(__isset_bitfield, __TIMESTAMP_ISSET_ID); + } + + public void set_timestamp_isSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMESTAMP_ISSET_ID, value); + } + + public double get_metricValue() { + return this.metricValue; + } + + public void set_metricValue(double metricValue) { + this.metricValue = metricValue; + set_metricValue_isSet(true); + } + + public void unset_metricValue() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __METRICVALUE_ISSET_ID); + } + + /** Returns true if field metricValue is set (has been assigned a value) and false otherwise */ + public boolean is_set_metricValue() { + return EncodingUtils.testBit(__isset_bitfield, __METRICVALUE_ISSET_ID); + } + + public void set_metricValue_isSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __METRICVALUE_ISSET_ID, value); + } + + public String get_componentId() { + return this.componentId; + } + + public void set_componentId(String componentId) { + this.componentId = componentId; + } + + public void unset_componentId() { + this.componentId = null; + } + + /** Returns true if field componentId is set (has been assigned a value) and false otherwise */ + public boolean is_set_componentId() { + return this.componentId != null; + } + + public void set_componentId_isSet(boolean value) { + if (!value) { + this.componentId = null; + } + } + + public String get_executorId() { + return this.executorId; + } + + public void set_executorId(String executorId) { + this.executorId = executorId; + } + + public void unset_executorId() { + this.executorId = null; + } + + /** Returns true if field executorId is set (has been assigned a value) and false otherwise */ + public boolean is_set_executorId() { + return this.executorId != null; + } + + public void set_executorId_isSet(boolean value) { + if (!value) { + this.executorId = null; + } + } + + public String get_streamId() { + return this.streamId; + } + + public void set_streamId(String streamId) { + this.streamId = streamId; + } + + public void unset_streamId() { + this.streamId = null; + } + + /** Returns true if field streamId is set (has been assigned a value) and false otherwise */ + public boolean is_set_streamId() { + return this.streamId != null; + } + + public void set_streamId_isSet(boolean value) { + if (!value) { + this.streamId = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case METRIC_NAME: + if (value == null) { + unset_metricName(); + } else { + set_metricName((String)value); + } + break; + + case TIMESTAMP: + if (value == null) { + unset_timestamp(); + } else { + set_timestamp((Long)value); + } + break; + + case METRIC_VALUE: + if (value == null) { + unset_metricValue(); + } else { + set_metricValue((Double)value); + } + break; + + case COMPONENT_ID: + if (value == null) { + unset_componentId(); + } else { + set_componentId((String)value); + } + break; + + case EXECUTOR_ID: + if (value == null) { + unset_executorId(); + } else { + set_executorId((String)value); + } + break; + + case STREAM_ID: + if (value == null) { + unset_streamId(); + } else { + set_streamId((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case METRIC_NAME: + return get_metricName(); + + case TIMESTAMP: + return get_timestamp(); + + case METRIC_VALUE: + return get_metricValue(); + + case COMPONENT_ID: + return get_componentId(); + + case EXECUTOR_ID: + return get_executorId(); + + case STREAM_ID: + return get_streamId(); + + } + 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 METRIC_NAME: + return is_set_metricName(); + case TIMESTAMP: + return is_set_timestamp(); + case METRIC_VALUE: + return is_set_metricValue(); + case COMPONENT_ID: + return is_set_componentId(); + case EXECUTOR_ID: + return is_set_executorId(); + case STREAM_ID: + return is_set_streamId(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof WorkerMetricPoint) + return this.equals((WorkerMetricPoint)that); + return false; + } + + public boolean equals(WorkerMetricPoint that) { + if (that == null) + return false; + + boolean this_present_metricName = true && this.is_set_metricName(); + boolean that_present_metricName = true && that.is_set_metricName(); + if (this_present_metricName || that_present_metricName) { + if (!(this_present_metricName && that_present_metricName)) + return false; + if (!this.metricName.equals(that.metricName)) + return false; + } + + boolean this_present_timestamp = true; + boolean that_present_timestamp = true; + if (this_present_timestamp || that_present_timestamp) { + if (!(this_present_timestamp && that_present_timestamp)) + return false; + if (this.timestamp != that.timestamp) + return false; + } + + boolean this_present_metricValue = true; + boolean that_present_metricValue = true; + if (this_present_metricValue || that_present_metricValue) { + if (!(this_present_metricValue && that_present_metricValue)) + return false; + if (this.metricValue != that.metricValue) + return false; + } + + boolean this_present_componentId = true && this.is_set_componentId(); + boolean that_present_componentId = true && that.is_set_componentId(); + if (this_present_componentId || that_present_componentId) { + if (!(this_present_componentId && that_present_componentId)) + return false; + if (!this.componentId.equals(that.componentId)) + return false; + } + + boolean this_present_executorId = true && this.is_set_executorId(); + boolean that_present_executorId = true && that.is_set_executorId(); + if (this_present_executorId || that_present_executorId) { + if (!(this_present_executorId && that_present_executorId)) + return false; + if (!this.executorId.equals(that.executorId)) + return false; + } + + boolean this_present_streamId = true && this.is_set_streamId(); + boolean that_present_streamId = true && that.is_set_streamId(); + if (this_present_streamId || that_present_streamId) { + if (!(this_present_streamId && that_present_streamId)) + return false; + if (!this.streamId.equals(that.streamId)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List<Object> list = new ArrayList<Object>(); + + boolean present_metricName = true && (is_set_metricName()); + list.add(present_metricName); + if (present_metricName) + list.add(metricName); + + boolean present_timestamp = true; + list.add(present_timestamp); + if (present_timestamp) + list.add(timestamp); + + boolean present_metricValue = true; + list.add(present_metricValue); + if (present_metricValue) + list.add(metricValue); + + boolean present_componentId = true && (is_set_componentId()); + list.add(present_componentId); + if (present_componentId) + list.add(componentId); + + boolean present_executorId = true && (is_set_executorId()); + list.add(present_executorId); + if (present_executorId) + list.add(executorId); + + boolean present_streamId = true && (is_set_streamId()); + list.add(present_streamId); + if (present_streamId) + list.add(streamId); + + return list.hashCode(); + } + + @Override + public int compareTo(WorkerMetricPoint other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(is_set_metricName()).compareTo(other.is_set_metricName()); + if (lastComparison != 0) { + return lastComparison; + } + if (is_set_metricName()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.metricName, other.metricName); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(is_set_timestamp()).compareTo(other.is_set_timestamp()); + if (lastComparison != 0) { + return lastComparison; + } + if (is_set_timestamp()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timestamp, other.timestamp); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(is_set_metricValue()).compareTo(other.is_set_metricValue()); + if (lastComparison != 0) { + return lastComparison; + } + if (is_set_metricValue()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.metricValue, other.metricValue); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(is_set_componentId()).compareTo(other.is_set_componentId()); + if (lastComparison != 0) { + return lastComparison; + } + if (is_set_componentId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.componentId, other.componentId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(is_set_executorId()).compareTo(other.is_set_executorId()); + if (lastComparison != 0) { + return lastComparison; + } + if (is_set_executorId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executorId, other.executorId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(is_set_streamId()).compareTo(other.is_set_streamId()); + if (lastComparison != 0) { + return lastComparison; + } + if (is_set_streamId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.streamId, other.streamId); + 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("WorkerMetricPoint("); + boolean first = true; + + sb.append("metricName:"); + if (this.metricName == null) { + sb.append("null"); + } else { + sb.append(this.metricName); + } + first = false; + if (!first) sb.append(", "); + sb.append("timestamp:"); + sb.append(this.timestamp); + first = false; + if (!first) sb.append(", "); + sb.append("metricValue:"); + sb.append(this.metricValue); + first = false; + if (!first) sb.append(", "); + sb.append("componentId:"); + if (this.componentId == null) { + sb.append("null"); + } else { + sb.append(this.componentId); + } + first = false; + if (!first) sb.append(", "); + sb.append("executorId:"); + if (this.executorId == null) { + sb.append("null"); + } else { + sb.append(this.executorId); + } + first = false; + if (!first) sb.append(", "); + sb.append("streamId:"); + if (this.streamId == null) { + sb.append("null"); + } else { + sb.append(this.streamId); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (!is_set_metricName()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'metricName' is unset! Struct:" + toString()); + } + + if (!is_set_timestamp()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'timestamp' is unset! Struct:" + toString()); + } + + if (!is_set_metricValue()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'metricValue' is unset! Struct:" + toString()); + } + + if (!is_set_componentId()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'componentId' is unset! Struct:" + toString()); + } + + if (!is_set_executorId()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'executorId' is unset! Struct:" + toString()); + } + + if (!is_set_streamId()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'streamId' is unset! Struct:" + toString()); + } + + // 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 WorkerMetricPointStandardSchemeFactory implements SchemeFactory { + public WorkerMetricPointStandardScheme getScheme() { + return new WorkerMetricPointStandardScheme(); + } + } + + private static class WorkerMetricPointStandardScheme extends StandardScheme<WorkerMetricPoint> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, WorkerMetricPoint 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: // METRIC_NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.metricName = iprot.readString(); + struct.set_metricName_isSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // TIMESTAMP + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.timestamp = iprot.readI64(); + struct.set_timestamp_isSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // METRIC_VALUE + if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) { + struct.metricValue = iprot.readDouble(); + struct.set_metricValue_isSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // COMPONENT_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.componentId = iprot.readString(); + struct.set_componentId_isSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // EXECUTOR_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.executorId = iprot.readString(); + struct.set_executorId_isSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 6: // STREAM_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.streamId = iprot.readString(); + struct.set_streamId_isSet(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(); + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, WorkerMetricPoint struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.metricName != null) { + oprot.writeFieldBegin(METRIC_NAME_FIELD_DESC); + oprot.writeString(struct.metricName); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); + oprot.writeI64(struct.timestamp); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(METRIC_VALUE_FIELD_DESC); + oprot.writeDouble(struct.metricValue); + oprot.writeFieldEnd(); + if (struct.componentId != null) { + oprot.writeFieldBegin(COMPONENT_ID_FIELD_DESC); + oprot.writeString(struct.componentId); + oprot.writeFieldEnd(); + } + if (struct.executorId != null) { + oprot.writeFieldBegin(EXECUTOR_ID_FIELD_DESC); + oprot.writeString(struct.executorId); + oprot.writeFieldEnd(); + } + if (struct.streamId != null) { + oprot.writeFieldBegin(STREAM_ID_FIELD_DESC); + oprot.writeString(struct.streamId); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class WorkerMetricPointTupleSchemeFactory implements SchemeFactory { + public WorkerMetricPointTupleScheme getScheme() { + return new WorkerMetricPointTupleScheme(); + } + } + + private static class WorkerMetricPointTupleScheme extends TupleScheme<WorkerMetricPoint> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, WorkerMetricPoint struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.metricName); + oprot.writeI64(struct.timestamp); + oprot.writeDouble(struct.metricValue); + oprot.writeString(struct.componentId); + oprot.writeString(struct.executorId); + oprot.writeString(struct.streamId); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, WorkerMetricPoint struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.metricName = iprot.readString(); + struct.set_metricName_isSet(true); + struct.timestamp = iprot.readI64(); + struct.set_timestamp_isSet(true); + struct.metricValue = iprot.readDouble(); + struct.set_metricValue_isSet(true); + struct.componentId = iprot.readString(); + struct.set_componentId_isSet(true); + struct.executorId = iprot.readString(); + struct.set_executorId_isSet(true); + struct.streamId = iprot.readString(); + struct.set_streamId_isSet(true); + } + } + +} +
http://git-wip-us.apache.org/repos/asf/storm/blob/48e23a99/storm-client/src/jvm/org/apache/storm/generated/WorkerMetrics.java ---------------------------------------------------------------------- diff --git a/storm-client/src/jvm/org/apache/storm/generated/WorkerMetrics.java b/storm-client/src/jvm/org/apache/storm/generated/WorkerMetrics.java new file mode 100644 index 0000000..f7813fd --- /dev/null +++ b/storm-client/src/jvm/org/apache/storm/generated/WorkerMetrics.java @@ -0,0 +1,712 @@ +/** + * 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.storm.generated; + +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"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)") +public class WorkerMetrics implements org.apache.thrift.TBase<WorkerMetrics, WorkerMetrics._Fields>, java.io.Serializable, Cloneable, Comparable<WorkerMetrics> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkerMetrics"); + + private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField PORT_FIELD_DESC = new org.apache.thrift.protocol.TField("port", org.apache.thrift.protocol.TType.I32, (short)2); + private static final org.apache.thrift.protocol.TField HOSTNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("hostname", org.apache.thrift.protocol.TType.STRING, (short)3); + private static final org.apache.thrift.protocol.TField METRIC_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("metricList", org.apache.thrift.protocol.TType.STRUCT, (short)4); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new WorkerMetricsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new WorkerMetricsTupleSchemeFactory()); + } + + private String topologyId; // required + private int port; // required + private String hostname; // required + private WorkerMetricList metricList; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + TOPOLOGY_ID((short)1, "topologyId"), + PORT((short)2, "port"), + HOSTNAME((short)3, "hostname"), + METRIC_LIST((short)4, "metricList"); + + 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: // TOPOLOGY_ID + return TOPOLOGY_ID; + case 2: // PORT + return PORT; + case 3: // HOSTNAME + return HOSTNAME; + case 4: // METRIC_LIST + return METRIC_LIST; + 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 __PORT_ISSET_ID = 0; + private byte __isset_bitfield = 0; + 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.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.PORT, new org.apache.thrift.meta_data.FieldMetaData("port", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.HOSTNAME, new org.apache.thrift.meta_data.FieldMetaData("hostname", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.METRIC_LIST, new org.apache.thrift.meta_data.FieldMetaData("metricList", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, WorkerMetricList.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(WorkerMetrics.class, metaDataMap); + } + + public WorkerMetrics() { + } + + public WorkerMetrics( + String topologyId, + int port, + String hostname, + WorkerMetricList metricList) + { + this(); + this.topologyId = topologyId; + this.port = port; + set_port_isSet(true); + this.hostname = hostname; + this.metricList = metricList; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public WorkerMetrics(WorkerMetrics other) { + __isset_bitfield = other.__isset_bitfield; + if (other.is_set_topologyId()) { + this.topologyId = other.topologyId; + } + this.port = other.port; + if (other.is_set_hostname()) { + this.hostname = other.hostname; + } + if (other.is_set_metricList()) { + this.metricList = new WorkerMetricList(other.metricList); + } + } + + public WorkerMetrics deepCopy() { + return new WorkerMetrics(this); + } + + @Override + public void clear() { + this.topologyId = null; + set_port_isSet(false); + this.port = 0; + this.hostname = null; + this.metricList = null; + } + + public String get_topologyId() { + return this.topologyId; + } + + public void set_topologyId(String topologyId) { + this.topologyId = topologyId; + } + + public void unset_topologyId() { + this.topologyId = null; + } + + /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */ + public boolean is_set_topologyId() { + return this.topologyId != null; + } + + public void set_topologyId_isSet(boolean value) { + if (!value) { + this.topologyId = null; + } + } + + public int get_port() { + return this.port; + } + + public void set_port(int port) { + this.port = port; + set_port_isSet(true); + } + + public void unset_port() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PORT_ISSET_ID); + } + + /** Returns true if field port is set (has been assigned a value) and false otherwise */ + public boolean is_set_port() { + return EncodingUtils.testBit(__isset_bitfield, __PORT_ISSET_ID); + } + + public void set_port_isSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PORT_ISSET_ID, value); + } + + public String get_hostname() { + return this.hostname; + } + + public void set_hostname(String hostname) { + this.hostname = hostname; + } + + public void unset_hostname() { + this.hostname = null; + } + + /** Returns true if field hostname is set (has been assigned a value) and false otherwise */ + public boolean is_set_hostname() { + return this.hostname != null; + } + + public void set_hostname_isSet(boolean value) { + if (!value) { + this.hostname = null; + } + } + + public WorkerMetricList get_metricList() { + return this.metricList; + } + + public void set_metricList(WorkerMetricList metricList) { + this.metricList = metricList; + } + + public void unset_metricList() { + this.metricList = null; + } + + /** Returns true if field metricList is set (has been assigned a value) and false otherwise */ + public boolean is_set_metricList() { + return this.metricList != null; + } + + public void set_metricList_isSet(boolean value) { + if (!value) { + this.metricList = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case TOPOLOGY_ID: + if (value == null) { + unset_topologyId(); + } else { + set_topologyId((String)value); + } + break; + + case PORT: + if (value == null) { + unset_port(); + } else { + set_port((Integer)value); + } + break; + + case HOSTNAME: + if (value == null) { + unset_hostname(); + } else { + set_hostname((String)value); + } + break; + + case METRIC_LIST: + if (value == null) { + unset_metricList(); + } else { + set_metricList((WorkerMetricList)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case TOPOLOGY_ID: + return get_topologyId(); + + case PORT: + return get_port(); + + case HOSTNAME: + return get_hostname(); + + case METRIC_LIST: + return get_metricList(); + + } + 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 TOPOLOGY_ID: + return is_set_topologyId(); + case PORT: + return is_set_port(); + case HOSTNAME: + return is_set_hostname(); + case METRIC_LIST: + return is_set_metricList(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof WorkerMetrics) + return this.equals((WorkerMetrics)that); + return false; + } + + public boolean equals(WorkerMetrics that) { + if (that == null) + return false; + + boolean this_present_topologyId = true && this.is_set_topologyId(); + boolean that_present_topologyId = true && that.is_set_topologyId(); + if (this_present_topologyId || that_present_topologyId) { + if (!(this_present_topologyId && that_present_topologyId)) + return false; + if (!this.topologyId.equals(that.topologyId)) + return false; + } + + boolean this_present_port = true; + boolean that_present_port = true; + if (this_present_port || that_present_port) { + if (!(this_present_port && that_present_port)) + return false; + if (this.port != that.port) + return false; + } + + boolean this_present_hostname = true && this.is_set_hostname(); + boolean that_present_hostname = true && that.is_set_hostname(); + if (this_present_hostname || that_present_hostname) { + if (!(this_present_hostname && that_present_hostname)) + return false; + if (!this.hostname.equals(that.hostname)) + return false; + } + + boolean this_present_metricList = true && this.is_set_metricList(); + boolean that_present_metricList = true && that.is_set_metricList(); + if (this_present_metricList || that_present_metricList) { + if (!(this_present_metricList && that_present_metricList)) + return false; + if (!this.metricList.equals(that.metricList)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List<Object> list = new ArrayList<Object>(); + + boolean present_topologyId = true && (is_set_topologyId()); + list.add(present_topologyId); + if (present_topologyId) + list.add(topologyId); + + boolean present_port = true; + list.add(present_port); + if (present_port) + list.add(port); + + boolean present_hostname = true && (is_set_hostname()); + list.add(present_hostname); + if (present_hostname) + list.add(hostname); + + boolean present_metricList = true && (is_set_metricList()); + list.add(present_metricList); + if (present_metricList) + list.add(metricList); + + return list.hashCode(); + } + + @Override + public int compareTo(WorkerMetrics other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId()); + if (lastComparison != 0) { + return lastComparison; + } + if (is_set_topologyId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(is_set_port()).compareTo(other.is_set_port()); + if (lastComparison != 0) { + return lastComparison; + } + if (is_set_port()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.port, other.port); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(is_set_hostname()).compareTo(other.is_set_hostname()); + if (lastComparison != 0) { + return lastComparison; + } + if (is_set_hostname()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hostname, other.hostname); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(is_set_metricList()).compareTo(other.is_set_metricList()); + if (lastComparison != 0) { + return lastComparison; + } + if (is_set_metricList()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.metricList, other.metricList); + 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("WorkerMetrics("); + boolean first = true; + + sb.append("topologyId:"); + if (this.topologyId == null) { + sb.append("null"); + } else { + sb.append(this.topologyId); + } + first = false; + if (!first) sb.append(", "); + sb.append("port:"); + sb.append(this.port); + first = false; + if (!first) sb.append(", "); + sb.append("hostname:"); + if (this.hostname == null) { + sb.append("null"); + } else { + sb.append(this.hostname); + } + first = false; + if (!first) sb.append(", "); + sb.append("metricList:"); + if (this.metricList == null) { + sb.append("null"); + } else { + sb.append(this.metricList); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (!is_set_topologyId()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'topologyId' is unset! Struct:" + toString()); + } + + if (!is_set_port()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'port' is unset! Struct:" + toString()); + } + + if (!is_set_hostname()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'hostname' is unset! Struct:" + toString()); + } + + if (!is_set_metricList()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'metricList' is unset! Struct:" + toString()); + } + + // check for sub-struct validity + if (metricList != null) { + metricList.validate(); + } + } + + 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 WorkerMetricsStandardSchemeFactory implements SchemeFactory { + public WorkerMetricsStandardScheme getScheme() { + return new WorkerMetricsStandardScheme(); + } + } + + private static class WorkerMetricsStandardScheme extends StandardScheme<WorkerMetrics> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, WorkerMetrics 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: // TOPOLOGY_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.topologyId = iprot.readString(); + struct.set_topologyId_isSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // PORT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.port = iprot.readI32(); + struct.set_port_isSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // HOSTNAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.hostname = iprot.readString(); + struct.set_hostname_isSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // METRIC_LIST + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.metricList = new WorkerMetricList(); + struct.metricList.read(iprot); + struct.set_metricList_isSet(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(); + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, WorkerMetrics struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.topologyId != null) { + oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC); + oprot.writeString(struct.topologyId); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(PORT_FIELD_DESC); + oprot.writeI32(struct.port); + oprot.writeFieldEnd(); + if (struct.hostname != null) { + oprot.writeFieldBegin(HOSTNAME_FIELD_DESC); + oprot.writeString(struct.hostname); + oprot.writeFieldEnd(); + } + if (struct.metricList != null) { + oprot.writeFieldBegin(METRIC_LIST_FIELD_DESC); + struct.metricList.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class WorkerMetricsTupleSchemeFactory implements SchemeFactory { + public WorkerMetricsTupleScheme getScheme() { + return new WorkerMetricsTupleScheme(); + } + } + + private static class WorkerMetricsTupleScheme extends TupleScheme<WorkerMetrics> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, WorkerMetrics struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.topologyId); + oprot.writeI32(struct.port); + oprot.writeString(struct.hostname); + struct.metricList.write(oprot); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, WorkerMetrics struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.topologyId = iprot.readString(); + struct.set_topologyId_isSet(true); + struct.port = iprot.readI32(); + struct.set_port_isSet(true); + struct.hostname = iprot.readString(); + struct.set_hostname_isSet(true); + struct.metricList = new WorkerMetricList(); + struct.metricList.read(iprot); + struct.set_metricList_isSet(true); + } + } + +} + http://git-wip-us.apache.org/repos/asf/storm/blob/48e23a99/storm-client/src/jvm/org/apache/storm/generated/WorkerResources.java ---------------------------------------------------------------------- diff --git a/storm-client/src/jvm/org/apache/storm/generated/WorkerResources.java b/storm-client/src/jvm/org/apache/storm/generated/WorkerResources.java index 56e2348..d25b5b0 100644 --- a/storm-client/src/jvm/org/apache/storm/generated/WorkerResources.java +++ b/storm-client/src/jvm/org/apache/storm/generated/WorkerResources.java @@ -876,15 +876,15 @@ public class WorkerResources implements org.apache.thrift.TBase<WorkerResources, case 6: // RESOURCES if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map646 = iprot.readMapBegin(); - struct.resources = new HashMap<String,Double>(2*_map646.size); - String _key647; - double _val648; - for (int _i649 = 0; _i649 < _map646.size; ++_i649) + org.apache.thrift.protocol.TMap _map666 = iprot.readMapBegin(); + struct.resources = new HashMap<String,Double>(2*_map666.size); + String _key667; + double _val668; + for (int _i669 = 0; _i669 < _map666.size; ++_i669) { - _key647 = iprot.readString(); - _val648 = iprot.readDouble(); - struct.resources.put(_key647, _val648); + _key667 = iprot.readString(); + _val668 = iprot.readDouble(); + struct.resources.put(_key667, _val668); } iprot.readMapEnd(); } @@ -896,15 +896,15 @@ public class WorkerResources implements org.apache.thrift.TBase<WorkerResources, case 7: // SHARED_RESOURCES if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map650 = iprot.readMapBegin(); - struct.shared_resources = new HashMap<String,Double>(2*_map650.size); - String _key651; - double _val652; - for (int _i653 = 0; _i653 < _map650.size; ++_i653) + org.apache.thrift.protocol.TMap _map670 = iprot.readMapBegin(); + struct.shared_resources = new HashMap<String,Double>(2*_map670.size); + String _key671; + double _val672; + for (int _i673 = 0; _i673 < _map670.size; ++_i673) { - _key651 = iprot.readString(); - _val652 = iprot.readDouble(); - struct.shared_resources.put(_key651, _val652); + _key671 = iprot.readString(); + _val672 = iprot.readDouble(); + struct.shared_resources.put(_key671, _val672); } iprot.readMapEnd(); } @@ -956,10 +956,10 @@ public class WorkerResources implements org.apache.thrift.TBase<WorkerResources, oprot.writeFieldBegin(RESOURCES_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE, struct.resources.size())); - for (Map.Entry<String, Double> _iter654 : struct.resources.entrySet()) + for (Map.Entry<String, Double> _iter674 : struct.resources.entrySet()) { - oprot.writeString(_iter654.getKey()); - oprot.writeDouble(_iter654.getValue()); + oprot.writeString(_iter674.getKey()); + oprot.writeDouble(_iter674.getValue()); } oprot.writeMapEnd(); } @@ -971,10 +971,10 @@ public class WorkerResources implements org.apache.thrift.TBase<WorkerResources, oprot.writeFieldBegin(SHARED_RESOURCES_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE, struct.shared_resources.size())); - for (Map.Entry<String, Double> _iter655 : struct.shared_resources.entrySet()) + for (Map.Entry<String, Double> _iter675 : struct.shared_resources.entrySet()) { - oprot.writeString(_iter655.getKey()); - oprot.writeDouble(_iter655.getValue()); + oprot.writeString(_iter675.getKey()); + oprot.writeDouble(_iter675.getValue()); } oprot.writeMapEnd(); } @@ -1039,20 +1039,20 @@ public class WorkerResources implements org.apache.thrift.TBase<WorkerResources, if (struct.is_set_resources()) { { oprot.writeI32(struct.resources.size()); - for (Map.Entry<String, Double> _iter656 : struct.resources.entrySet()) + for (Map.Entry<String, Double> _iter676 : struct.resources.entrySet()) { - oprot.writeString(_iter656.getKey()); - oprot.writeDouble(_iter656.getValue()); + oprot.writeString(_iter676.getKey()); + oprot.writeDouble(_iter676.getValue()); } } } if (struct.is_set_shared_resources()) { { oprot.writeI32(struct.shared_resources.size()); - for (Map.Entry<String, Double> _iter657 : struct.shared_resources.entrySet()) + for (Map.Entry<String, Double> _iter677 : struct.shared_resources.entrySet()) { - oprot.writeString(_iter657.getKey()); - oprot.writeDouble(_iter657.getValue()); + oprot.writeString(_iter677.getKey()); + oprot.writeDouble(_iter677.getValue()); } } } @@ -1084,30 +1084,30 @@ public class WorkerResources implements org.apache.thrift.TBase<WorkerResources, } if (incoming.get(5)) { { - org.apache.thrift.protocol.TMap _map658 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE, iprot.readI32()); - struct.resources = new HashMap<String,Double>(2*_map658.size); - String _key659; - double _val660; - for (int _i661 = 0; _i661 < _map658.size; ++_i661) + org.apache.thrift.protocol.TMap _map678 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE, iprot.readI32()); + struct.resources = new HashMap<String,Double>(2*_map678.size); + String _key679; + double _val680; + for (int _i681 = 0; _i681 < _map678.size; ++_i681) { - _key659 = iprot.readString(); - _val660 = iprot.readDouble(); - struct.resources.put(_key659, _val660); + _key679 = iprot.readString(); + _val680 = iprot.readDouble(); + struct.resources.put(_key679, _val680); } } struct.set_resources_isSet(true); } if (incoming.get(6)) { { - org.apache.thrift.protocol.TMap _map662 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE, iprot.readI32()); - struct.shared_resources = new HashMap<String,Double>(2*_map662.size); - String _key663; - double _val664; - for (int _i665 = 0; _i665 < _map662.size; ++_i665) + org.apache.thrift.protocol.TMap _map682 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE, iprot.readI32()); + struct.shared_resources = new HashMap<String,Double>(2*_map682.size); + String _key683; + double _val684; + for (int _i685 = 0; _i685 < _map682.size; ++_i685) { - _key663 = iprot.readString(); - _val664 = iprot.readDouble(); - struct.shared_resources.put(_key663, _val664); + _key683 = iprot.readString(); + _val684 = iprot.readDouble(); + struct.shared_resources.put(_key683, _val684); } } struct.set_shared_resources_isSet(true); http://git-wip-us.apache.org/repos/asf/storm/blob/48e23a99/storm-client/src/jvm/org/apache/storm/security/auth/authorizer/SimpleACLAuthorizer.java ---------------------------------------------------------------------- diff --git a/storm-client/src/jvm/org/apache/storm/security/auth/authorizer/SimpleACLAuthorizer.java b/storm-client/src/jvm/org/apache/storm/security/auth/authorizer/SimpleACLAuthorizer.java index dcc4854..05247f9 100644 --- a/storm-client/src/jvm/org/apache/storm/security/auth/authorizer/SimpleACLAuthorizer.java +++ b/storm-client/src/jvm/org/apache/storm/security/auth/authorizer/SimpleACLAuthorizer.java @@ -18,12 +18,12 @@ package org.apache.storm.security.auth.authorizer; +import java.io.IOException; import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; import java.util.Map; import java.util.Set; -import java.util.HashSet; -import java.util.Collection; -import java.io.IOException; import org.apache.storm.Config; import org.apache.storm.security.auth.IAuthorizer; @@ -49,7 +49,9 @@ public class SimpleACLAuthorizer implements IAuthorizer { "getClusterInfo", "getSupervisorPageInfo", "getOwnerResourceSummaries")); - protected Set<String> supervisorCommands = new HashSet<>(Arrays.asList("fileDownload")); + protected Set<String> supervisorCommands = new HashSet<>(Arrays.asList( + "fileDownload", + "processWorkerMetrics")); protected Set<String> topoReadOnlyCommands = new HashSet<>(Arrays.asList( "getTopologyConf", "getTopology", @@ -86,8 +88,9 @@ public class SimpleACLAuthorizer implements IAuthorizer { protected Set<String> nimbusGroups; protected IPrincipalToLocal ptol; protected IGroupMappingServiceProvider groupMappingServiceProvider; + /** - * Invoked once immediately after construction + * Invoked once immediately after construction. * @param conf Storm configuration */ @Override @@ -123,7 +126,7 @@ public class SimpleACLAuthorizer implements IAuthorizer { } /** - * permit() method is invoked for each incoming Thrift request + * permit() method is invoked for each incoming Thrift request. * @param context request context includes info about * @param operation operation name * @param topoConf configuration of targeted topology @@ -138,7 +141,7 @@ public class SimpleACLAuthorizer implements IAuthorizer { if (groupMappingServiceProvider != null) { try { userGroups = groupMappingServiceProvider.getGroups(user); - } catch(IOException e) { + } catch (IOException e) { LOG.warn("Error while trying to fetch user groups",e); } } @@ -169,7 +172,7 @@ public class SimpleACLAuthorizer implements IAuthorizer { } private Boolean checkTopoPermission(String principal, String user, Set<String> userGroups, - Map<String, Object> topoConf, String userConfigKey, String groupConfigKey){ + Map<String, Object> topoConf, String userConfigKey, String groupConfigKey) { Set<String> configuredUsers = new HashSet<>(); if (topoConf.containsKey(userConfigKey)) { @@ -189,10 +192,11 @@ public class SimpleACLAuthorizer implements IAuthorizer { } private Boolean checkUserGroupAllowed(Set<String> userGroups, Set<String> configuredGroups) { - if(userGroups.size() > 0 && configuredGroups.size() > 0) { + if (userGroups.size() > 0 && configuredGroups.size() > 0) { for (String tgroup : configuredGroups) { - if(userGroups.contains(tgroup)) + if (userGroups.contains(tgroup)) { return true; + } } } return false; http://git-wip-us.apache.org/repos/asf/storm/blob/48e23a99/storm-client/src/jvm/org/apache/storm/utils/ConfigUtils.java ---------------------------------------------------------------------- diff --git a/storm-client/src/jvm/org/apache/storm/utils/ConfigUtils.java b/storm-client/src/jvm/org/apache/storm/utils/ConfigUtils.java index 1c8015a..1bc94ac 100644 --- a/storm-client/src/jvm/org/apache/storm/utils/ConfigUtils.java +++ b/storm-client/src/jvm/org/apache/storm/utils/ConfigUtils.java @@ -217,7 +217,6 @@ public class ConfigUtils { } public static String absoluteStormBlobStoreDir(Map<String, Object> conf) { - String stormHome = System.getProperty("storm.home"); String blobStoreDir = (String) conf.get(Config.BLOBSTORE_DIR); if (blobStoreDir == null) { return ConfigUtils.absoluteStormLocalDir(conf); @@ -225,6 +224,7 @@ public class ConfigUtils { if (new File(blobStoreDir).isAbsolute()) { return blobStoreDir; } else { + String stormHome = System.getProperty("storm.home"); return (stormHome + FILE_SEPARATOR + blobStoreDir); } } @@ -273,7 +273,7 @@ public class ConfigUtils { public static Map overrideLoginConfigWithSystemProperty(Map<String, Object> conf) { // note that we delete the return value String loginConfFile = System.getProperty("java.security.auth.login.config"); if (loginConfFile != null) { - conf.put("java.security.auth.login.config", loginConfFile); + conf.put("java.security.auth.login.config", loginConfFile); } return conf; } http://git-wip-us.apache.org/repos/asf/storm/blob/48e23a99/storm-client/src/jvm/org/apache/storm/utils/Utils.java ---------------------------------------------------------------------- diff --git a/storm-client/src/jvm/org/apache/storm/utils/Utils.java b/storm-client/src/jvm/org/apache/storm/utils/Utils.java index 4ad2ee2..73cfc81 100644 --- a/storm-client/src/jvm/org/apache/storm/utils/Utils.java +++ b/storm-client/src/jvm/org/apache/storm/utils/Utils.java @@ -291,12 +291,22 @@ public class Utils { * runtime to avoid any zombie process in case cleanup function hangs. */ public static void addShutdownHookWithForceKillIn1Sec (Runnable func) { + addShutdownHookWithDelayedForceKill(func, 1); + } + + /** + * Adds the user supplied function as a shutdown hook for cleanup. + * Also adds a function that sleeps for numSecs and then halts the + * runtime to avoid any zombie process in case cleanup function hangs. + */ + public static void addShutdownHookWithDelayedForceKill (Runnable func, int numSecs) { Runnable sleepKill = new Runnable() { @Override public void run() { try { - Time.sleepSecs(1); - LOG.warn("Forceing Halt..."); + LOG.info("Halting after {} seconds", numSecs); + Time.sleepSecs(numSecs); + LOG.warn("Forcing Halt..."); Runtime.getRuntime().halt(20); } catch (Exception e) { LOG.warn("Exception in the ShutDownHook", e); http://git-wip-us.apache.org/repos/asf/storm/blob/48e23a99/storm-client/src/py/storm/Nimbus-remote ---------------------------------------------------------------------- diff --git a/storm-client/src/py/storm/Nimbus-remote b/storm-client/src/py/storm/Nimbus-remote index 7b080cf..1ce91e4 100644 --- a/storm-client/src/py/storm/Nimbus-remote +++ b/storm-client/src/py/storm/Nimbus-remote @@ -88,6 +88,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help': print(' StormTopology getUserTopology(string id)') print(' TopologyHistoryInfo getTopologyHistory(string user)') print(' getOwnerResourceSummaries(string owner)') + print(' void processWorkerMetrics(WorkerMetrics metrics)') print('') sys.exit(0) @@ -420,6 +421,12 @@ elif cmd == 'getOwnerResourceSummaries': sys.exit(1) pp.pprint(client.getOwnerResourceSummaries(args[0],)) +elif cmd == 'processWorkerMetrics': + if len(args) != 1: + print('processWorkerMetrics requires 1 args') + sys.exit(1) + pp.pprint(client.processWorkerMetrics(eval(args[0]),)) + else: print('Unrecognized method %s' % cmd) sys.exit(1) http://git-wip-us.apache.org/repos/asf/storm/blob/48e23a99/storm-client/src/py/storm/Nimbus.py ---------------------------------------------------------------------- diff --git a/storm-client/src/py/storm/Nimbus.py b/storm-client/src/py/storm/Nimbus.py index 522921b..5f9f324 100644 --- a/storm-client/src/py/storm/Nimbus.py +++ b/storm-client/src/py/storm/Nimbus.py @@ -383,6 +383,13 @@ class Iface: """ pass + def processWorkerMetrics(self, metrics): + """ + Parameters: + - metrics + """ + pass + class Client(Iface): def __init__(self, iprot, oprot=None): @@ -1967,6 +1974,35 @@ class Client(Iface): raise result.aze raise TApplicationException(TApplicationException.MISSING_RESULT, "getOwnerResourceSummaries failed: unknown result") + def processWorkerMetrics(self, metrics): + """ + Parameters: + - metrics + """ + self.send_processWorkerMetrics(metrics) + self.recv_processWorkerMetrics() + + def send_processWorkerMetrics(self, metrics): + self._oprot.writeMessageBegin('processWorkerMetrics', TMessageType.CALL, self._seqid) + args = processWorkerMetrics_args() + args.metrics = metrics + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_processWorkerMetrics(self): + iprot = self._iprot + (fname, mtype, rseqid) = iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(iprot) + iprot.readMessageEnd() + raise x + result = processWorkerMetrics_result() + result.read(iprot) + iprot.readMessageEnd() + return + class Processor(Iface, TProcessor): def __init__(self, handler): @@ -2018,6 +2054,7 @@ class Processor(Iface, TProcessor): self._processMap["getUserTopology"] = Processor.process_getUserTopology self._processMap["getTopologyHistory"] = Processor.process_getTopologyHistory self._processMap["getOwnerResourceSummaries"] = Processor.process_getOwnerResourceSummaries + self._processMap["processWorkerMetrics"] = Processor.process_processWorkerMetrics def process(self, iprot, oprot): (name, type, seqid) = iprot.readMessageBegin() @@ -3115,6 +3152,25 @@ class Processor(Iface, TProcessor): oprot.writeMessageEnd() oprot.trans.flush() + def process_processWorkerMetrics(self, seqid, iprot, oprot): + args = processWorkerMetrics_args() + args.read(iprot) + iprot.readMessageEnd() + result = processWorkerMetrics_result() + try: + self._handler.processWorkerMetrics(args.metrics) + msg_type = TMessageType.REPLY + except (TTransport.TTransportException, KeyboardInterrupt, SystemExit): + raise + except Exception as ex: + msg_type = TMessageType.EXCEPTION + logging.exception(ex) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + oprot.writeMessageBegin("processWorkerMetrics", msg_type, seqid) + result.write(oprot) + oprot.writeMessageEnd() + oprot.trans.flush() + # HELPER FUNCTIONS AND STRUCTURES @@ -4977,11 +5033,11 @@ class getComponentPendingProfileActions_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype776, _size773) = iprot.readListBegin() - for _i777 in xrange(_size773): - _elem778 = ProfileRequest() - _elem778.read(iprot) - self.success.append(_elem778) + (_etype801, _size798) = iprot.readListBegin() + for _i802 in xrange(_size798): + _elem803 = ProfileRequest() + _elem803.read(iprot) + self.success.append(_elem803) iprot.readListEnd() else: iprot.skip(ftype) @@ -4998,8 +5054,8 @@ class getComponentPendingProfileActions_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter779 in self.success: - iter779.write(oprot) + for iter804 in self.success: + iter804.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -10070,11 +10126,11 @@ class getOwnerResourceSummaries_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype783, _size780) = iprot.readListBegin() - for _i784 in xrange(_size780): - _elem785 = OwnerResourceSummary() - _elem785.read(iprot) - self.success.append(_elem785) + (_etype808, _size805) = iprot.readListBegin() + for _i809 in xrange(_size805): + _elem810 = OwnerResourceSummary() + _elem810.read(iprot) + self.success.append(_elem810) iprot.readListEnd() else: iprot.skip(ftype) @@ -10097,8 +10153,8 @@ class getOwnerResourceSummaries_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter786 in self.success: - iter786.write(oprot) + for iter811 in self.success: + iter811.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.aze is not None: @@ -10128,3 +10184,115 @@ class getOwnerResourceSummaries_result: def __ne__(self, other): return not (self == other) + +class processWorkerMetrics_args: + """ + Attributes: + - metrics + """ + + thrift_spec = ( + None, # 0 + (1, TType.STRUCT, 'metrics', (WorkerMetrics, WorkerMetrics.thrift_spec), None, ), # 1 + ) + + def __init__(self, metrics=None,): + self.metrics = metrics + + def read(self, iprot): + if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: + fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.metrics = WorkerMetrics() + self.metrics.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: + oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('processWorkerMetrics_args') + if self.metrics is not None: + oprot.writeFieldBegin('metrics', TType.STRUCT, 1) + self.metrics.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.metrics) + return value + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.iteritems()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) + +class processWorkerMetrics_result: + + thrift_spec = ( + ) + + def read(self, iprot): + if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: + fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: + oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('processWorkerMetrics_result') + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + + def __hash__(self): + value = 17 + return value + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.iteritems()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other)
