@Override public void ack(Object msgId) { spoutExecutor.ack(msgId); }
@Override public void close() { _spout.close(); }
@Override public void declareOutputFields(OutputFieldsDeclarer declarer) { spoutExecutor.declareOutputFields(declarer); }
@Override public void fail(Object msgId) { spoutExecutor.fail(msgId); }
@Override public void emitBatch(TransactionAttempt tx, Object coordinatorMeta, TridentCollector collector) { long txid = tx.getTransactionId(); long now = System.currentTimeMillis(); if (now - lastRotate > rotateTime) { Map<Long, List<Object>> failed = idsMap.rotate(); for (Long id : failed.keySet()) { // TODO: this isn't right... it's not in the map anymore fail(id); } lastRotate = now; } if (idsMap.containsKey(txid)) { fail(txid); } _collector.reset(collector); if (!prepared) { _spout.open(_conf, _context, new SpoutOutputCollector(_collector)); prepared = true; } for (int i = 0; i < _maxBatchSize; i++) { _spout.nextTuple(); if(_collector.numEmitted < i) { break; } } idsMap.put(txid, _collector.ids); _collector.pendingCount = idsMap.size(); }
public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) { _tracker = new SpoutTrackOutputCollector(collector); _delegate.open(conf, context, new SpoutOutputCollector(_tracker)); }
@Override public void nextTuple() { spoutExecutor.nextTuple(); }
@Override public Map<String, Object> getComponentConfiguration() { return spoutExecutor.getComponentConfiguration(); }
@Override public void activate() { _delegate.activate(); }
@Override public void deactivate() { _delegate.deactivate(); }
@Override public void fail(Object msgId) { Long batchId = _msgIdToBatchId.remove((Long) msgId); FinishCondition cond = _finishConditions.remove(batchId); if (cond != null) { _delegate.fail(cond.msgId); } }
public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) { _tracker = new SpoutTrackOutputCollector(collector); _delegate.open(conf, context, new SpoutOutputCollector(_tracker)); }
@Override public void nextTuple() { _delegate.nextTuple(); }
@Override public Map<String, Object> getComponentConfiguration() { return _spout.getComponentConfiguration(); }
@Override public void activate() { spoutExecutor.activate(); }
@Override public void deactivate() { spoutExecutor.deactivate(); }
@Override public void ack(Object msgId) { Long batchId = _msgIdToBatchId.remove((Long) msgId); FinishCondition cond = _finishConditions.get(batchId); if (cond != null) { cond.vals.remove((Long) msgId); if (cond.vals.isEmpty()) { _finishConditions.remove(batchId); _delegate.ack(cond.msgId); } } }
private void fail(long batchId) { List<Object> ids = (List<Object>) idsMap.remove(batchId); if (ids != null) { for (Object id : ids) { _spout.fail(id); } } }
@Override public void close() { spoutExecutor.close(); }