http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/49b2dda4/cassandra-thrift/v11/Cassandra.py
----------------------------------------------------------------------
diff --git a/cassandra-thrift/v11/Cassandra.py 
b/cassandra-thrift/v11/Cassandra.py
index 015f1a5..ae956cf 100644
--- a/cassandra-thrift/v11/Cassandra.py
+++ b/cassandra-thrift/v11/Cassandra.py
@@ -7,7 +7,7 @@
 #
 
 from thrift.Thrift import TType, TMessageType, TException
-from ttypes import *
+from .ttypes import *
 from thrift.Thrift import TProcessor
 from thrift.transport import TTransport
 from thrift.protocol import TBinaryProtocol, TProtocol
@@ -1791,9 +1791,9 @@ class Processor(Iface, TProcessor):
     result = login_result()
     try:
       self._handler.login(args.auth_request)
-    except AuthenticationException, authnx:
+    except AuthenticationException as authnx:
       result.authnx = authnx
-    except AuthorizationException, authzx:
+    except AuthorizationException as authzx:
       result.authzx = authzx
     oprot.writeMessageBegin("login", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -1807,7 +1807,7 @@ class Processor(Iface, TProcessor):
     result = set_keyspace_result()
     try:
       self._handler.set_keyspace(args.keyspace)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
     oprot.writeMessageBegin("set_keyspace", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -1821,13 +1821,13 @@ class Processor(Iface, TProcessor):
     result = get_result()
     try:
       result.success = self._handler.get(args.key, args.column_path, 
args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except NotFoundException, nfe:
+    except NotFoundException as nfe:
       result.nfe = nfe
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("get", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -1841,11 +1841,11 @@ class Processor(Iface, TProcessor):
     result = get_slice_result()
     try:
       result.success = self._handler.get_slice(args.key, args.column_parent, 
args.predicate, args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("get_slice", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -1859,11 +1859,11 @@ class Processor(Iface, TProcessor):
     result = get_count_result()
     try:
       result.success = self._handler.get_count(args.key, args.column_parent, 
args.predicate, args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("get_count", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -1877,11 +1877,11 @@ class Processor(Iface, TProcessor):
     result = multiget_slice_result()
     try:
       result.success = self._handler.multiget_slice(args.keys, 
args.column_parent, args.predicate, args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("multiget_slice", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -1895,11 +1895,11 @@ class Processor(Iface, TProcessor):
     result = multiget_count_result()
     try:
       result.success = self._handler.multiget_count(args.keys, 
args.column_parent, args.predicate, args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("multiget_count", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -1913,11 +1913,11 @@ class Processor(Iface, TProcessor):
     result = get_range_slices_result()
     try:
       result.success = self._handler.get_range_slices(args.column_parent, 
args.predicate, args.range, args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("get_range_slices", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -1931,11 +1931,11 @@ class Processor(Iface, TProcessor):
     result = get_paged_slice_result()
     try:
       result.success = self._handler.get_paged_slice(args.column_family, 
args.range, args.start_column, args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("get_paged_slice", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -1949,11 +1949,11 @@ class Processor(Iface, TProcessor):
     result = get_indexed_slices_result()
     try:
       result.success = self._handler.get_indexed_slices(args.column_parent, 
args.index_clause, args.column_predicate, args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("get_indexed_slices", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -1967,11 +1967,11 @@ class Processor(Iface, TProcessor):
     result = insert_result()
     try:
       self._handler.insert(args.key, args.column_parent, args.column, 
args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("insert", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -1985,11 +1985,11 @@ class Processor(Iface, TProcessor):
     result = add_result()
     try:
       self._handler.add(args.key, args.column_parent, args.column, 
args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("add", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2003,11 +2003,11 @@ class Processor(Iface, TProcessor):
     result = remove_result()
     try:
       self._handler.remove(args.key, args.column_path, args.timestamp, 
args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("remove", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2021,11 +2021,11 @@ class Processor(Iface, TProcessor):
     result = remove_counter_result()
     try:
       self._handler.remove_counter(args.key, args.path, args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("remove_counter", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2039,11 +2039,11 @@ class Processor(Iface, TProcessor):
     result = batch_mutate_result()
     try:
       self._handler.batch_mutate(args.mutation_map, args.consistency_level)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("batch_mutate", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2057,11 +2057,11 @@ class Processor(Iface, TProcessor):
     result = truncate_result()
     try:
       self._handler.truncate(args.cfname)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
     oprot.writeMessageBegin("truncate", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2075,7 +2075,7 @@ class Processor(Iface, TProcessor):
     result = describe_schema_versions_result()
     try:
       result.success = self._handler.describe_schema_versions()
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
     oprot.writeMessageBegin("describe_schema_versions", TMessageType.REPLY, 
seqid)
     result.write(oprot)
@@ -2089,7 +2089,7 @@ class Processor(Iface, TProcessor):
     result = describe_keyspaces_result()
     try:
       result.success = self._handler.describe_keyspaces()
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
     oprot.writeMessageBegin("describe_keyspaces", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2125,7 +2125,7 @@ class Processor(Iface, TProcessor):
     result = describe_ring_result()
     try:
       result.success = self._handler.describe_ring(args.keyspace)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
     oprot.writeMessageBegin("describe_ring", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2161,9 +2161,9 @@ class Processor(Iface, TProcessor):
     result = describe_keyspace_result()
     try:
       result.success = self._handler.describe_keyspace(args.keyspace)
-    except NotFoundException, nfe:
+    except NotFoundException as nfe:
       result.nfe = nfe
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
     oprot.writeMessageBegin("describe_keyspace", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2177,7 +2177,7 @@ class Processor(Iface, TProcessor):
     result = describe_splits_result()
     try:
       result.success = self._handler.describe_splits(args.cfName, 
args.start_token, args.end_token, args.keys_per_split)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
     oprot.writeMessageBegin("describe_splits", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2191,9 +2191,9 @@ class Processor(Iface, TProcessor):
     result = system_add_column_family_result()
     try:
       result.success = self._handler.system_add_column_family(args.cf_def)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except SchemaDisagreementException, sde:
+    except SchemaDisagreementException as sde:
       result.sde = sde
     oprot.writeMessageBegin("system_add_column_family", TMessageType.REPLY, 
seqid)
     result.write(oprot)
@@ -2207,9 +2207,9 @@ class Processor(Iface, TProcessor):
     result = system_drop_column_family_result()
     try:
       result.success = 
self._handler.system_drop_column_family(args.column_family)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except SchemaDisagreementException, sde:
+    except SchemaDisagreementException as sde:
       result.sde = sde
     oprot.writeMessageBegin("system_drop_column_family", TMessageType.REPLY, 
seqid)
     result.write(oprot)
@@ -2223,9 +2223,9 @@ class Processor(Iface, TProcessor):
     result = system_add_keyspace_result()
     try:
       result.success = self._handler.system_add_keyspace(args.ks_def)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except SchemaDisagreementException, sde:
+    except SchemaDisagreementException as sde:
       result.sde = sde
     oprot.writeMessageBegin("system_add_keyspace", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2239,9 +2239,9 @@ class Processor(Iface, TProcessor):
     result = system_drop_keyspace_result()
     try:
       result.success = self._handler.system_drop_keyspace(args.keyspace)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except SchemaDisagreementException, sde:
+    except SchemaDisagreementException as sde:
       result.sde = sde
     oprot.writeMessageBegin("system_drop_keyspace", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2255,9 +2255,9 @@ class Processor(Iface, TProcessor):
     result = system_update_keyspace_result()
     try:
       result.success = self._handler.system_update_keyspace(args.ks_def)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except SchemaDisagreementException, sde:
+    except SchemaDisagreementException as sde:
       result.sde = sde
     oprot.writeMessageBegin("system_update_keyspace", TMessageType.REPLY, 
seqid)
     result.write(oprot)
@@ -2271,9 +2271,9 @@ class Processor(Iface, TProcessor):
     result = system_update_column_family_result()
     try:
       result.success = self._handler.system_update_column_family(args.cf_def)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except SchemaDisagreementException, sde:
+    except SchemaDisagreementException as sde:
       result.sde = sde
     oprot.writeMessageBegin("system_update_column_family", TMessageType.REPLY, 
seqid)
     result.write(oprot)
@@ -2287,13 +2287,13 @@ class Processor(Iface, TProcessor):
     result = execute_cql_query_result()
     try:
       result.success = self._handler.execute_cql_query(args.query, 
args.compression)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
-    except SchemaDisagreementException, sde:
+    except SchemaDisagreementException as sde:
       result.sde = sde
     oprot.writeMessageBegin("execute_cql_query", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2307,7 +2307,7 @@ class Processor(Iface, TProcessor):
     result = prepare_cql_query_result()
     try:
       result.success = self._handler.prepare_cql_query(args.query, 
args.compression)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
     oprot.writeMessageBegin("prepare_cql_query", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2321,13 +2321,13 @@ class Processor(Iface, TProcessor):
     result = execute_prepared_cql_query_result()
     try:
       result.success = self._handler.execute_prepared_cql_query(args.itemId, 
args.values)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
-    except UnavailableException, ue:
+    except UnavailableException as ue:
       result.ue = ue
-    except TimedOutException, te:
+    except TimedOutException as te:
       result.te = te
-    except SchemaDisagreementException, sde:
+    except SchemaDisagreementException as sde:
       result.sde = sde
     oprot.writeMessageBegin("execute_prepared_cql_query", TMessageType.REPLY, 
seqid)
     result.write(oprot)
@@ -2341,7 +2341,7 @@ class Processor(Iface, TProcessor):
     result = set_cql_version_result()
     try:
       self._handler.set_cql_version(args.version)
-    except InvalidRequestException, ire:
+    except InvalidRequestException as ire:
       result.ire = ire
     oprot.writeMessageBegin("set_cql_version", TMessageType.REPLY, seqid)
     result.write(oprot)
@@ -2405,7 +2405,7 @@ class login_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2479,7 +2479,7 @@ class login_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2541,7 +2541,7 @@ class set_keyspace_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2602,7 +2602,7 @@ class set_keyspace_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2693,7 +2693,7 @@ class get_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2805,7 +2805,7 @@ class get_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2911,7 +2911,7 @@ class get_slice_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2955,7 +2955,7 @@ class get_slice_result:
         if ftype == TType.LIST:
           self.success = []
           (_etype171, _size168) = iprot.readListBegin()
-          for _i172 in xrange(_size168):
+          for _i172 in range(_size168):
             _elem173 = ColumnOrSuperColumn()
             _elem173.read(iprot)
             self.success.append(_elem173)
@@ -3018,7 +3018,7 @@ class get_slice_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3124,7 +3124,7 @@ class get_count_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3222,7 +3222,7 @@ class get_count_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3267,7 +3267,7 @@ class multiget_slice_args:
         if ftype == TType.LIST:
           self.keys = []
           (_etype178, _size175) = iprot.readListBegin()
-          for _i179 in xrange(_size175):
+          for _i179 in range(_size175):
             _elem180 = iprot.readString();
             self.keys.append(_elem180)
           iprot.readListEnd()
@@ -3336,7 +3336,7 @@ class multiget_slice_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3380,11 +3380,11 @@ class multiget_slice_result:
         if ftype == TType.MAP:
           self.success = {}
           (_ktype183, _vtype184, _size182 ) = iprot.readMapBegin() 
-          for _i186 in xrange(_size182):
+          for _i186 in range(_size182):
             _key187 = iprot.readString();
             _val188 = []
             (_etype192, _size189) = iprot.readListBegin()
-            for _i193 in xrange(_size189):
+            for _i193 in range(_size189):
               _elem194 = ColumnOrSuperColumn()
               _elem194.read(iprot)
               _val188.append(_elem194)
@@ -3424,7 +3424,7 @@ class multiget_slice_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.MAP, 0)
       oprot.writeMapBegin(TType.STRING, TType.LIST, len(self.success))
-      for kiter195,viter196 in self.success.items():
+      for kiter195,viter196 in list(self.success.items()):
         oprot.writeString(kiter195)
         oprot.writeListBegin(TType.STRUCT, len(viter196))
         for iter197 in viter196:
@@ -3453,7 +3453,7 @@ class multiget_slice_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3498,7 +3498,7 @@ class multiget_count_args:
         if ftype == TType.LIST:
           self.keys = []
           (_etype201, _size198) = iprot.readListBegin()
-          for _i202 in xrange(_size198):
+          for _i202 in range(_size198):
             _elem203 = iprot.readString();
             self.keys.append(_elem203)
           iprot.readListEnd()
@@ -3567,7 +3567,7 @@ class multiget_count_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3611,7 +3611,7 @@ class multiget_count_result:
         if ftype == TType.MAP:
           self.success = {}
           (_ktype206, _vtype207, _size205 ) = iprot.readMapBegin() 
-          for _i209 in xrange(_size205):
+          for _i209 in range(_size205):
             _key210 = iprot.readString();
             _val211 = iprot.readI32();
             self.success[_key210] = _val211
@@ -3649,7 +3649,7 @@ class multiget_count_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.MAP, 0)
       oprot.writeMapBegin(TType.STRING, TType.I32, len(self.success))
-      for kiter212,viter213 in self.success.items():
+      for kiter212,viter213 in list(self.success.items()):
         oprot.writeString(kiter212)
         oprot.writeI32(viter213)
       oprot.writeMapEnd()
@@ -3675,7 +3675,7 @@ class multiget_count_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3782,7 +3782,7 @@ class get_range_slices_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3826,7 +3826,7 @@ class get_range_slices_result:
         if ftype == TType.LIST:
           self.success = []
           (_etype217, _size214) = iprot.readListBegin()
-          for _i218 in xrange(_size214):
+          for _i218 in range(_size214):
             _elem219 = KeySlice()
             _elem219.read(iprot)
             self.success.append(_elem219)
@@ -3889,7 +3889,7 @@ class get_range_slices_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3994,7 +3994,7 @@ class get_paged_slice_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -4038,7 +4038,7 @@ class get_paged_slice_result:
         if ftype == TType.LIST:
           self.success = []
           (_etype224, _size221) = iprot.readListBegin()
-          for _i225 in xrange(_size221):
+          for _i225 in range(_size221):
             _elem226 = KeySlice()
             _elem226.read(iprot)
             self.success.append(_elem226)
@@ -4101,7 +4101,7 @@ class get_paged_slice_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -4208,7 +4208,7 @@ class get_indexed_slices_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -4252,7 +4252,7 @@ class get_indexed_slices_result:
         if ftype == TType.LIST:
           self.success = []
           (_etype231, _size228) = iprot.readListBegin()
-          for _i232 in xrange(_size228):
+          for _i232 in range(_size228):
             _elem233 = KeySlice()
             _elem233.read(iprot)
             self.success.append(_elem233)
@@ -4315,7 +4315,7 @@ class get_indexed_slices_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -4421,7 +4421,7 @@ class insert_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -4508,7 +4508,7 @@ class insert_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -4614,7 +4614,7 @@ class add_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -4701,7 +4701,7 @@ class add_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -4804,7 +4804,7 @@ class remove_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -4891,7 +4891,7 @@ class remove_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -4982,7 +4982,7 @@ class remove_counter_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5069,7 +5069,7 @@ class remove_counter_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5108,15 +5108,15 @@ class batch_mutate_args:
         if ftype == TType.MAP:
           self.mutation_map = {}
           (_ktype236, _vtype237, _size235 ) = iprot.readMapBegin() 
-          for _i239 in xrange(_size235):
+          for _i239 in range(_size235):
             _key240 = iprot.readString();
             _val241 = {}
             (_ktype243, _vtype244, _size242 ) = iprot.readMapBegin() 
-            for _i246 in xrange(_size242):
+            for _i246 in range(_size242):
               _key247 = iprot.readString();
               _val248 = []
               (_etype252, _size249) = iprot.readListBegin()
-              for _i253 in xrange(_size249):
+              for _i253 in range(_size249):
                 _elem254 = Mutation()
                 _elem254.read(iprot)
                 _val248.append(_elem254)
@@ -5145,10 +5145,10 @@ class batch_mutate_args:
     if self.mutation_map is not None:
       oprot.writeFieldBegin('mutation_map', TType.MAP, 1)
       oprot.writeMapBegin(TType.STRING, TType.MAP, len(self.mutation_map))
-      for kiter255,viter256 in self.mutation_map.items():
+      for kiter255,viter256 in list(self.mutation_map.items()):
         oprot.writeString(kiter255)
         oprot.writeMapBegin(TType.STRING, TType.LIST, len(viter256))
-        for kiter257,viter258 in viter256.items():
+        for kiter257,viter258 in list(viter256.items()):
           oprot.writeString(kiter257)
           oprot.writeListBegin(TType.STRUCT, len(viter258))
           for iter259 in viter258:
@@ -5174,7 +5174,7 @@ class batch_mutate_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5261,7 +5261,7 @@ class batch_mutate_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5323,7 +5323,7 @@ class truncate_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5410,7 +5410,7 @@ class truncate_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5452,7 +5452,7 @@ class describe_schema_versions_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5490,11 +5490,11 @@ class describe_schema_versions_result:
         if ftype == TType.MAP:
           self.success = {}
           (_ktype261, _vtype262, _size260 ) = iprot.readMapBegin() 
-          for _i264 in xrange(_size260):
+          for _i264 in range(_size260):
             _key265 = iprot.readString();
             _val266 = []
             (_etype270, _size267) = iprot.readListBegin()
-            for _i271 in xrange(_size267):
+            for _i271 in range(_size267):
               _elem272 = iprot.readString();
               _val266.append(_elem272)
             iprot.readListEnd()
@@ -5521,7 +5521,7 @@ class describe_schema_versions_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.MAP, 0)
       oprot.writeMapBegin(TType.STRING, TType.LIST, len(self.success))
-      for kiter273,viter274 in self.success.items():
+      for kiter273,viter274 in list(self.success.items()):
         oprot.writeString(kiter273)
         oprot.writeListBegin(TType.STRING, len(viter274))
         for iter275 in viter274:
@@ -5542,7 +5542,7 @@ class describe_schema_versions_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5584,7 +5584,7 @@ class describe_keyspaces_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5622,7 +5622,7 @@ class describe_keyspaces_result:
         if ftype == TType.LIST:
           self.success = []
           (_etype279, _size276) = iprot.readListBegin()
-          for _i280 in xrange(_size276):
+          for _i280 in range(_size276):
             _elem281 = KsDef()
             _elem281.read(iprot)
             self.success.append(_elem281)
@@ -5665,7 +5665,7 @@ class describe_keyspaces_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5707,7 +5707,7 @@ class describe_cluster_name_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5766,7 +5766,7 @@ class describe_cluster_name_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5808,7 +5808,7 @@ class describe_version_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5867,7 +5867,7 @@ class describe_version_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5929,7 +5929,7 @@ class describe_ring_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -5967,7 +5967,7 @@ class describe_ring_result:
         if ftype == TType.LIST:
           self.success = []
           (_etype286, _size283) = iprot.readListBegin()
-          for _i287 in xrange(_size283):
+          for _i287 in range(_size283):
             _elem288 = TokenRange()
             _elem288.read(iprot)
             self.success.append(_elem288)
@@ -6010,7 +6010,7 @@ class describe_ring_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6052,7 +6052,7 @@ class describe_partitioner_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6111,7 +6111,7 @@ class describe_partitioner_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6153,7 +6153,7 @@ class describe_snitch_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6212,7 +6212,7 @@ class describe_snitch_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6274,7 +6274,7 @@ class describe_keyspace_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6360,7 +6360,7 @@ class describe_keyspace_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6464,7 +6464,7 @@ class describe_splits_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6502,7 +6502,7 @@ class describe_splits_result:
         if ftype == TType.LIST:
           self.success = []
           (_etype293, _size290) = iprot.readListBegin()
-          for _i294 in xrange(_size290):
+          for _i294 in range(_size290):
             _elem295 = iprot.readString();
             self.success.append(_elem295)
           iprot.readListEnd()
@@ -6544,7 +6544,7 @@ class describe_splits_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6607,7 +6607,7 @@ class system_add_column_family_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6692,7 +6692,7 @@ class system_add_column_family_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6754,7 +6754,7 @@ class system_drop_column_family_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6839,7 +6839,7 @@ class system_drop_column_family_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6902,7 +6902,7 @@ class system_add_keyspace_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -6987,7 +6987,7 @@ class system_add_keyspace_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7049,7 +7049,7 @@ class system_drop_keyspace_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7134,7 +7134,7 @@ class system_drop_keyspace_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7197,7 +7197,7 @@ class system_update_keyspace_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7282,7 +7282,7 @@ class system_update_keyspace_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7345,7 +7345,7 @@ class system_update_column_family_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7430,7 +7430,7 @@ class system_update_column_family_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7506,7 +7506,7 @@ class execute_cql_query_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7618,7 +7618,7 @@ class execute_cql_query_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7694,7 +7694,7 @@ class prepare_cql_query_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7767,7 +7767,7 @@ class prepare_cql_query_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7811,7 +7811,7 @@ class execute_prepared_cql_query_args:
         if ftype == TType.LIST:
           self.values = []
           (_etype300, _size297) = iprot.readListBegin()
-          for _i301 in xrange(_size297):
+          for _i301 in range(_size297):
             _elem302 = iprot.readString();
             self.values.append(_elem302)
           iprot.readListEnd()
@@ -7851,7 +7851,7 @@ class execute_prepared_cql_query_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -7963,7 +7963,7 @@ class execute_prepared_cql_query_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -8025,7 +8025,7 @@ class set_cql_version_args:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -8086,7 +8086,7 @@ class set_cql_version_result:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/49b2dda4/cassandra-thrift/v11/constants.py
----------------------------------------------------------------------
diff --git a/cassandra-thrift/v11/constants.py 
b/cassandra-thrift/v11/constants.py
index 7cf5771..8c5fdfe 100644
--- a/cassandra-thrift/v11/constants.py
+++ b/cassandra-thrift/v11/constants.py
@@ -7,6 +7,6 @@
 #
 
 from thrift.Thrift import TType, TMessageType, TException
-from ttypes import *
+from .ttypes import *
 
 VERSION = "19.30.0"

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/49b2dda4/cassandra-thrift/v11/ttypes.py
----------------------------------------------------------------------
diff --git a/cassandra-thrift/v11/ttypes.py b/cassandra-thrift/v11/ttypes.py
index 3b4ec8f..799a0d5 100644
--- a/cassandra-thrift/v11/ttypes.py
+++ b/cassandra-thrift/v11/ttypes.py
@@ -257,7 +257,7 @@ class Column:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -306,7 +306,7 @@ class SuperColumn:
         if ftype == TType.LIST:
           self.columns = []
           (_etype3, _size0) = iprot.readListBegin()
-          for _i4 in xrange(_size0):
+          for _i4 in range(_size0):
             _elem5 = Column()
             _elem5.read(iprot)
             self.columns.append(_elem5)
@@ -347,7 +347,7 @@ class SuperColumn:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -423,7 +423,7 @@ class CounterColumn:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -467,7 +467,7 @@ class CounterSuperColumn:
         if ftype == TType.LIST:
           self.columns = []
           (_etype10, _size7) = iprot.readListBegin()
-          for _i11 in xrange(_size7):
+          for _i11 in range(_size7):
             _elem12 = CounterColumn()
             _elem12.read(iprot)
             self.columns.append(_elem12)
@@ -508,7 +508,7 @@ class CounterSuperColumn:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -622,7 +622,7 @@ class ColumnOrSuperColumn:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -670,7 +670,7 @@ class NotFoundException(TException):
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -738,7 +738,7 @@ class InvalidRequestException(TException):
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -786,7 +786,7 @@ class UnavailableException(TException):
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -834,7 +834,7 @@ class TimedOutException(TException):
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -901,7 +901,7 @@ class AuthenticationException(TException):
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -968,7 +968,7 @@ class AuthorizationException(TException):
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -1016,7 +1016,7 @@ class SchemaDisagreementException(TException):
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -1097,7 +1097,7 @@ class ColumnParent:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -1194,7 +1194,7 @@ class ColumnPath:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -1313,7 +1313,7 @@ class SliceRange:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -1363,7 +1363,7 @@ class SlicePredicate:
         if ftype == TType.LIST:
           self.column_names = []
           (_etype17, _size14) = iprot.readListBegin()
-          for _i18 in xrange(_size14):
+          for _i18 in range(_size14):
             _elem19 = iprot.readString();
             self.column_names.append(_elem19)
           iprot.readListEnd()
@@ -1405,7 +1405,7 @@ class SlicePredicate:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -1495,7 +1495,7 @@ class IndexExpression:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -1539,7 +1539,7 @@ class IndexClause:
         if ftype == TType.LIST:
           self.expressions = []
           (_etype24, _size21) = iprot.readListBegin()
-          for _i25 in xrange(_size21):
+          for _i25 in range(_size21):
             _elem26 = IndexExpression()
             _elem26.read(iprot)
             self.expressions.append(_elem26)
@@ -1596,7 +1596,7 @@ class IndexClause:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -1674,7 +1674,7 @@ class KeyRange:
         if ftype == TType.LIST:
           self.row_filter = []
           (_etype31, _size28) = iprot.readListBegin()
-          for _i32 in xrange(_size28):
+          for _i32 in range(_size28):
             _elem33 = IndexExpression()
             _elem33.read(iprot)
             self.row_filter.append(_elem33)
@@ -1734,7 +1734,7 @@ class KeyRange:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -1784,7 +1784,7 @@ class KeySlice:
         if ftype == TType.LIST:
           self.columns = []
           (_etype38, _size35) = iprot.readListBegin()
-          for _i39 in xrange(_size35):
+          for _i39 in range(_size35):
             _elem40 = ColumnOrSuperColumn()
             _elem40.read(iprot)
             self.columns.append(_elem40)
@@ -1825,7 +1825,7 @@ class KeySlice:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -1901,7 +1901,7 @@ class KeyCount:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -1988,7 +1988,7 @@ class Deletion:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2066,7 +2066,7 @@ class Mutation:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2150,7 +2150,7 @@ class EndpointDetails:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2215,7 +2215,7 @@ class TokenRange:
         if ftype == TType.LIST:
           self.endpoints = []
           (_etype45, _size42) = iprot.readListBegin()
-          for _i46 in xrange(_size42):
+          for _i46 in range(_size42):
             _elem47 = iprot.readString();
             self.endpoints.append(_elem47)
           iprot.readListEnd()
@@ -2225,7 +2225,7 @@ class TokenRange:
         if ftype == TType.LIST:
           self.rpc_endpoints = []
           (_etype51, _size48) = iprot.readListBegin()
-          for _i52 in xrange(_size48):
+          for _i52 in range(_size48):
             _elem53 = iprot.readString();
             self.rpc_endpoints.append(_elem53)
           iprot.readListEnd()
@@ -2235,7 +2235,7 @@ class TokenRange:
         if ftype == TType.LIST:
           self.endpoint_details = []
           (_etype57, _size54) = iprot.readListBegin()
-          for _i58 in xrange(_size54):
+          for _i58 in range(_size54):
             _elem59 = EndpointDetails()
             _elem59.read(iprot)
             self.endpoint_details.append(_elem59)
@@ -2296,7 +2296,7 @@ class TokenRange:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2334,7 +2334,7 @@ class AuthenticationRequest:
         if ftype == TType.MAP:
           self.credentials = {}
           (_ktype64, _vtype65, _size63 ) = iprot.readMapBegin() 
-          for _i67 in xrange(_size63):
+          for _i67 in range(_size63):
             _key68 = iprot.readString();
             _val69 = iprot.readString();
             self.credentials[_key68] = _val69
@@ -2354,7 +2354,7 @@ class AuthenticationRequest:
     if self.credentials is not None:
       oprot.writeFieldBegin('credentials', TType.MAP, 1)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.credentials))
-      for kiter70,viter71 in self.credentials.items():
+      for kiter70,viter71 in list(self.credentials.items()):
         oprot.writeString(kiter70)
         oprot.writeString(viter71)
       oprot.writeMapEnd()
@@ -2370,7 +2370,7 @@ class AuthenticationRequest:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2438,7 +2438,7 @@ class ColumnDef:
         if ftype == TType.MAP:
           self.index_options = {}
           (_ktype73, _vtype74, _size72 ) = iprot.readMapBegin() 
-          for _i76 in xrange(_size72):
+          for _i76 in range(_size72):
             _key77 = iprot.readString();
             _val78 = iprot.readString();
             self.index_options[_key77] = _val78
@@ -2474,7 +2474,7 @@ class ColumnDef:
     if self.index_options is not None:
       oprot.writeFieldBegin('index_options', TType.MAP, 5)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.index_options))
-      for kiter79,viter80 in self.index_options.items():
+      for kiter79,viter80 in list(self.index_options.items()):
         oprot.writeString(kiter79)
         oprot.writeString(viter80)
       oprot.writeMapEnd()
@@ -2492,7 +2492,7 @@ class ColumnDef:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -2665,7 +2665,7 @@ class CfDef:
         if ftype == TType.LIST:
           self.column_metadata = []
           (_etype84, _size81) = iprot.readListBegin()
-          for _i85 in xrange(_size81):
+          for _i85 in range(_size81):
             _elem86 = ColumnDef()
             _elem86.read(iprot)
             self.column_metadata.append(_elem86)
@@ -2721,7 +2721,7 @@ class CfDef:
         if ftype == TType.MAP:
           self.compaction_strategy_options = {}
           (_ktype88, _vtype89, _size87 ) = iprot.readMapBegin() 
-          for _i91 in xrange(_size87):
+          for _i91 in range(_size87):
             _key92 = iprot.readString();
             _val93 = iprot.readString();
             self.compaction_strategy_options[_key92] = _val93
@@ -2732,7 +2732,7 @@ class CfDef:
         if ftype == TType.MAP:
           self.compression_options = {}
           (_ktype95, _vtype96, _size94 ) = iprot.readMapBegin() 
-          for _i98 in xrange(_size94):
+          for _i98 in range(_size94):
             _key99 = iprot.readString();
             _val100 = iprot.readString();
             self.compression_options[_key99] = _val100
@@ -2753,7 +2753,7 @@ class CfDef:
         if ftype == TType.LIST:
           self.column_aliases = []
           (_etype104, _size101) = iprot.readListBegin()
-          for _i105 in xrange(_size101):
+          for _i105 in range(_size101):
             _elem106 = iprot.readString();
             self.column_aliases.append(_elem106)
           iprot.readListEnd()
@@ -2939,7 +2939,7 @@ class CfDef:
     if self.compaction_strategy_options is not None:
       oprot.writeFieldBegin('compaction_strategy_options', TType.MAP, 30)
       oprot.writeMapBegin(TType.STRING, TType.STRING, 
len(self.compaction_strategy_options))
-      for kiter108,viter109 in self.compaction_strategy_options.items():
+      for kiter108,viter109 in list(self.compaction_strategy_options.items()):
         oprot.writeString(kiter108)
         oprot.writeString(viter109)
       oprot.writeMapEnd()
@@ -2951,7 +2951,7 @@ class CfDef:
     if self.compression_options is not None:
       oprot.writeFieldBegin('compression_options', TType.MAP, 32)
       oprot.writeMapBegin(TType.STRING, TType.STRING, 
len(self.compression_options))
-      for kiter110,viter111 in self.compression_options.items():
+      for kiter110,viter111 in list(self.compression_options.items()):
         oprot.writeString(kiter110)
         oprot.writeString(viter111)
       oprot.writeMapEnd()
@@ -2992,7 +2992,7 @@ class CfDef:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3053,7 +3053,7 @@ class KsDef:
         if ftype == TType.MAP:
           self.strategy_options = {}
           (_ktype114, _vtype115, _size113 ) = iprot.readMapBegin() 
-          for _i117 in xrange(_size113):
+          for _i117 in range(_size113):
             _key118 = iprot.readString();
             _val119 = iprot.readString();
             self.strategy_options[_key118] = _val119
@@ -3069,7 +3069,7 @@ class KsDef:
         if ftype == TType.LIST:
           self.cf_defs = []
           (_etype123, _size120) = iprot.readListBegin()
-          for _i124 in xrange(_size120):
+          for _i124 in range(_size120):
             _elem125 = CfDef()
             _elem125.read(iprot)
             self.cf_defs.append(_elem125)
@@ -3102,7 +3102,7 @@ class KsDef:
     if self.strategy_options is not None:
       oprot.writeFieldBegin('strategy_options', TType.MAP, 3)
       oprot.writeMapBegin(TType.STRING, TType.STRING, 
len(self.strategy_options))
-      for kiter126,viter127 in self.strategy_options.items():
+      for kiter126,viter127 in list(self.strategy_options.items()):
         oprot.writeString(kiter126)
         oprot.writeString(viter127)
       oprot.writeMapEnd()
@@ -3137,7 +3137,7 @@ class KsDef:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3183,7 +3183,7 @@ class CqlRow:
         if ftype == TType.LIST:
           self.columns = []
           (_etype132, _size129) = iprot.readListBegin()
-          for _i133 in xrange(_size129):
+          for _i133 in range(_size129):
             _elem134 = Column()
             _elem134.read(iprot)
             self.columns.append(_elem134)
@@ -3224,7 +3224,7 @@ class CqlRow:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3269,7 +3269,7 @@ class CqlMetadata:
         if ftype == TType.MAP:
           self.name_types = {}
           (_ktype137, _vtype138, _size136 ) = iprot.readMapBegin() 
-          for _i140 in xrange(_size136):
+          for _i140 in range(_size136):
             _key141 = iprot.readString();
             _val142 = iprot.readString();
             self.name_types[_key141] = _val142
@@ -3280,7 +3280,7 @@ class CqlMetadata:
         if ftype == TType.MAP:
           self.value_types = {}
           (_ktype144, _vtype145, _size143 ) = iprot.readMapBegin() 
-          for _i147 in xrange(_size143):
+          for _i147 in range(_size143):
             _key148 = iprot.readString();
             _val149 = iprot.readString();
             self.value_types[_key148] = _val149
@@ -3310,7 +3310,7 @@ class CqlMetadata:
     if self.name_types is not None:
       oprot.writeFieldBegin('name_types', TType.MAP, 1)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.name_types))
-      for kiter150,viter151 in self.name_types.items():
+      for kiter150,viter151 in list(self.name_types.items()):
         oprot.writeString(kiter150)
         oprot.writeString(viter151)
       oprot.writeMapEnd()
@@ -3318,7 +3318,7 @@ class CqlMetadata:
     if self.value_types is not None:
       oprot.writeFieldBegin('value_types', TType.MAP, 2)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.value_types))
-      for kiter152,viter153 in self.value_types.items():
+      for kiter152,viter153 in list(self.value_types.items()):
         oprot.writeString(kiter152)
         oprot.writeString(viter153)
       oprot.writeMapEnd()
@@ -3348,7 +3348,7 @@ class CqlMetadata:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3398,7 +3398,7 @@ class CqlResult:
         if ftype == TType.LIST:
           self.rows = []
           (_etype157, _size154) = iprot.readListBegin()
-          for _i158 in xrange(_size154):
+          for _i158 in range(_size154):
             _elem159 = CqlRow()
             _elem159.read(iprot)
             self.rows.append(_elem159)
@@ -3456,7 +3456,7 @@ class CqlResult:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):
@@ -3508,7 +3508,7 @@ class CqlPreparedResult:
         if ftype == TType.LIST:
           self.variable_types = []
           (_etype164, _size161) = iprot.readListBegin()
-          for _i165 in xrange(_size161):
+          for _i165 in range(_size161):
             _elem166 = iprot.readString();
             self.variable_types.append(_elem166)
           iprot.readListEnd()
@@ -3552,7 +3552,7 @@ class CqlPreparedResult:
 
   def __repr__(self):
     L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
+      for key, value in self.__dict__.items()]
     return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
 
   def __eq__(self, other):

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/49b2dda4/cdc_test.py
----------------------------------------------------------------------
diff --git a/cdc_test.py b/cdc_test.py
index 657e61a..28b66d1 100644
--- a/cdc_test.py
+++ b/cdc_test.py
@@ -1,26 +1,29 @@
-from __future__ import division
-
 import errno
 import os
 import shutil
 import time
 import uuid
 from collections import namedtuple
-from itertools import izip as zip
+import pytest
+import logging
+
 from itertools import repeat
 
 from cassandra import WriteFailure
 from cassandra.concurrent import (execute_concurrent,
                                   execute_concurrent_with_args)
 from ccmlib.node import Node
-from nose.tools import assert_equal, assert_less_equal
 
-from dtest import Tester, create_ks, debug
+from dtest import Tester, create_ks
 from tools.data import rows_to_list
-from tools.decorators import since
 from tools.files import size_of_files_in_dir
 from tools.funcutils import get_rate_limited_function
 from tools.hacks import advance_to_next_cl_segment
+from tools.assertions import assert_lists_equal_ignoring_order
+
+since = pytest.mark.since
+logger = logging.getLogger(__name__)
+
 
 _16_uuid_column_spec = (
     'a uuid PRIMARY KEY, b uuid, c uuid, d uuid, e uuid, f uuid, g uuid, '
@@ -36,10 +39,10 @@ def _insert_rows(session, table_name, insert_stmt, values):
                        concurrency=500, raise_on_first_error=True)
 
     data_loaded = rows_to_list(session.execute('SELECT * FROM ' + table_name))
-    debug('{n} rows inserted into {table_name}'.format(n=len(data_loaded), 
table_name=table_name))
+    logger.debug('{n} rows inserted into 
{table_name}'.format(n=len(data_loaded), table_name=table_name))
     # use assert_equal over assert_length_equal to avoid printing out
     # potentially large lists
-    assert_equal(len(values), len(data_loaded))
+    assert len(values) == len(data_loaded)
     return data_loaded
 
 
@@ -48,7 +51,7 @@ def _move_contents(source_dir, dest_dir, verbose=True):
         source_path, dest_path = (os.path.join(source_dir, source_filename),
                                   os.path.join(dest_dir, source_filename))
         if verbose:
-            debug('moving {} to {}'.format(source_path, dest_path))
+            logger.debug('moving {} to {}'.format(source_path, dest_path))
         shutil.move(source_path, dest_path)
 
 
@@ -64,7 +67,7 @@ def _get_16_uuid_insert_stmt(ks_name, table_name):
 
 def _get_create_table_statement(ks_name, table_name, column_spec, 
options=None):
     if options:
-        options_pairs = ('{k}={v}'.format(k=k, v=v) for (k, v) in 
options.iteritems())
+        options_pairs = ('{k}={v}'.format(k=k, v=v) for (k, v) in 
options.items())
         options_string = 'WITH ' + ' AND '.join(options_pairs)
     else:
         options_string = ''
@@ -78,23 +81,21 @@ def _get_create_table_statement(ks_name, table_name, 
column_spec, options=None):
 def _write_to_cdc_WriteFailure(session, insert_stmt):
     prepared = session.prepare(insert_stmt)
     start, rows_loaded, error_found = time.time(), 0, False
-    rate_limited_debug = get_rate_limited_function(debug, 5)
+    rate_limited_debug_logger = get_rate_limited_function(logger.debug, 5)
     while not error_found:
         # We want to fail if inserting data takes too long. Locally this
         # takes about 10s, but let's be generous.
-        assert_less_equal(
-            (time.time() - start), 600,
-            "It's taken more than 10 minutes to reach a WriteFailure trying "
-            'to overrun the space designated for CDC commitlogs. This could '
-            "be because data isn't being written quickly enough in this "
-            'environment, or because C* is failing to reject writes when '
-            'it should.'
-        )
+        assert (
+            (time.time() - start) <= 600), "It's taken more than 10 minutes to 
reach a WriteFailure trying " + \
+            "to overrun the space designated for CDC commitlogs. This could " 
+ \
+            "be because data isn't being written quickly enough in this " + \
+            "environment, or because C* is failing to reject writes when " + \
+            "it should."
 
         # If we haven't logged from here in the last 5s, do so.
-        rate_limited_debug(
-            '  data load step has lasted {s:.2f}s, '
-            'loaded {r} rows'.format(s=(time.time() - start), r=rows_loaded))
+        rate_limited_debug_logger(
+            "  data load step has lasted {s:.2f}s, " +
+            "loaded {r} rows".format(s=(time.time() - start), r=rows_loaded))
 
         batch_results = list(execute_concurrent(
             session,
@@ -111,13 +112,12 @@ def _write_to_cdc_WriteFailure(session, insert_stmt):
         rows_loaded += len([br for br in batch_results if br[0]])
         # then, we make sure that the only failures are the expected
         # WriteFailures.
-        assert_equal([],
-                     [result for (success, result) in batch_results
-                      if not success and not isinstance(result, WriteFailure)])
+        assert [] == [result for (success, result) in batch_results
+                       if not success and not isinstance(result, WriteFailure)]
         # Finally, if we find a WriteFailure, that means we've inserted all
         # the CDC data we can and so we flip error_found to exit the loop.
         if any(isinstance(result, WriteFailure) for (_, result) in 
batch_results):
-            debug("write failed (presumably because we've overrun "
+            logger.debug("write failed (presumably because we've overrun "
                   'designated CDC commitlog space) after '
                   'loading {r} rows in {s:.2f}s'.format(
                       r=rows_loaded,
@@ -162,7 +162,7 @@ def _set_cdc_on_table(session, table_name, value, 
ks_name=None):
     value_string = 'true' if value else 'false'
     stmt = 'ALTER TABLE ' + table_string + ' WITH CDC = ' + value_string
 
-    debug(stmt)
+    logger.debug(stmt)
     session.execute(stmt)
 
 
@@ -212,12 +212,12 @@ class TestCDC(Tester):
         down.
         """
         if verbose:
-            debug('creating ' + dir_name)
+            logger.debug('creating ' + dir_name)
         try:
             os.mkdir(dir_name)
         except OSError as e:
             if e.errno != errno.EEXIST:
-                debug(dir_name + ' already exists. removing and recreating.')
+                logger.debug(dir_name + ' already exists. removing and 
recreating.')
                 shutil.rmtree(dir_name)
                 os.mkdir(dir_name)
             else:
@@ -225,7 +225,7 @@ class TestCDC(Tester):
 
         def debug_and_rmtree():
             shutil.rmtree(dir_name)
-            debug(dir_name + ' removed')
+            logger.debug(dir_name + ' removed')
 
         self.addCleanup(debug_and_rmtree)
 
@@ -259,8 +259,8 @@ class TestCDC(Tester):
         create_ks(session, ks_name, rf=1)
 
         if table_name is not None:
-            self.assertIsNotNone(cdc_enabled_table, 'if creating a table in 
prepare, must specify whether or not CDC is enabled on it')
-            self.assertIsNotNone(column_spec, 'if creating a table in prepare, 
must specify its schema')
+            assert cdc_enabled_table is not None, 'if creating a table in 
prepare is not None, must specify whether or not CDC is enabled on it'
+            assert column_spec is not None, 'if creating a table in prepare is 
not None, must specify its schema'
             options = {}
             if gc_grace_seconds is not None:
                 options['gc_grace_seconds'] = gc_grace_seconds
@@ -272,7 +272,7 @@ class TestCDC(Tester):
                 ks_name, table_name, column_spec,
                 options=options
             )
-            debug(stmt)
+            logger.debug(stmt)
             session.execute(stmt)
 
         return node, session
@@ -298,11 +298,11 @@ class TestCDC(Tester):
         execute_concurrent_with_args(session, insert_stmt, data)
 
         # We need data to be in commitlogs, not sstables.
-        self.assertEqual([], list(node.get_sstables(ks_name, table_name)))
+        assert [] == list(node.get_sstables(ks_name, table_name))
 
         for enable in alter_path:
             set_cdc(enable)
-            self.assertItemsEqual(session.execute('SELECT * FROM ' + 
table_name), data)
+            assert_lists_equal_ignoring_order(session.execute('SELECT * FROM ' 
+ table_name), data)
 
     def test_cdc_enabled_data_readable_on_round_trip(self):
         """
@@ -318,6 +318,7 @@ class TestCDC(Tester):
         """
         
self._assert_cdc_data_readable_on_round_trip(start_with_cdc_enabled=False)
 
+    @pytest.mark.skip(reason="Test always fails so skipping until fixed. 
Tracked with CASSANDRA-14146")
     def 
test_insertion_and_commitlog_behavior_after_reaching_cdc_total_space(self):
         """
         Test that C* behaves correctly when CDC tables have consumed all the
@@ -345,6 +346,11 @@ class TestCDC(Tester):
             # Make CDC space as small as possible so we can fill it quickly.
             'cdc_total_space_in_mb': 4,
         }
+
+        self.fixture_dtest_setup.ignore_log_patterns = 
list(self.fixture_dtest_setup.ignore_log_patterns) + [
+            r'org.apache.cassandra.exceptions.CDCWriteException: Rejecting 
mutation to keyspace ks. '
+            r'Free up space in .* by processing CDC logs']
+
         node, session = self.prepare(
             ks_name=ks_name,
             configuration_overrides=configuration_overrides
@@ -373,26 +379,25 @@ class TestCDC(Tester):
         # Here, we insert values into the first CDC table until we get a
         # WriteFailure. This should happen when the CDC commitlogs take up 1MB
         # or more.
-        debug('flushing non-CDC commitlogs')
+        logger.debug('flushing non-CDC commitlogs')
         node.flush()
         # Then, we insert rows into the CDC table until we can't anymore.
-        debug('beginning data insert to fill CDC commitlogs')
+        logger.debug('beginning data insert to fill CDC commitlogs')
         rows_loaded = _write_to_cdc_WriteFailure(session, 
full_cdc_table_info.insert_stmt)
 
-        self.assertLess(0, rows_loaded,
-                        'No CDC rows inserted. This may happen when '
-                        'cdc_total_space_in_mb > commitlog_segment_size_in_mb')
+        assert 0 < rows_loaded, 'No CDC rows inserted. ' \
+                                'This may happen when cdc_total_space_in_mb > 
commitlog_segment_size_in_mb'
 
         commitlog_dir = os.path.join(node.get_path(), 'commitlogs')
         commitlogs_size = size_of_files_in_dir(commitlog_dir)
-        debug('Commitlog dir ({d}) is {b}B'.format(d=commitlog_dir, 
b=commitlogs_size))
+        logger.debug('Commitlog dir ({d}) is {b}B'.format(d=commitlog_dir, 
b=commitlogs_size))
 
         # We should get a WriteFailure when trying to write to the CDC table
         # that's filled the designated CDC space...
-        with self.assertRaises(WriteFailure):
+        with pytest.raises(WriteFailure):
             session.execute(full_cdc_table_info.insert_stmt)
         # or any CDC table.
-        with self.assertRaises(WriteFailure):
+        with pytest.raises(WriteFailure):
             session.execute(empty_cdc_table_info.insert_stmt)
 
         # Now we test for behaviors of non-CDC tables when we've exceeded
@@ -422,17 +427,15 @@ class TestCDC(Tester):
         #
         # First, write to non-cdc tables.
         start, time_limit = time.time(), 600
-        rate_limited_debug = get_rate_limited_function(debug, 5)
-        debug('writing to non-cdc table')
+        rate_limited_debug_logger = get_rate_limited_function(logger.debug, 5)
+        logger.debug('writing to non-cdc table')
         # We write until we get a new commitlog segment.
         while _get_commitlog_files(node.get_path()) <= 
pre_non_cdc_write_segments:
             elapsed = time.time() - start
-            rate_limited_debug('  non-cdc load step has lasted 
{s:.2f}s'.format(s=elapsed))
-            self.assertLessEqual(
-                elapsed, time_limit,
-                "It's been over a {s}s and we haven't written a new "
-                "commitlog segment. Something is wrong.".format(s=time_limit)
-            )
+            rate_limited_debug_logger('  non-cdc load step has lasted 
{s:.2f}s'.format(s=elapsed))
+            assert elapsed <= time_limit, \
+                "It's been over a {s}s and we haven't written a new commitlog 
segment. Something is wrong.".format(s=time_limit)
+
             execute_concurrent(
                 session,
                 ((non_cdc_prepared_insert, ()) for _ in range(1000)),
@@ -443,7 +446,7 @@ class TestCDC(Tester):
         # Finally, we check that draining doesn't move any new segments to 
cdc_raw:
         node.drain()
         session.cluster.shutdown()
-        self.assertEqual(pre_non_cdc_write_cdc_raw_segments, 
_get_cdc_raw_files(node.get_path()))
+        assert pre_non_cdc_write_cdc_raw_segments == 
_get_cdc_raw_files(node.get_path())
 
     def _init_new_loading_node(self, ks_name, create_stmt, use_thrift=False):
         loading_node = Node(
@@ -457,16 +460,16 @@ class TestCDC(Tester):
             initial_token=None,
             binary_interface=('127.0.0.2', 9042)
         )
-        debug('adding node')
+        logger.debug('adding node')
         self.cluster.add(loading_node, is_seed=True)
-        debug('starting new node')
+        logger.debug('starting new node')
         loading_node.start(wait_for_binary_proto=True)
-        debug('recreating ks and table')
+        logger.debug('recreating ks and table')
         loading_session = self.patient_exclusive_cql_connection(loading_node)
         create_ks(loading_session, ks_name, rf=1)
-        debug('creating new table')
+        logger.debug('creating new table')
         loading_session.execute(create_stmt)
-        debug('stopping new node')
+        logger.debug('stopping new node')
         loading_node.stop()
         loading_session.cluster.shutdown()
         return loading_node
@@ -502,9 +505,9 @@ class TestCDC(Tester):
         inserted_rows = _insert_rows(generation_session, cdc_table_info.name, 
cdc_table_info.insert_stmt, repeat((), 10000))
 
         # drain the node to guarantee all cl segements will be recycled
-        debug('draining')
+        logger.debug('draining')
         generation_node.drain()
-        debug('stopping')
+        logger.debug('stopping')
         # stop the node and clean up all sessions attached to it
         generation_node.stop()
         generation_session.cluster.shutdown()
@@ -515,31 +518,25 @@ class TestCDC(Tester):
         # move cdc_raw contents to commitlog directories, then start the
         # node again to trigger commitlog replay, which should replay the
         # cdc_raw files we moved to commitlogs into memtables.
-        debug('moving cdc_raw and restarting node')
+        logger.debug('moving cdc_raw and restarting node')
         _move_contents(
             os.path.join(generation_node.get_path(), 'cdc_raw'),
             os.path.join(loading_node.get_path(), 'commitlogs')
         )
         loading_node.start(wait_for_binary_proto=True)
-        debug('node successfully started; waiting on log replay')
+        logger.debug('node successfully started; waiting on log replay')
         loading_node.grep_log('Log replay complete')
-        debug('log replay complete')
+        logger.debug('log replay complete')
 
         # final assertions
         validation_session = 
self.patient_exclusive_cql_connection(loading_node)
         data_in_cdc_table_after_restart = rows_to_list(
             validation_session.execute('SELECT * FROM ' + cdc_table_info.name)
         )
-        debug('found {cdc} values in CDC table'.format(
+        logger.debug('found {cdc} values in CDC table'.format(
             cdc=len(data_in_cdc_table_after_restart)
         ))
         # Then we assert that the CDC data that we expect to be there is there.
         # All data that was in CDC tables should have been copied to cdc_raw,
         # then used in commitlog replay, so it should be back in the cluster.
-        self.assertEqual(
-            inserted_rows,
-            data_in_cdc_table_after_restart,
-            # The message on failure is too long, since cdc_data is thousands
-            # of items, so we print something else here
-            msg='not all expected data selected'
-        )
+        assert inserted_rows == data_in_cdc_table_after_restart, 'not all 
expected data selected'

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/49b2dda4/cfid_test.py
----------------------------------------------------------------------
diff --git a/cfid_test.py b/cfid_test.py
index 7455902..87625e0 100644
--- a/cfid_test.py
+++ b/cfid_test.py
@@ -1,12 +1,17 @@
 import os
+import logging
 
 from dtest import Tester, create_ks, create_cf
 
+logger = logging.getLogger(__name__)
+
 
 class TestCFID(Tester):
 
-    def cfid_test(self):
-        """ Test through adding/dropping cf's that the path to sstables for 
each cf are unique and formatted correctly """
+    def test_cfid(self):
+        """ Test through adding/dropping cf's that the path to sstables for 
each cf are unique
+        and formatted correctly
+        """
         cluster = self.cluster
 
         cluster.populate(1).start(wait_other_notice=True)
@@ -29,8 +34,8 @@ class TestCFID(Tester):
             self.fail("Path to sstables not valid.")
 
         # check that there are 5 unique directories
-        self.assertEqual(len(cfs), 5)
+        assert len(cfs) == 5
 
         # check that these are in fact column family directories
         for dire in cfs:
-            self.assertTrue(dire[0:2] == 'cf')
+            assert dire[0:2] == 'cf'


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to