示例#1
0
    def test_new_id_with_at_least_one_suitable_member(self):
        response = self.assign_out_of_range_node_id(self.cluster.id, random.randint(0, 1))
        self.assertTrueEventually(lambda: response.success and response.result is not None)

        client = HazelcastClient(cluster_name=self.cluster.id, smart_routing=False)

        generator = client.get_flake_id_generator("test").blocking()

        for i in range(100):
            generator.new_id()

        generator.destroy()
        client.shutdown()
示例#2
0
    def test_new_id_fails_when_all_members_are_out_of_node_id_range(self):
        response1 = self.assign_out_of_range_node_id(self.cluster.id, 0)
        self.assertTrueEventually(lambda: response1.success and response1.result is not None)

        response2 = self.assign_out_of_range_node_id(self.cluster.id, 1)
        self.assertTrueEventually(lambda: response2.success and response2.result is not None)

        client = HazelcastClient(cluster_name=self.cluster.id)
        generator = client.get_flake_id_generator("test").blocking()

        with self.assertRaises(HazelcastError):
            generator.new_id()

        generator.destroy()
        client.shutdown()