@Override public void emit(final O output) { final Map<Object, Long> aggregatedDynOptData = (Map<Object, Long>) output; final List<ControlMessage.PartitionSizeEntry> partitionSizeEntries = new ArrayList<>(); aggregatedDynOptData.forEach((key, size) -> partitionSizeEntries.add( ControlMessage.PartitionSizeEntry.newBuilder() // TODO #325: Add (de)serialization for non-string key types in data metric collection .setKey(key == null ? NULL_KEY : String.valueOf(key)) .setSize(size) .build()) ); connectionToMasterMap.getMessageSender(MessageEnvironment.RUNTIME_MASTER_MESSAGE_LISTENER_ID) .send(ControlMessage.Message.newBuilder() .setId(RuntimeIdManager.generateMessageId()) .setListenerId(MessageEnvironment.RUNTIME_MASTER_MESSAGE_LISTENER_ID) .setType(ControlMessage.MessageType.DataSizeMetric) .setDataSizeMetricMsg(ControlMessage.DataSizeMetricMsg.newBuilder() .addAllPartitionSize(partitionSizeEntries) ) .build()); // set the id of this vertex to mark the corresponding stage as put on hold taskExecutor.setIRVertexPutOnHold(irVertex); }
@Override public void emit(final O output) { final Map<Object, Long> aggregatedDynOptData = (Map<Object, Long>) output; final List<ControlMessage.PartitionSizeEntry> partitionSizeEntries = new ArrayList<>(); aggregatedDynOptData.forEach((key, size) -> partitionSizeEntries.add( ControlMessage.PartitionSizeEntry.newBuilder() .setKey(key == null ? NULL_KEY : String.valueOf(key)) .setSize(size) .build()) ); connectionToMasterMap.getMessageSender(MessageEnvironment.RUNTIME_MASTER_MESSAGE_LISTENER_ID) .send(ControlMessage.Message.newBuilder() .setId(RuntimeIdManager.generateMessageId()) .setListenerId(MessageEnvironment.RUNTIME_MASTER_MESSAGE_LISTENER_ID) .setType(ControlMessage.MessageType.DataSizeMetric) .setDataSizeMetricMsg(ControlMessage.DataSizeMetricMsg.newBuilder() .addAllPartitionSize(partitionSizeEntries) ) .build()); // set the id of this vertex to mark the corresponding stage as put on hold taskExecutor.setIRVertexPutOnHold(irVertex); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder(org.apache.nemo.runtime.common.comm.ControlMessage.PartitionSizeEntry prototype) {
public Builder toBuilder() { return newBuilder(this); }
public Builder toBuilder() { return newBuilder(this); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder(org.apache.nemo.runtime.common.comm.ControlMessage.PartitionSizeEntry prototype) {
public static Builder newBuilder(org.apache.nemo.runtime.common.comm.ControlMessage.PartitionSizeEntry prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); }
public static Builder newBuilder(org.apache.nemo.runtime.common.comm.ControlMessage.PartitionSizeEntry prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); }