Exceptions within the initialize method (caused in e.g. ConnectionFactory.getConnection()) can escape into the caller without being set into the returned future. This causes invalid state transitions and can leave the container in an invalid state.
Discovered during the review of #2334