本文整理汇总了Python中mpp.lib.gprecoverseg.GpRecover.full方法的典型用法代码示例。如果您正苦于以下问题:Python GpRecover.full方法的具体用法?Python GpRecover.full怎么用?Python GpRecover.full使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mpp.lib.gprecoverseg.GpRecover
的用法示例。
在下文中一共展示了GpRecover.full方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: GpRecoversegRegressionTests
# 需要导入模块: from mpp.lib.gprecoverseg import GpRecover [as 别名]
# 或者: from mpp.lib.gprecoverseg.GpRecover import full [as 别名]
class GpRecoversegRegressionTests(unittest.TestCase):
def setUp(self):
self.gprec = GpRecover()
self.gphome = os.environ.get('GPHOME')
def failover(self, type = 'mirror'):
if type == 'mirror':
fault_str = 'source %s/greenplum_path.sh;gpfaultinjector -f filerep_consumer -m async -y fault -r mirror -H ALL' % self.gphome
else:
fault_str = 'source %s/greenplum_path.sh;gpfaultinjector -f postmaster -m async -y panic -r primary -H ALL' % self.gphome
return run_shell_command(fault_str, cmdname = 'Run fault injector to failover')
def test_incr_gprecoverseg(self):
self.gprec.wait_till_insync_transition()
if(self.failover()):
self.assertTrue(self.gprec.incremental())
def test_full_gprecoverseg(self):
self.gprec.wait_till_insync_transition()
if(self.failover()):
self.assertTrue(self.gprec.full())
def test_gprecoverseg_rebalance(self):
self.gprec.wait_till_insync_transition()
if(self.failover('primary')):
PSQL.run_sql_file(local_path('mirror_failover_trigger.sql'))
self.gprec.incremental()
if (self.gprec.wait_till_insync_transition()):
self.assertTrue(self.gprec.rebalance())
def test_wait_till_insync(self):
self.gprec.wait_till_insync_transition()
if(self.failover()):
self.gprec.incremental()
self.assertTrue(self.gprec.wait_till_insync_transition())
示例2: FilerepTestCase
# 需要导入模块: from mpp.lib.gprecoverseg import GpRecover [as 别名]
# 或者: from mpp.lib.gprecoverseg.GpRecover import full [as 别名]
#.........这里部分代码省略.........
"""
Clean the data by removing the external table, otherwise, more data will be appended to the
same external table from running multiple sql files.
"""
test = local_path("")
test = str(test) +"data/*.*"
cmd = 'rm -rfv '+test
run_shell_command(cmd)
def anydownsegments(self):
"""
checks if any segments are down
"""
tinctest.logger.info("Checking if any segments are down")
num_segments_down = self.count_of_nodes_down()
if int(num_segments_down) == 0:
return True
else:
return False
def stop_start_validate(self, stopValidate=True):
"""
Do gpstop -i, gpstart and see if all segments come back up fine
"""
tinctest.logger.info("Performing stop start validate")
tinctest.logger.info("Shutting down the cluster")
ok = self.gpstop.run_gpstop_cmd(immediate = 'i', validate=stopValidate)
if not ok and stopValidate:
raise Exception('Problem while shutting down the cluster')
tinctest.logger.info("Successfully shutdown the cluster.")
tinctest.logger.info("Restarting the cluster.")
ok = self.gpstart.run_gpstart_cmd()
if not ok:
raise Exception('Failed to bring the cluster back up')
tinctest.logger.info("Successfully restarted the cluster.")
if not self.anydownsegments():
raise Exception("segments were marked down")
else:
return (True, "All segments are up")
def method_reset_fault_injection(self):
"""
Resets fault injection
Return: (True, [result]) if OK, or (False, [result]) otherwise
"""
tinctest.logger.info("Resetting fault injection")
(ok1,out1) = self.util.inject_fault(f='filerep_resync', m = 'async', y = 'reset', r = 'primary', H ='ALL')
if not ok1:
raise Exception("Fault injection failed")
tinctest.logger.info("Done Injecting Fault to reset resync")
return (True, str(out1))
def method_resume_filerep_resync(self):
"""
Resumes the process of resync
"""
示例3: test_recovery_full
# 需要导入模块: from mpp.lib.gprecoverseg import GpRecover [as 别名]
# 或者: from mpp.lib.gprecoverseg.GpRecover import full [as 别名]
def test_recovery_full(self):
gprecover = GpRecover()
gprecover.full()
gprecover.wait_till_insync_transition()
示例4: SubTransactionLimitRemovalTestCase
# 需要导入模块: from mpp.lib.gprecoverseg import GpRecover [as 别名]
# 或者: from mpp.lib.gprecoverseg.GpRecover import full [as 别名]
#.........这里部分代码省略.........
if is_running == 0:
return True
else:
sleep(10)
return False
def resume_filerep_resync(self):
self.util = Filerepe2e_Util()
tinctest.logger.info("[STLRTest] Running resume_filerep_resync")
tinctest.logger.info("[STLRTest] fault for failover_to_mirror resume")
(ok1,out1) = self.util.inject_fault(f='filerep_resync', m = 'async', y = 'resume', r = 'primary', H ='ALL')
if not ok1:
raise Exception("[STLRTest]Fault injection failed")
tinctest.logger.info("[STLRTest]Done fault for failover_to_mirror resume")
sleep(10)
def stop_start_validate(self, expect_down_segments=False):
"""
Do gpstop -i, gpstart and see if all segments come back up fine
"""
self.gpstart = GpStart()
self.gpstop = GpStop()
tinctest.logger.info("[STLRTest] Running stop_start_validate")
tinctest.logger.info("[STLRTest]Shutting down the cluster")
ok = self.gpstop.run_gpstop_cmd(immediate = 'i')
if not expect_down_segments:
if not ok:
raise Exception('[STLRTest]Problem while shutting down the cluster')
tinctest.logger.info("[STLRTest]Successfully shutdown the cluster.")
tinctest.logger.info("[STLRTest]Restarting the cluster.")
ok = self.gpstart.run_gpstart_cmd()
if not ok:
raise Exception('[STLRTest]Failed to bring the cluster back up')
tinctest.logger.info("[STLRTest]Successfully restarted the cluster.")
if not self.anydownsegments():
raise Exception("[STLRTest]segments were marked down")
else:
return (True, "All segments are up")
def run_gprecoverseg(self,recover_option):
'''
@summary : Call gpecoverseg full or incremental to bring back the cluster to sync
'''
self.gpr = GpRecover()
tinctest.logger.info("[STLRTest] Running run_gprecoverseg")
if recover_option == 'full':
self.gpr.full()
else:
self.gpr.incremental()
self.gpr.wait_till_insync_transition()
def run_restart_database(self):
'''
@summary : Restart the database
'''
self.gpstart = GpStart()