When the execute() returns, the bolt would be executed by next tuple? What happens if the bolt does not ack the previous tuple? In other words, could we ack the tuple after the execute() returns?
If the bolt do not ack one tuple for a long time, then by default, the spout would emit the parent tuple again to downstream, and the bolt would be executed by the same tuple again, right? what happens if the bolt ack an old tuple which is already considered failed by the spout?