I have a topology for example composed of 1 spout and 4 bolts

```
spout 1 -> bolt A -> bolt B -> bolt C -> bolt D

```

If some condition not satisfied means in Bolt A we now call this:

```
collector.ack(tuple);

```

It will call the `ack` method in Spout.

If some condition not satisfied means in Bolt B we call the same:

```
collector.ack(tuple);

```

But it not call the `ack` method in Spout. Instead after some time it call `fail` method ?

I dont know why? For first level of bolt `ack` works, but not working for other bolts.