At https://datastax.github.io/java-driver/manual/async/ the docs say to not do any blocking operations within the callback of an async operation. This example is given as one that can cause a deadlock:
ListenableFuture<ResultSet> resultSet = Futures.transform(session, new Function<Session, ResultSet>() { public ResultSet apply(Session session) { // Synchronous operation in a callback. // DON'T DO THIS! It might deadlock. return session.execute("select release_version from system.local"); } }); Will the above example work if instead of session.execute, it was doing session.executeAsync()?