@Override public Void visitReceiver(Receiver receiver, List<Collector> collectors) throws RuntimeException { List<MinorFragmentEndpoint> endpoints = receiver.getProvidingEndpoints(); List<IncomingMinorFragment> list = new ArrayList<>(endpoints.size()); for (MinorFragmentEndpoint ep : endpoints) { list.add(IncomingMinorFragment.newBuilder().setEndpoint(ep.getEndpoint()).setMinorFragment(ep.getId()).build()); } collectors.add(Collector.newBuilder() .setIsSpooling(receiver.isSpooling()) .setOppositeMajorFragmentId(receiver.getOppositeMajorFragmentId()) .setSupportsOutOfOrder(receiver.supportsOutOfOrderExchange()) .addAllIncomingMinorFragment(list) .build()); return null; }
MinorFragmentEndpoint ep2 = mock(MinorFragmentEndpoint.class); when(ep2.getEndpoint()).thenReturn(CoordinationProtos.NodeEndpoint.newBuilder().setAddress("localhost").setFabricPort(12345).build()); list.add(CoordExecRPC.IncomingMinorFragment.newBuilder().setEndpoint(ep1.getEndpoint()).setMinorFragment(ep1.getId()).build()); list.add(CoordExecRPC.IncomingMinorFragment.newBuilder().setEndpoint(ep2.getEndpoint()).setMinorFragment(ep2.getId()).build()); CoordExecRPC.Collector collector = CoordExecRPC.Collector.newBuilder() .setIsSpooling(true)
public void mergeFrom(io.protostuff.Input input, com.dremio.exec.proto.CoordExecRPC.IncomingMinorFragment.Builder builder) throws java.io.IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: builder.setMinorFragment(input.readInt32()); break; case 2: builder.setEndpoint(input.mergeObject(com.dremio.exec.proto.CoordinationProtos.NodeEndpoint.newBuilder(), com.dremio.exec.proto.SchemaCoordinationProtos.NodeEndpoint.MERGE)); break; default: input.handleUnknownField(number, this); } } } public boolean isInitialized(com.dremio.exec.proto.CoordExecRPC.IncomingMinorFragment.Builder builder)