The batch request is kept alive by passing in handles when appending read operations or by passing in a handle when issuing the batch. At least one handle needs to be passed in. The last handle will block until the entire batch is complete before being released.