public Builder mergeFrom(com.dremio.exec.proto.ExecRPC.FragmentStreamComplete other) { if (other == com.dremio.exec.proto.ExecRPC.FragmentStreamComplete.getDefaultInstance()) return this; if (other.hasQueryId()) { mergeQueryId(other.getQueryId()); } if (other.hasReceivingMajorFragmentId()) { setReceivingMajorFragmentId(other.getReceivingMajorFragmentId()); } if (!other.receivingMinorFragmentId_.isEmpty()) { if (receivingMinorFragmentId_.isEmpty()) { receivingMinorFragmentId_ = other.receivingMinorFragmentId_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureReceivingMinorFragmentIdIsMutable(); receivingMinorFragmentId_.addAll(other.receivingMinorFragmentId_); } onChanged(); } if (other.hasSendingMajorFragmentId()) { setSendingMajorFragmentId(other.getSendingMajorFragmentId()); } if (other.hasSendingMinorFragmentId()) { setSendingMinorFragmentId(other.getSendingMinorFragmentId()); } this.mergeUnknownFields(other.getUnknownFields()); return this; }
hash = (19 * hash) + getDescriptorForType().hashCode(); if (hasQueryId()) { hash = (37 * hash) + QUERY_ID_FIELD_NUMBER; hash = (53 * hash) + getQueryId().hashCode(); if (hasReceivingMajorFragmentId()) { hash = (37 * hash) + RECEIVING_MAJOR_FRAGMENT_ID_FIELD_NUMBER; hash = (53 * hash) + getReceivingMajorFragmentId(); if (getReceivingMinorFragmentIdCount() > 0) { hash = (37 * hash) + RECEIVING_MINOR_FRAGMENT_ID_FIELD_NUMBER; hash = (53 * hash) + getReceivingMinorFragmentIdList().hashCode(); if (hasSendingMajorFragmentId()) { hash = (37 * hash) + SENDING_MAJOR_FRAGMENT_ID_FIELD_NUMBER; hash = (53 * hash) + getSendingMajorFragmentId(); if (hasSendingMinorFragmentId()) { hash = (37 * hash) + SENDING_MINOR_FRAGMENT_ID_FIELD_NUMBER; hash = (53 * hash) + getSendingMinorFragmentId(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash;
@Override public void noMoreToConsume() { for (int i = 0; i < tunnels.size(); ++i) { final FragmentStreamComplete completion = FragmentStreamComplete.newBuilder() .setQueryId(handle.getQueryId()) .setSendingMajorFragmentId(handle.getMajorFragmentId()) .setSendingMinorFragmentId(handle.getMinorFragmentId()) .setReceivingMajorFragmentId(config.getOppositeMajorFragmentId()) .addAllReceivingMinorFragmentId(minorFragments.get(i)) .build(); tunnels.get(i).sendStreamComplete(completion); } state = State.DONE; }
public com.dremio.exec.proto.ExecRPC.FragmentStreamComplete buildPartial() { com.dremio.exec.proto.ExecRPC.FragmentStreamComplete result = new com.dremio.exec.proto.ExecRPC.FragmentStreamComplete(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0;
result = result && (hasQueryId() == other.hasQueryId()); if (hasQueryId()) { result = result && getQueryId() .equals(other.getQueryId()); result = result && (hasReceivingMajorFragmentId() == other.hasReceivingMajorFragmentId()); if (hasReceivingMajorFragmentId()) { result = result && (getReceivingMajorFragmentId() == other.getReceivingMajorFragmentId()); result = result && getReceivingMinorFragmentIdList() .equals(other.getReceivingMinorFragmentIdList()); result = result && (hasSendingMajorFragmentId() == other.hasSendingMajorFragmentId()); if (hasSendingMajorFragmentId()) { result = result && (getSendingMajorFragmentId() == other.getSendingMajorFragmentId()); result = result && (hasSendingMinorFragmentId() == other.hasSendingMinorFragmentId()); if (hasSendingMinorFragmentId()) { result = result && (getSendingMinorFragmentId() == other.getSendingMinorFragmentId()); getUnknownFields().equals(other.getUnknownFields()); return result;
public Builder toBuilder() { return newBuilder(this); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder(com.dremio.exec.proto.ExecRPC.FragmentStreamComplete prototype) {
private void sendTermination() { final ExecProtos.FragmentHandle handle = context.getFragmentHandle(); stats.startWait(); for (MinorFragmentEndpoint destination : config.getDestinations()) { // don't send termination message if the receiver fragment is already terminated. if (remainingReceivers.get(destination.getId()) == 0) { ExecRPC.FragmentStreamComplete completion = ExecRPC.FragmentStreamComplete.newBuilder() .setQueryId(handle.getQueryId()) .setSendingMajorFragmentId(handle.getMajorFragmentId()) .setSendingMinorFragmentId(handle.getMinorFragmentId()) .setReceivingMajorFragmentId(config.getOppositeMajorFragmentId()) .addReceivingMinorFragmentId(destination.getId()) .build(); tunnelProvider.getExecTunnel(destination.getEndpoint()).sendStreamComplete(completion); } } stats.stopWait(); }
public com.dremio.exec.proto.ExecRPC.FragmentStreamComplete getDefaultInstanceForType() { return com.dremio.exec.proto.ExecRPC.FragmentStreamComplete.getDefaultInstance(); }
@Override public void noMoreToConsume() { for (int i = 0; i < tunnels.length; ++i) { final FragmentStreamComplete completion = FragmentStreamComplete.newBuilder() .setQueryId(handle.getQueryId()) .setSendingMajorFragmentId(handle.getMajorFragmentId()) .setSendingMinorFragmentId(handle.getMinorFragmentId()) .setReceivingMajorFragmentId(config.getOppositeMajorFragmentId()) .addAllReceivingMinorFragmentId(Ints.asList(receivingMinorFragments[i])) .build(); tunnels[i].sendStreamComplete(completion); } state = State.DONE; }
public static Builder newBuilder(com.dremio.exec.proto.ExecRPC.FragmentStreamComplete prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); }
@Override public MessageLite getResponseDefaultInstance(int rpcType) throws RpcException { switch (rpcType) { case RpcType.ACK_VALUE: return Ack.getDefaultInstance(); case RpcType.REQ_RECORD_BATCH_VALUE: return FragmentRecordBatch.getDefaultInstance(); case RpcType.REQ_STREAM_COMPLETE_VALUE: return FragmentStreamComplete.getDefaultInstance(); default: throw new UnsupportedOperationException(); } }
public void writeTo(io.protostuff.Output output, com.dremio.exec.proto.ExecRPC.FragmentStreamComplete message) throws java.io.IOException { if(message.hasQueryId()) output.writeObject(1, message.getQueryId(), com.dremio.exec.proto.SchemaUserBitShared.QueryId.WRITE, false); if(message.hasReceivingMajorFragmentId()) output.writeInt32(2, message.getReceivingMajorFragmentId(), false); for(int receivingMinorFragmentId : message.getReceivingMinorFragmentIdList()) output.writeInt32(3, receivingMinorFragmentId, true); if(message.hasSendingMajorFragmentId()) output.writeInt32(4, message.getSendingMajorFragmentId(), false); if(message.hasSendingMinorFragmentId()) output.writeInt32(5, message.getSendingMinorFragmentId(), false); } public boolean isInitialized(com.dremio.exec.proto.ExecRPC.FragmentStreamComplete message)
public com.dremio.exec.proto.ExecRPC.FragmentStreamComplete.Builder newMessage() { return com.dremio.exec.proto.ExecRPC.FragmentStreamComplete.newBuilder(); } public java.lang.String getFieldName(int number)
public void sendTermination() { final FragmentHandle handle = context.getFragmentHandle(); FragmentStreamComplete completion = FragmentStreamComplete.newBuilder() .setQueryId(handle.getQueryId()) .setSendingMajorFragmentId(handle.getMajorFragmentId()) .setSendingMinorFragmentId(handle.getMinorFragmentId()) .setReceivingMajorFragmentId(operator.getOppositeMajorFragmentId()) .addReceivingMinorFragmentId(oppositeMinorFragmentId) .build(); tunnel.sendStreamComplete(completion); dropAll = true; }
private void handleFragmentStreamCompletion(final FragmentStreamComplete completion) throws RpcException { final int targetCount = completion.getReceivingMinorFragmentIdCount(); for (int minor = 0; minor < targetCount; minor++) { fragmentsManager.handle(getHandle(completion, minor), completion); } }
public void completionArrived(final FragmentStreamComplete completion) { try (AutoCloseableLock lock = sharedIncomingBatchLock.open()) { if (closed) { return; } final DataCollector collector = collector(completion.getSendingMajorFragmentId()); synchronized (collector) { collector.streamCompleted(completion.getSendingMinorFragmentId()); } } }
@Override public void noMoreToConsume() { FragmentStreamComplete completionMessage = FragmentStreamComplete.newBuilder() .setQueryId(handle.getQueryId()) .setSendingMajorFragmentId(handle.getMajorFragmentId()) .setSendingMinorFragmentId(handle.getMinorFragmentId()) .setReceivingMajorFragmentId(oppositeHandle.getMajorFragmentId()) .addReceivingMinorFragmentId(oppositeHandle.getMinorFragmentId()) .build(); tunnel.sendStreamComplete(completionMessage); }
public void handle(FragmentStreamComplete completion) { Preconditions.checkState(fragmentStarted, formatError("stream completion", completion.getSendingMajorFragmentId(), completion.getSendingMinorFragmentId())); if (executor != null) { executor.getListener().handle(completion); } // A missing executor means it already terminated. We can simply drop this message. }
private static FragmentHandle getHandle(FragmentStreamComplete completion, int index){ return FragmentHandle.newBuilder() .setQueryId(completion.getQueryId()) .setMajorFragmentId(completion.getReceivingMajorFragmentId()) .setMinorFragmentId(completion.getReceivingMinorFragmentId(index)) .build(); }