From c11b0c0dd08c5d906bdff16b96405650535c6735 Mon Sep 17 00:00:00 2001 From: GregBestland Date: Thu, 18 Aug 2016 15:10:33 -0500 Subject: [PATCH] Fix to keep type queries from breaking metadata construction in C* <2.1 --- cassandra/metadata.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/cassandra/metadata.py b/cassandra/metadata.py index 1340c256..735d718f 100644 --- a/cassandra/metadata.py +++ b/cassandra/metadata.py @@ -1598,9 +1598,16 @@ class _SchemaParser(object): def _query_build_rows(self, query_string, build_func): query = QueryMessage(query=query_string, consistency_level=ConsistencyLevel.ONE) - response = self.connection.wait_for_response(query, self.timeout) - result = dict_factory(*response.results) - return [build_func(row) for row in result] + responses = self.connection.wait_for_responses((query), timeout=self.timeout, fail_on_error=False) + (success, response) = responses[0] + if success: + result = dict_factory(*response.results) + return [build_func(row) for row in result] + elif isinstance(response, InvalidRequest): + log.debug("user types table not found") + return [] + else: + raise response class SchemaParserV22(_SchemaParser):