when(opContext.getFragmentHandle()).thenReturn(FragmentHandle.newBuilder().setMajorFragmentId(2323).setMinorFragmentId(234234).build());
when(opContext.getFragmentHandle()).thenReturn(ExecProtos.FragmentHandle.newBuilder().setMajorFragmentId(2323).setMinorFragmentId(234234).build()); when(opContext.getAllocator()).thenReturn(ALLOCATOR); when(opContext.getOptions()).thenReturn(optionManager);
when(opContext.getFragmentHandle()).thenReturn(ExecProtos.FragmentHandle.newBuilder().setMajorFragmentId(2323).setMinorFragmentId(234235).build()); when(opContext.getAllocator()).thenReturn(ALLOCATOR); when(opContext.getOptions()).thenReturn(optionManager);
.setMajorFragmentId(wrapper.getMajorFragmentId()) //
.setQueryId(new AttemptId().toQueryId()) .setMinorFragmentId(0) .setMajorFragmentId(0) .build();
.setQueryId(new AttemptId().toQueryId()) .setMinorFragmentId(0) .setMajorFragmentId(0) .build();
SharedResource resource = mock(SharedResource.class); QueryId queryId = ExternalIdHelper.toQueryId(ExternalIdHelper.generateExternalId()); FragmentHandle handle = FragmentHandle.newBuilder().setMajorFragmentId(0).setMinorFragmentId(0).setQueryId(queryId).build(); FragmentWorkQueue queue = mock(FragmentWorkQueue.class);
.addAllIncomingMinorFragment(list) .build(); ExecProtos.FragmentHandle handle = ExecProtos.FragmentHandle.newBuilder().setMajorFragmentId(2323).setMinorFragmentId(234234).build(); BufferAllocator allocator = new RootAllocator(2000000); boolean outOfMemory = false;
SharedResource resource = mock(SharedResource.class); QueryId queryId = ExternalIdHelper.toQueryId(ExternalIdHelper.generateExternalId()); FragmentHandle handle = FragmentHandle.newBuilder().setMajorFragmentId(0).setMinorFragmentId(0).setQueryId(queryId).build(); FragmentWorkQueue queue = mock(FragmentWorkQueue.class); final ExecutorService executorService = Executors.newFixedThreadPool(1);
.setQueryId(new AttemptId().toQueryId()) .setMinorFragmentId(0) .setMajorFragmentId(0) .build(); return new OperatorContextImpl(
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; } }
public void mergeFrom(io.protostuff.Input input, com.dremio.exec.proto.ExecProtos.FragmentHandle.Builder builder) throws java.io.IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: builder.setQueryId(input.mergeObject(com.dremio.exec.proto.UserBitShared.QueryId.newBuilder(), com.dremio.exec.proto.SchemaUserBitShared.QueryId.MERGE)); break; case 2: builder.setMajorFragmentId(input.readInt32()); break; case 3: builder.setMinorFragmentId(input.readInt32()); break; case 4: builder.setParentQueryId(input.mergeObject(com.dremio.exec.proto.UserBitShared.QueryId.newBuilder(), com.dremio.exec.proto.SchemaUserBitShared.QueryId.MERGE)); break; default: input.handleUnknownField(number, this); } } } public boolean isInitialized(com.dremio.exec.proto.ExecProtos.FragmentHandle.Builder builder)
/** * 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(); }
public Builder mergeFrom(com.dremio.exec.proto.ExecProtos.FragmentHandle other) { if (other == com.dremio.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance()) return this; if (other.hasQueryId()) { mergeQueryId(other.getQueryId()); } if (other.hasMajorFragmentId()) { setMajorFragmentId(other.getMajorFragmentId()); } if (other.hasMinorFragmentId()) { setMinorFragmentId(other.getMinorFragmentId()); } if (other.hasParentQueryId()) { mergeParentQueryId(other.getParentQueryId()); } this.mergeUnknownFields(other.getUnknownFields()); return this; }
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 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; } }
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); } }
public SingleSenderOperator(TunnelProvider tunnelProvider, OperatorContext context, SingleSender config) throws OutOfMemoryException { super(config); this.context = context; this.handle = context.getFragmentHandle(); this.recMajor = config.getOppositeMajorFragmentId(); this.oppositeHandle = handle.toBuilder() .setMajorFragmentId(config.getOppositeMajorFragmentId()) .setMinorFragmentId(config.getOppositeMinorFragmentId()) .build(); this.tunnel = tunnelProvider.getExecTunnel(config.getDestination()); }
private static FragmentHandle getHandle(FragmentRecordBatch batch, int index) { return FragmentHandle.newBuilder() .setQueryId(batch.getQueryId()) .setMajorFragmentId(batch.getReceivingMajorFragmentId()) .setMinorFragmentId(batch.getReceivingMinorFragmentId(index)) .build(); }