def run(self):
        begin = self.range[0]
        end = self.range[-1]
        current = begin
        last = current + options.rangecount
        p = SlicePredicate(slice_range=SliceRange('', '', False, columns_per_key))
        if 'super' == options.cftype:
            while current < end:
                keyrange = KeyRange(fmt % current, fmt % last, count = options.rangecount)
                res = []
                for j in xrange(supers_per_key):
                    parent = ColumnParent('Super1', 'S' + str(j)) 
                    begin = time.time()
                    try:
                        res = self.cclient.get_range_slices(parent, p, keyrange, consistency)
                        if not res: raise RuntimeError("Key %s not found" % key)
                    except KeyboardInterrupt:
                        raise
                    except Exception, e:
                        if options.ignore:
                            print e
                        else:
                            raise
                    self.latencies[self.idx] += time.time() - begin
                    self.opcounts[self.idx] += 1
                current += len(r) + 1
                last = current + len(r) + 1
                self.keycounts[self.idx] += len(r)
        else:
            parent = ColumnParent('Standard1')
            while end < current:
                start = fmt % current 
                finish = fmt % last
                keyrange = KeyRange(start, finish, count = options.rangecount)
                begin = time.time()
                try:
                    r = self.cclient.get_range_slices(parent, p, keyrange, consistency)
                    if not r: raise RuntimeError("Range not found:", start, finish)
                except KeyboardInterrupt:
                    raise
                except Exception, e:
                    if options.ignore:
                        print e
                    else:
                        print start, finish
                        raise
                current += len(r) + 1
                last = current + len(r)  + 1
                self.latencies[self.idx] += time.time() - begin
                self.opcounts[self.idx] += 1
                self.keycounts[self.idx] += len(r)

# Each thread queries for a portion of the unique values
# TODO: all threads start at the same key: implement wrapping, and start
# from the thread's appointed range
dataset/ETHPy150Open AppScale/appscale/AppDB/cassandra/stress.py/RangeSlicer.run/swapped operands of `<`