Ejemplo n.º 1
0
    def test_secondary_failure(self, done):
        loop = IOLoop.instance()
        c = motor.MotorReplicaSetClient(self.seed, replicaSet=self.name)
        c.open_sync()
        self.assertTrue(bool(len(c.secondaries)))
        primary = c.primary
        secondaries = c.secondaries

        killed = ha_tools.kill_secondary()
        self.assertTrue(bool(len(killed)))
        self.assertEqual(primary, c.primary)

        yield gen.Task(loop.add_timeout, time.time() + 2 * MONITOR_INTERVAL)
        secondaries = c.secondaries

        ha_tools.restart_members([killed])
        self.assertEqual(primary, c.primary)

        # Wait for secondary to join, and for MotorReplicaSetClient
        # to detect it.
        for _ in xrange(30):
            if c.secondaries != secondaries:
                break
            yield gen.Task(loop.add_timeout, time.time() + 1)
        else:
            self.fail("Dead secondary not detected")
        done()
Ejemplo n.º 2
0
    def test_secondary_failure(self):
        c = motor.MotorReplicaSetClient(self.seed, replicaSet=self.name)
        yield c.open()
        secondaries = c.secondaries
        self.assertTrue(secondaries)

        killed = ha_tools.kill_secondary()
        self.assertTrue(bool(len(killed)))

        yield self.pause(2 * MONITOR_INTERVAL)

        for _ in range(30):
            if c.secondaries != secondaries:
                break
            yield self.pause(1)
        else:
            self.fail("Dead secondary not detected")
Ejemplo n.º 3
0
    def test_secondary_failure(self):
        c = motor.MotorReplicaSetClient(self.seed, replicaSet=self.name)
        yield c.open()
        secondaries = c.secondaries
        self.assertTrue(secondaries)

        killed = ha_tools.kill_secondary()
        self.assertTrue(bool(len(killed)))

        yield self.pause(2 * MONITOR_INTERVAL)

        for _ in range(30):
            if c.secondaries != secondaries:
                break
            yield self.pause(1)
        else:
            self.fail("Dead secondary not detected")