/** * Creates a new Aggregator based on the current schema. If setup fails, this method is * responsible for cleaning up and informing the context of the failure state, as well is * informing the upstream operators. * * @return true if the aggregator was setup successfully. false if there was a failure. */ private boolean createAggregator() { logger.debug("Creating new aggregator."); try { stats.startSetup(); this.aggregator = createAggregatorInternal(); return true; } catch (SchemaChangeException | ClassTransformationException | IOException ex) { context.fail(ex); container.clear(); incoming.kill(false); return false; } finally { stats.stopSetup(); } }
@Override protected void killIncoming(boolean sendUpstream) { incoming.kill(sendUpstream); }