本文整理匯總了Golang中github.com/outbrain/orchestrator/go/inst.MoveBelow函數的典型用法代碼示例。如果您正苦於以下問題:Golang MoveBelow函數的具體用法?Golang MoveBelow怎麽用?Golang MoveBelow使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了MoveBelow函數的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: TestFailMoveBelow
func (s *TestSuite) TestFailMoveBelow(c *C) {
clearTestMaintenance()
_, _ = inst.ExecInstance(&slave2Key, `set global binlog_format:='ROW'`)
_, err := inst.MoveBelow(&slave1Key, &slave2Key)
_, _ = inst.ExecInstance(&slave2Key, `set global binlog_format:='STATEMENT'`)
c.Assert(err, Not(IsNil))
}
示例2: 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)
}
示例3: 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)
}
示例4: TestMoveBelowAndBack
func (s *TestSuite) TestMoveBelowAndBack(c *C) {
clearTestMaintenance()
// become child
slave1, err := inst.MoveBelow(&slave1Key, &slave2Key)
c.Assert(err, IsNil)
c.Assert(slave1.MasterKey.Equals(&slave2Key), Equals, true)
c.Assert(slave1.SlaveRunning(), Equals, true)
// And back; keep topology intact
slave1, _ = inst.MoveUp(&slave1Key)
slave2, _ := inst.ReadTopologyInstance(&slave2Key)
c.Assert(inst.InstancesAreSiblings(slave1, slave2), Equals, true)
c.Assert(slave1.SlaveRunning(), Equals, true)
}
示例5: TestMoveBelowAndBackComplex
func (s *TestSuite) TestMoveBelowAndBackComplex(c *C) {
clearTestMaintenance()
// become child
slave1, _ := inst.MoveBelow(&slave1Key, &slave2Key)
c.Assert(slave1.MasterKey.Equals(&slave2Key), Equals, true)
c.Assert(slave1.SlaveRunning(), Equals, true)
// Now let's have fun. Stop slave2 (which is now parent of slave1), execute queries on master,
// move s1 back under master, start all, verify queries.
_, err := inst.StopSlave(&slave2Key)
c.Assert(err, IsNil)
randValue := rand.Int()
_, err = inst.ExecInstance(&masterKey, `replace into orchestrator_test.test_table (name, value) values ('TestMoveBelowAndBackComplex', ?)`, randValue)
c.Assert(err, IsNil)
master, err := inst.ReadTopologyInstance(&masterKey)
c.Assert(err, IsNil)
// And back; keep topology intact
slave1, err = inst.MoveUp(&slave1Key)
c.Assert(err, IsNil)
_, err = inst.MasterPosWait(&slave1Key, &master.SelfBinlogCoordinates)
c.Assert(err, IsNil)
slave2, err := inst.ReadTopologyInstance(&slave2Key)
c.Assert(err, IsNil)
_, err = inst.MasterPosWait(&slave2Key, &master.SelfBinlogCoordinates)
c.Assert(err, IsNil)
// Now check for value!
var value1, value2 int
inst.ScanInstanceRow(&slave1Key, `select value from orchestrator_test.test_table where name='TestMoveBelowAndBackComplex'`, &value1)
inst.ScanInstanceRow(&slave2Key, `select value from orchestrator_test.test_table where name='TestMoveBelowAndBackComplex'`, &value2)
c.Assert(inst.InstancesAreSiblings(slave1, slave2), Equals, true)
c.Assert(value1, Equals, randValue)
c.Assert(value2, Equals, randValue)
}
示例6: Cli
//.........這裏部分代碼省略.........
case registerCliCommand("move-up", "Classic file:pos relocation", `Move a slave one level up the topology`):
{
instanceKey = deduceInstanceKeyIfNeeded(instance, instanceKey)
instance, err := inst.MoveUp(instanceKey)
if err != nil {
log.Fatale(err)
}
fmt.Println(fmt.Sprintf("%s<%s", instanceKey.DisplayString(), instance.MasterKey.DisplayString()))
}
case registerCliCommand("move-up-slaves", "Classic file:pos relocation", `Moves slaves of the given instance one level up the topology`):
{
if instanceKey == nil {
log.Fatal("Cannot deduce instance:", instance)
}
movedSlaves, _, err, errs := inst.MoveUpSlaves(instanceKey, pattern)
if err != nil {
log.Fatale(err)
} else {
for _, e := range errs {
log.Errore(e)
}
for _, slave := range movedSlaves {
fmt.Println(slave.Key.DisplayString())
}
}
}
case registerCliCommand("move-below", "Classic file:pos relocation", `Moves a slave beneath its sibling. Both slaves must be actively replicating from same master.`):
{
instanceKey = deduceInstanceKeyIfNeeded(instance, instanceKey)
if destinationKey == nil {
log.Fatal("Cannot deduce destination/sibling:", destination)
}
_, err := inst.MoveBelow(instanceKey, destinationKey)
if err != nil {
log.Fatale(err)
}
fmt.Println(fmt.Sprintf("%s<%s", instanceKey.DisplayString(), destinationKey.DisplayString()))
}
case registerCliCommand("move-equivalent", "Classic file:pos relocation", `Moves a slave beneath another server, based on previously recorded "equivalence coordinates"`):
{
instanceKey = deduceInstanceKeyIfNeeded(instance, instanceKey)
if destinationKey == nil {
log.Fatal("Cannot deduce destination:", destination)
}
_, err := inst.MoveEquivalent(instanceKey, destinationKey)
if err != nil {
log.Fatale(err)
}
fmt.Println(fmt.Sprintf("%s<%s", instanceKey.DisplayString(), destinationKey.DisplayString()))
}
case registerCliCommand("repoint", "Classic file:pos relocation", `Make the given instance replicate from another instance without changing the binglog coordinates. Use with care`):
{
instanceKey = deduceInstanceKeyIfNeeded(instance, instanceKey)
// destinationKey can be null, in which case the instance repoints to its existing master
instance, err := inst.Repoint(instanceKey, destinationKey, inst.GTIDHintNeutral)
if err != nil {
log.Fatale(err)
}
fmt.Println(fmt.Sprintf("%s<%s", instanceKey.DisplayString(), instance.MasterKey.DisplayString()))
}
case registerCliCommand("repoint-slaves", "Classic file:pos relocation", `Repoint all slaves of given instance to replicate back from the instance. Use with care`):
{
instanceKey = deduceInstanceKeyIfNeeded(instance, instanceKey)
repointedSlaves, err, errs := inst.RepointSlavesTo(instanceKey, pattern, destinationKey)
if err != nil {
示例7: Cli
//.........這裏部分代碼省略.........
log.Fatale(err)
}
fmt.Println(fmt.Sprintf("%s<%s", instanceKey.DisplayString(), instance.MasterKey.DisplayString()))
}
case cliCommand("move-up-slaves"):
{
if instanceKey == nil {
log.Fatal("Cannot deduce instance:", instance)
}
movedSlaves, _, err, errs := inst.MoveUpSlaves(instanceKey, pattern)
if err != nil {
log.Fatale(err)
} else {
for _, e := range errs {
log.Errore(e)
}
for _, slave := range movedSlaves {
fmt.Println(slave.Key.DisplayString())
}
}
}
case cliCommand("move-below"):
{
if instanceKey == nil {
instanceKey = thisInstanceKey
}
if instanceKey == nil {
log.Fatal("Cannot deduce instance:", instance)
}
if destinationKey == nil {
log.Fatal("Cannot deduce sibling:", destination)
}
_, err := inst.MoveBelow(instanceKey, destinationKey)
if err != nil {
log.Fatale(err)
}
fmt.Println(fmt.Sprintf("%s<%s", instanceKey.DisplayString(), destinationKey.DisplayString()))
}
case cliCommand("move-equivalent"):
{
if instanceKey == nil {
instanceKey = thisInstanceKey
}
if instanceKey == nil {
log.Fatal("Cannot deduce instance:", instance)
}
if destinationKey == nil {
log.Fatal("Cannot deduce sibling:", destination)
}
_, err := inst.MoveEquivalent(instanceKey, destinationKey)
if err != nil {
log.Fatale(err)
}
fmt.Println(fmt.Sprintf("%s<%s", instanceKey.DisplayString(), destinationKey.DisplayString()))
}
case cliCommand("move-gtid"):
{
if instanceKey == nil {
instanceKey = thisInstanceKey
}
if instanceKey == nil {
log.Fatal("Cannot deduce instance:", instance)
}
if destinationKey == nil {
log.Fatal("Cannot deduce sibling:", destination)