@Override public void write(DataOutput out) throws IOException { out.writeInt(producerConsumerType.ordinal()); if (taskVertexName != null) { out.writeBoolean(true); out.writeUTF(taskVertexName); } else { out.writeBoolean(false); } if (edgeVertexName != null) { out.writeBoolean(true); out.writeUTF(edgeVertexName); } else { out.writeBoolean(false); } if(taskAttemptID != null) { out.writeBoolean(true); taskAttemptID.write(out); } else { out.writeBoolean(false); } }
@Override public void readFields(DataInput in) throws IOException { producerConsumerType = EventProducerConsumerType.values()[in.readInt()]; if (in.readBoolean()) { taskVertexName = StringInterner.weakIntern(in.readUTF()); } if (in.readBoolean()) { edgeVertexName = StringInterner.weakIntern(in.readUTF()); } if (in.readBoolean()) { taskAttemptID = TezTaskAttemptID.readTezTaskAttemptID(in); } }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((edgeVertexName == null) ? 0 : edgeVertexName.hashCode()); result = prime * result + ((producerConsumerType == null) ? 0 : producerConsumerType.hashCode()); result = prime * result + ((taskAttemptID == null) ? 0 : taskAttemptID.hashCode()); result = prime * result + ((taskVertexName == null) ? 0 : taskVertexName.hashCode()); return result; }
public static EventMetaData convertEventMetaDataFromProto( RecoveryProtos.EventMetaDataProto proto) { TezTaskAttemptID attemptID = null; if (proto.hasTaskAttemptId()) { attemptID = TezTaskAttemptID.fromString(proto.getTaskAttemptId()); } return new EventMetaData( EventMetaData.EventProducerConsumerType.values()[proto.getProducerConsumerType()], proto.getTaskVertexName(), proto.getEdgeVertexName(), attemptID); } }
public static RecoveryProtos.EventMetaDataProto convertEventMetaDataToProto( EventMetaData eventMetaData) { RecoveryProtos.EventMetaDataProto.Builder builder = RecoveryProtos.EventMetaDataProto.newBuilder() .setProducerConsumerType(eventMetaData.getEventGenerator().ordinal()) .setEdgeVertexName(eventMetaData.getEdgeVertexName()) .setTaskVertexName(eventMetaData.getTaskVertexName()); if (eventMetaData.getTaskAttemptID() != null) { builder.setTaskAttemptId(eventMetaData.getTaskAttemptID().toString()); } return builder.build(); }