/** * When this operator starts spilling, notify others if the triggering is enabled. */ private void notifyOthersOfSpill() { if(!context.getOptions().getOption(OOB_SPILL_TRIGGER_ENABLED)) { return; } try { Payload payload = new Payload(HashAggSpill.newBuilder().setMemoryUse(allocator.getAllocatedMemory()).build()); for(FragmentAssignment a : context.getAssignments()) { OutOfBandMessage message = new OutOfBandMessage( context.getFragmentHandle().getQueryId(), context.getFragmentHandle().getMajorFragmentId(), a.getMinorFragmentIdList(), popConfig.getOperatorId(), context.getFragmentHandle().getMinorFragmentId(), payload); context.getTunnelProvider().getExecTunnel(a.getAssignment()).sendOOBMessage(message); } oobSends++; } catch(Exception ex) { logger.warn("Failure while attempting to notify others of spilling.", ex); } }
public void mergeFrom(io.protostuff.Input input, com.dremio.exec.proto.ExecProtos.HashAggSpill.Builder builder) throws java.io.IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: builder.setMemoryUse(input.readInt64()); break; default: input.handleUnknownField(number, this); } } } public boolean isInitialized(com.dremio.exec.proto.ExecProtos.HashAggSpill.Builder builder)
public Builder mergeFrom(com.dremio.exec.proto.ExecProtos.HashAggSpill other) { if (other == com.dremio.exec.proto.ExecProtos.HashAggSpill.getDefaultInstance()) return this; if (other.hasMemoryUse()) { setMemoryUse(other.getMemoryUse()); } this.mergeUnknownFields(other.getUnknownFields()); return this; }