protected void addSingleInventory(final DruidServer container, final DataSegment inventory) { log.info("Server[%s] added segment[%s]", container.getName(), inventory.getIdentifier()); if (container.getSegment(inventory.getIdentifier()) != null) { log.warn( "Not adding or running callbacks for existing segment[%s] on server[%s]", inventory.getIdentifier(), container.getName()); return; } container.addDataSegment(inventory.getIdentifier(), inventory); runSegmentCallbacks( new Function<SegmentCallback, CallbackAction>() { @Override public CallbackAction apply(SegmentCallback input) { return input.segmentAdded(container.getMetadata(), inventory); } }); }
protected void removeSingleInventory(final DruidServer container, String inventoryKey) { log.info("Server[%s] removed segment[%s]", container.getName(), inventoryKey); final DataSegment segment = container.getSegment(inventoryKey); if (segment == null) { log.warn( "Not running cleanup or callbacks for non-existing segment[%s] on server[%s]", inventoryKey, container.getName()); return; } container.removeDataSegment(inventoryKey); runSegmentCallbacks( new Function<SegmentCallback, CallbackAction>() { @Override public CallbackAction apply(SegmentCallback input) { return input.segmentRemoved(container.getMetadata(), segment); } }); }