229230231232233234235236237238239
collector.ack(tuple); } public void execute(Tuple tuple) { BatchStatus batchStatus = getBatchStatus(tuple); if (batchStatus == BatchStatus.COMPUTING) { handleRegular(tuple); } else if (batchStatus == BatchStatus.PREPARE_COMMIT) { handlePrepareCommit(tuple);
212223242526272829
this.batchStatus = batchStatus; } public static BatchSpoutMsgId mkInstance() { BatchId batchId = BatchId.mkInstance(); BatchStatus batchStatus = BatchStatus.COMPUTING; return new BatchSpoutMsgId(batchId, batchStatus); }
234235236237238239240241242243244245246
sb.append("currentBatchId:").append(currentBatchId); LOG.info(sb.toString()); } protected void forward(BatchSpoutMsgId msgId) { BatchStatus status = msgId.getBatchStatus(); BatchStatus newStatus = status.forward(); if (newStatus == null) { // create new status mkMsgId(msgId); LOG.info("Finish old batch " + msgId);
263264265266267268269270271272273274275
} } protected void handleFail(BatchSpoutMsgId msgId) { LOG.info("Failed batch " + msgId); BatchStatus status = msgId.getBatchStatus(); BatchStatus newStatus = status.error(); if (newStatus == BatchStatus.ERROR) { // create new status mkMsgId(msgId); } else {