Skip to content

Commit 1e85717

Browse files
committed
capture exc_info early in keyspace meta handling
Resolves an issue where exc_info is being cleared in nosetest context, causing tests to fail.
1 parent bbba912 commit 1e85717

2 files changed

Lines changed: 2 additions & 3 deletions

File tree

cassandra/metadata.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1708,9 +1708,9 @@ def _build_keyspace_metadata(cls, row):
17081708
ksm = cls._build_keyspace_metadata_internal(row)
17091709
except Exception:
17101710
name = row["keyspace_name"]
1711-
log.exception("Error while parsing metadata for keyspace %s row(%s)", name, row)
17121711
ksm = KeyspaceMetadata(name, False, 'UNKNOWN', {})
1713-
ksm._exc_info = sys.exc_info()
1712+
ksm._exc_info = sys.exc_info() # capture exc_info before log because nose (test) logging clears it in certain circumstances
1713+
log.exception("Error while parsing metadata for keyspace %s row(%s)", name, row)
17141714
return ksm
17151715

17161716
@staticmethod

tests/integration/standard/test_metadata.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1907,7 +1907,6 @@ def _skip_if_not_version(self, version):
19071907
if CASS_SERVER_VERSION < version:
19081908
raise unittest.SkipTest("Requires server version >= %s" % (version,))
19091909

1910-
@notcython
19111910
def test_bad_keyspace(self):
19121911
with patch.object(self.parser_class, '_build_keyspace_metadata_internal', side_effect=self.BadMetaException):
19131912
self.cluster.refresh_keyspace_metadata(self.keyspace_name)

0 commit comments

Comments
 (0)