To reproduce, do the following:
Prepare a statement
Drop the table that the statement acts on
Execute the prepared statement
A cassandra.protocol.InvalidRequestException will be raised instead of a cassandra.InvalidRequest
I believe the correct fix is to conditionally call response.to_exception() in ResponseFuture._execute_after_prepare(), similar to what we do in RF._set_result().
+1