when(opContext.getFragmentHandle()).thenReturn(FragmentHandle.newBuilder().setMajorFragmentId(2323).setMinorFragmentId(234234).build());
/** * <code>optional .exec.bit.FragmentHandle handle = 2;</code> */ public Builder mergeHandle(com.dremio.exec.proto.ExecProtos.FragmentHandle value) { if (handleBuilder_ == null) { if (((bitField0_ & 0x00000002) == 0x00000002) && handle_ != com.dremio.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance()) { handle_ = com.dremio.exec.proto.ExecProtos.FragmentHandle.newBuilder(handle_).mergeFrom(value).buildPartial(); } else { handle_ = value; } onChanged(); } else { handleBuilder_.mergeFrom(value); } bitField0_ |= 0x00000002; return this; } /**
/** * <code>optional .exec.bit.FragmentHandle receiver = 1;</code> */ public Builder mergeReceiver(com.dremio.exec.proto.ExecProtos.FragmentHandle value) { if (receiverBuilder_ == null) { if (((bitField0_ & 0x00000001) == 0x00000001) && receiver_ != com.dremio.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance()) { receiver_ = com.dremio.exec.proto.ExecProtos.FragmentHandle.newBuilder(receiver_).mergeFrom(value).buildPartial(); } else { receiver_ = value; } onChanged(); } else { receiverBuilder_.mergeFrom(value); } bitField0_ |= 0x00000001; return this; } /**
final FragmentHandle handle = FragmentHandle.newBuilder() .setQueryId(new AttemptId().toQueryId()) .setMinorFragmentId(0)
private OperatorContextImpl createContext(Writer writer) { BufferAllocator allocator = context.getAllocator().newChildAllocator("direct-command", 0, Long.MAX_VALUE); final OperatorStats stats = new OperatorStats(new OpProfileDef(0,0,0), allocator); final OperatorContextImpl oc = new OperatorContextImpl( context.getConfig(), FragmentHandle.newBuilder().setQueryId(context.getQueryId()).setMajorFragmentId(0).setMinorFragmentId(0).build(), writer, allocator, allocator, null, stats, null, null, context.getFunctionRegistry(), null, context.getOptions(), context.getNamespaceService(), null, NodeDebugContextProvider.NOOP, 60000, null, ImmutableList.of()); return oc; } }
/** * Check that a dead node doesn't not trigger a successful query notification if * node managing the last major fragments (see DX-10956) */ @Test public void testNodeDead() { InOrder inOrder = Mockito.inOrder(completionListener); AttemptObservers observers = AttemptObservers.of(observer); QueryManager queryManager = new QueryManager(queryId, context, null, completionListener, new Pointer<>(), observers, true, true, catalog); final NodeEndpoint endpoint = NodeEndpoint.newBuilder().setAddress("host1").setFabricPort(12345).build(); PlanFragment fragment = PlanFragment.newBuilder() .setAssignment(endpoint) .setHandle(FragmentHandle.newBuilder().setMajorFragmentId(0).setQueryId(queryId).build()) .build(); ExecutionPlan executionPlan = new ExecutionPlan(new Screen(null), 0, Collections.singletonList(fragment)); observers.planCompleted(executionPlan); // Notify node is dead queryManager.getNodeStatusListener().nodesUnregistered(ImmutableSet.of(endpoint)); // Ideally, we should not even call succeeded... inOrder.verify(completionListener).failed(any(Exception.class)); inOrder.verify(completionListener).succeeded(); }
/** * <code>optional .exec.bit.FragmentHandle handle = 1;</code> */ public Builder mergeHandle(com.dremio.exec.proto.ExecProtos.FragmentHandle value) { if (handleBuilder_ == null) { if (((bitField0_ & 0x00000001) == 0x00000001) && handle_ != com.dremio.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance()) { handle_ = com.dremio.exec.proto.ExecProtos.FragmentHandle.newBuilder(handle_).mergeFrom(value).buildPartial(); } else { handle_ = value; } onChanged(); } else { handleBuilder_.mergeFrom(value); } bitField0_ |= 0x00000001; return this; } /**
public void mergeFrom(io.protostuff.Input input, com.dremio.exec.proto.CoordExecRPC.FragmentStatus.Builder builder) throws java.io.IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: builder.setProfile(input.mergeObject(com.dremio.exec.proto.UserBitShared.MinorFragmentProfile.newBuilder(), com.dremio.exec.proto.SchemaUserBitShared.MinorFragmentProfile.MERGE)); break; case 2: builder.setHandle(input.mergeObject(com.dremio.exec.proto.ExecProtos.FragmentHandle.newBuilder(), com.dremio.exec.proto.SchemaExecProtos.FragmentHandle.MERGE)); break; default: input.handleUnknownField(number, this); } } } public boolean isInitialized(com.dremio.exec.proto.CoordExecRPC.FragmentStatus.Builder builder)
/** * <code>optional .exec.bit.FragmentHandle sender = 2;</code> */ public Builder mergeSender(com.dremio.exec.proto.ExecProtos.FragmentHandle value) { if (senderBuilder_ == null) { if (((bitField0_ & 0x00000002) == 0x00000002) && sender_ != com.dremio.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance()) { sender_ = com.dremio.exec.proto.ExecProtos.FragmentHandle.newBuilder(sender_).mergeFrom(value).buildPartial(); } else { sender_ = value; } onChanged(); } else { senderBuilder_.mergeFrom(value); } bitField0_ |= 0x00000002; return this; } /**
public void mergeFrom(io.protostuff.Input input, com.dremio.exec.proto.ExecRPC.FinishedReceiver.Builder builder) throws java.io.IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: builder.setReceiver(input.mergeObject(com.dremio.exec.proto.ExecProtos.FragmentHandle.newBuilder(), com.dremio.exec.proto.SchemaExecProtos.FragmentHandle.MERGE)); break; case 2: builder.setSender(input.mergeObject(com.dremio.exec.proto.ExecProtos.FragmentHandle.newBuilder(), com.dremio.exec.proto.SchemaExecProtos.FragmentHandle.MERGE)); break; default: input.handleUnknownField(number, this); } } } public boolean isInitialized(com.dremio.exec.proto.ExecRPC.FinishedReceiver.Builder builder)
protected CoordExecRPC.PlanFragment getDummyPlan(UserBitShared.QueryId queryId, int majorFragmentId, int minorFragmentId){ ExecProtos.FragmentHandle handle = ExecProtos.FragmentHandle .newBuilder() .setQueryId(queryId) .setMajorFragmentId(majorFragmentId) .setMinorFragmentId(minorFragmentId) .build(); CoordExecRPC.FragmentPriority priority = CoordExecRPC.FragmentPriority .newBuilder() .setWorkloadClass(UserBitShared.WorkloadClass.GENERAL) .build(); return CoordExecRPC.PlanFragment .newBuilder() .setHandle(handle) .setPriority(priority) .build(); }
public void mergeFrom(io.protostuff.Input input, com.dremio.exec.proto.CoordExecRPC.CancelFragments.Builder builder) throws java.io.IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: builder.addFragment(input.mergeObject(com.dremio.exec.proto.ExecProtos.FragmentHandle.newBuilder(), com.dremio.exec.proto.SchemaExecProtos.FragmentHandle.MERGE)); break; default: input.handleUnknownField(number, this); } } } public boolean isInitialized(com.dremio.exec.proto.CoordExecRPC.CancelFragments.Builder builder)
public Builder toBuilder() { return newBuilder(this); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder(com.dremio.exec.proto.ExecProtos.FragmentHandle prototype) {
public void informUpstreamIfNecessary(){ if(!done){ final FinishedReceiver message = FinishedReceiver.newBuilder() .setReceiver(handle) .setSender(FragmentHandle.newBuilder() .setQueryId(handle.getQueryId()) .setMajorFragmentId(config.getOppositeMajorFragmentId()) .setMinorFragmentId(sendingMinorFragmentId)) .build(); tunnelProvider.getExecTunnel(sendingNode).informReceiverFinished(message); done = true; } }
public static Builder newBuilder(com.dremio.exec.proto.ExecProtos.FragmentHandle prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); }
public com.dremio.exec.proto.ExecProtos.FragmentHandle.Builder newMessage() { return com.dremio.exec.proto.ExecProtos.FragmentHandle.newBuilder(); } public java.lang.String getFieldName(int number)
private static FragmentHandle getHandle(FragmentStreamComplete completion, int index){ return FragmentHandle.newBuilder() .setQueryId(completion.getQueryId()) .setMajorFragmentId(completion.getReceivingMajorFragmentId()) .setMinorFragmentId(completion.getReceivingMinorFragmentId(index)) .build(); }
public void handle(OutOfBandMessage message) { for(Integer minorFragmentId : message.getTargetMinorFragmentIds()) { FragmentHandle handle = FragmentHandle.newBuilder().setQueryId(message.getQueryId()).setMajorFragmentId(message.getMajorFragmentId()).setMinorFragmentId(minorFragmentId).build(); handlers.getUnchecked(handle).handle(message); } }
private static FragmentHandle getHandle(FragmentRecordBatch batch, int index) { return FragmentHandle.newBuilder() .setQueryId(batch.getQueryId()) .setMajorFragmentId(batch.getReceivingMajorFragmentId()) .setMinorFragmentId(batch.getReceivingMinorFragmentId(index)) .build(); }