本文整理汇总了Golang中github.com/outbrain/orchestrator/go/inst.ReadTopologyInstance函数的典型用法代码示例。如果您正苦于以下问题:Golang ReadTopologyInstance函数的具体用法?Golang ReadTopologyInstance怎么用?Golang ReadTopologyInstance使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ReadTopologyInstance函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestReadTopologySlave
func (s *TestSuite) TestReadTopologySlave(c *C) {
key := slave3Key
i, _ := inst.ReadTopologyInstance(&key)
c.Assert(i.Key.Hostname, Equals, key.Hostname)
c.Assert(i.IsSlave(), Equals, true)
c.Assert(len(i.SlaveHosts), Equals, 0)
}
示例2: TestReadTopologyAndInstanceSlave
func (s *TestSuite) TestReadTopologyAndInstanceSlave(c *C) {
i, _ := inst.ReadTopologyInstance(&slave1Key)
iRead, found, _ := inst.ReadInstance(&slave1Key)
c.Assert(found, Equals, true)
c.Assert(iRead.Key.Hostname, Equals, i.Key.Hostname)
c.Assert(iRead.Version, Equals, i.Version)
}
示例3: TestBeginMaintenance
func (s *TestSuite) TestBeginMaintenance(c *C) {
clearTestMaintenance()
_, _ = inst.ReadTopologyInstance(&masterKey)
_, err := inst.BeginMaintenance(&masterKey, "unittest", "TestBeginMaintenance")
c.Assert(err, IsNil)
}
示例4: TestMakeCoMasterAndBack
func (s *TestSuite) TestMakeCoMasterAndBack(c *C) {
clearTestMaintenance()
slave1, err := inst.MakeCoMaster(&slave1Key)
c.Assert(err, IsNil)
// Now master & slave1 expected to be co-masters. Check!
master, _ := inst.ReadTopologyInstance(&masterKey)
c.Assert(master.IsSlaveOf(slave1), Equals, true)
c.Assert(slave1.IsSlaveOf(master), Equals, true)
// reset - restore to original state
master, err = inst.ResetSlaveOperation(&masterKey)
slave1, _ = inst.ReadTopologyInstance(&slave1Key)
c.Assert(err, IsNil)
c.Assert(master.MasterKey.Hostname, Equals, "_")
}
示例5: TestForgetMaster
func (s *TestSuite) TestForgetMaster(c *C) {
_, _ = inst.ReadTopologyInstance(&masterKey)
_, found, _ := inst.ReadInstance(&masterKey)
c.Assert(found, Equals, true)
inst.ForgetInstance(&masterKey)
_, found, _ = inst.ReadInstance(&masterKey)
c.Assert(found, Equals, false)
}
示例6: TestReadTopologyAndInstanceMaster
func (s *TestSuite) TestReadTopologyAndInstanceMaster(c *C) {
i, _ := inst.ReadTopologyInstance(&masterKey)
iRead, found, _ := inst.ReadInstance(&masterKey)
c.Assert(found, Equals, true)
c.Assert(iRead.Key.Hostname, Equals, i.Key.Hostname)
c.Assert(iRead.Version, Equals, i.Version)
c.Assert(len(iRead.SlaveHosts), Equals, len(i.SlaveHosts))
}
示例7: TestGetMasterOfASlave
func (s *TestSuite) TestGetMasterOfASlave(c *C) {
i, err := inst.ReadTopologyInstance(&slave1Key)
c.Assert(err, IsNil)
master, err := inst.GetInstanceMaster(i)
c.Assert(err, IsNil)
c.Assert(master.IsSlave(), Equals, false)
c.Assert(master.Key.Port, Equals, 22987)
}
示例8: TestReadTopologyUnexisting
func (s *TestSuite) TestReadTopologyUnexisting(c *C) {
key := inst.InstanceKey{
Hostname: "127.0.0.1",
Port: 22999,
}
_, err := inst.ReadTopologyInstance(&key)
c.Assert(err, Not(IsNil))
}
示例9: emergentlyReadTopologyInstance
// Force a re-read of a topology instance; this is done because we need to substantiate a suspicion that we may have a failover
// scenario. we want to speed up rading the complete picture.
func emergentlyReadTopologyInstance(instanceKey *inst.InstanceKey, analysisCode inst.AnalysisCode) {
if err := emergencyReadTopologyInstanceMap.Add(instanceKey.DisplayString(), true, 0); err == nil {
emergencyReadTopologyInstanceMap.Set(instanceKey.DisplayString(), true, 0)
go inst.ExecuteOnTopology(func() {
inst.ReadTopologyInstance(instanceKey)
inst.AuditOperation("emergently-read-topology-instance", instanceKey, string(analysisCode))
})
}
}
示例10: TestReadTopologyMaster
func (s *TestSuite) TestReadTopologyMaster(c *C) {
key := masterKey
i, _ := inst.ReadTopologyInstance(&key)
c.Assert(i.Key.Hostname, Equals, key.Hostname)
c.Assert(i.IsSlave(), Equals, false)
c.Assert(len(i.SlaveHosts), Equals, 3)
c.Assert(len(i.SlaveHosts.GetInstanceKeys()), Equals, len(i.SlaveHosts))
}
示例11: TestFailEndMaintenanceTwice
func (s *TestSuite) TestFailEndMaintenanceTwice(c *C) {
clearTestMaintenance()
_, _ = inst.ReadTopologyInstance(&masterKey)
k, err := inst.BeginMaintenance(&masterKey, "unittest", "TestFailEndMaintenanceTwice")
c.Assert(err, IsNil)
err = inst.EndMaintenance(k)
c.Assert(err, IsNil)
err = inst.EndMaintenance(k)
c.Assert(err, Not(IsNil))
}
示例12: emergentlyReadTopologyInstance
// Force a re-read of a topology instance; this is done because we need to substantiate a suspicion that we may have a failover
// scenario. we want to speed up reading the complete picture.
func emergentlyReadTopologyInstance(instanceKey *inst.InstanceKey, analysisCode inst.AnalysisCode) {
if existsInCacheError := emergencyReadTopologyInstanceMap.Add(instanceKey.DisplayString(), true, cache.DefaultExpiration); existsInCacheError != nil {
// Just recently attempted
return
}
go inst.ExecuteOnTopology(func() {
inst.ReadTopologyInstance(instanceKey)
inst.AuditOperation("emergently-read-topology-instance", instanceKey, string(analysisCode))
})
}
示例13: TestFailMoveBelowUponMaintenance
func (s *TestSuite) TestFailMoveBelowUponMaintenance(c *C) {
clearTestMaintenance()
_, _ = inst.ReadTopologyInstance(&slave1Key)
k, err := inst.BeginMaintenance(&slave1Key, "unittest", "TestBeginEndMaintenance")
c.Assert(err, IsNil)
_, err = inst.MoveBelow(&slave1Key, &slave2Key)
c.Assert(err, Not(IsNil))
err = inst.EndMaintenance(k)
c.Assert(err, IsNil)
}
示例14: TestStopStartSlave
func (s *TestSuite) TestStopStartSlave(c *C) {
i, _ := inst.ReadTopologyInstance(&slave1Key)
c.Assert(i.SlaveRunning(), Equals, true)
i, _ = inst.StopSlaveNicely(&i.Key, 0)
c.Assert(i.SlaveRunning(), Equals, false)
c.Assert(i.SQLThreadUpToDate(), Equals, true)
i, _ = inst.StartSlave(&i.Key)
c.Assert(i.SlaveRunning(), Equals, true)
}
示例15: TestFailMoveBelowUponOtherSlaveStopped
func (s *TestSuite) TestFailMoveBelowUponOtherSlaveStopped(c *C) {
clearTestMaintenance()
slave1, _ := inst.ReadTopologyInstance(&slave1Key)
c.Assert(slave1.SlaveRunning(), Equals, true)
slave1, _ = inst.StopSlaveNicely(&slave1.Key, 0)
c.Assert(slave1.SlaveRunning(), Equals, false)
_, err := inst.MoveBelow(&slave2Key, &slave1Key)
c.Assert(err, Not(IsNil))
_, _ = inst.StartSlave(&slave1.Key)
}