transactions: enforce waiting for all requests to finish before returning