def init_keys(self): self.new_keys = NewOrderedKey(prefix=self.ts.prefix, fmtr=self.ws.key_fmtr) if self.ws.working_set_move_time: self.existing_keys = MovingWorkingSetKey(self.ws, self.ts.prefix) elif self.ws.working_set < 100: self.existing_keys = WorkingSetKey(self.ws, self.ts.prefix) elif self.ws.power_alpha: self.existing_keys = PowerKey(self.ts.prefix, self.ws.key_fmtr, self.ws.power_alpha) elif self.ws.zipf_alpha: self.existing_keys = ZipfKey(self.ts.prefix, self.ws.key_fmtr, self.ws.zipf_alpha) else: self.existing_keys = UniformKey(self.ts.prefix, self.ws.key_fmtr) self.keys_for_removal = KeyForRemoval(self.ts.prefix, self.ws.key_fmtr) self.keys_for_cas_update = KeyForCASUpdate(self.ws.n1ql_workers, self.ts.prefix, self.ws.key_fmtr) logger.info( "existing_keys {}, keys_for_removal {}, keys_for_cas_update {}". format(self.existing_keys, self.keys_for_removal, self.keys_for_cas_update))
def init_keys(self): self.new_keys = NewOrderedKey(prefix='n1ql') self.existing_keys = UniformKey(prefix='n1ql') self.keys_for_cas_update = KeyForCASUpdate(self.total_workers, prefix='n1ql')
def __init__(self, workload_settings, target_settings, shutdown_event): super(N1QLWorker, self).__init__(workload_settings, target_settings, shutdown_event) self.new_queries = N1QLQueryGen(workload_settings.n1ql_queries) self.total_workers = self.ws.n1ql_workers self.throughput = self.ws.n1ql_throughput self.name = 'n1ql-worker' host, port = self.ts.node.split(':') bucket = self.ts.bucket if workload_settings.n1ql_op == 'ryow': bucket += '?fetch_mutation_tokens=true' params = {'bucket': bucket, 'host': host, 'port': port, 'username': self.ts.bucket, 'password': self.ts.password} self.existing_keys = ExistingKey(self.ws.working_set, self.ws.working_set_access, 'n1ql') self.new_keys = NewKey('n1ql', self.ws.expiration) self.keys_for_removal = KeyForRemoval('n1ql') self.keys_for_casupdate = KeyForCASUpdate(self.total_workers, self.ws.working_set, self.ws.working_set_access, 'n1ql') if self.ws.doc_gen == 'merge': self.docs = MergeDocument(self.ws.size, self.ws.doc_partitions, False) elif self.ws.doc_gen == 'reverse_lookup': self.docs = ReverseLookupDocument(self.ws.size, self.ws.doc_partitions, False) elif self.ws.doc_gen == 'reverse_lookup_array_indexing': if self.ws.updates: self.docs = ReverseLookupDocumentArrayIndexing( self.ws.size, self.ws.doc_partitions, self.ws.items, delta=random.randint(0, 10)) else: self.docs = ReverseLookupDocumentArrayIndexing( self.ws.size, self.ws.doc_partitions, self.ws.items) self.cb = N1QLGen(**params)