作家
登录

GitHub的MySQL基础架构自动化测试

作者: 来源: 2017-10-10 09:08:57 阅读 我要评论

这些迁徙可以被审计。以下是我们若何大年夜对话中(chatops)检查运行中的测试状况:

ggunson

  1. .migration test-status 

Hubot

tomkrouper

  1. .mysql backup-restore -H db-mysql-0007 -o -r magic_word=daily_rotating_word 
  1. # Migrating `prod`.`pull_requests`; Ghost table is `prod`.`_pull_requests_gho` 
  2. # Migrating ghost-db-mysql-0007:3306; inspecting ghost-db-mysql-0007:3306; executing on ghost-db-mysql-0007 
  3. # Migration started at Mon Jan 30 02:13:39 -0800 2017 
  4. # chunk-size: 2500; max-lag-millis: 1500ms; max-load: Threads_running=30; critical-load: Threads_running=1000; nice-ratio: 0.000000 
  5. # throttle-additional-flag-file: /tmp/gh-ost.throttle 
  6. # panic-flag-file: /tmp/ghost-test-panic.flag 
  7. # Serving on unix socket: /tmp/gh-ost.test.sock 
  8. Copy: 57992500/86684838 66.9%; Applied: 57708; Backlog: 1/100; Time: 3h28m38s(total), 3h28m36s(copy); streamer: mysql-bin.000576:142993938; State: migrating; ETA: 1h43m12s 

提交的 gh-ost 拉取请求(PR)经由过程持续集成(CI)进行根本的编译和单位测试。一旦经由过程,该 PR 在技巧上就有资格归并,但更好的是它有资格经由过程 Heaven 进行安排。作为我们基本架构中的敏感组件,在其进入 master 分支前,我们会当心安排分支进行密集测试。

我们在测试集群上模仿写入负载,同时避免复制滞后。写入负载不会太大年夜,然则有一些有意地写入雷同数据集的竞争请求。这在正常情况下并不是很有效,然则事实证实这在故障转移中是有效的,我们将会稍后扼要描述它。

当测试迁徙完成表数据的复制时,它将停止复制并履行切换,应用 ghost 表调换原始表,然后交换回来。我们对实际调换数据并不感兴趣。相反,我们将留下原始的表和 ghost 表,它们应当是雷同的。我们经由过程校验两个表的┞符个表数据来验证。

测试能以下列方法完成:

  • 成功 :一切顺利,校验和雷同。我们等待看到这一结不雅。
  • 掉败 :履行问题。这可能有时产生,因为迁徙过程被杀逝世、复制问题等,并且平日与 gh-ost 自身无关。
  • 校验掉败 :表数据不一致。对于被测试的分支,这个须要修复。对于正在进行的 master 分支测试,这意味焦急速阻拦临盆迁徙。我们不会碰到后者。

这些测试赓续运行。如不雅产生故障,我们会收到通知。当然,我们可以随时拜访机械人聊天室(chatops),懂得产生了什么。

测试新版本

我们赓续改进 gh-ost。我们的开辟流程基于 git 分支,然后我们经由过程拉取请求(PR)来供给归并。

shlomi-noach

  1. .deploy gh-ost/fix-reappearing-throttled-reasons to prod/ghost-db-mysql-0007 

Hubot

  1. @shlomi-noach is deploying gh-ost/fix-reappearing-throttled-reasons (baee4f6) to production (ghost-db-mysql-0007).  
  2. @shlomi-noach's production deployment of gh-ost/fix-reappearing-throttled-reasons (baee4f6) is done! (2s)  
  3. @shlomi-noach, make sure you watch for exceptions in haystack 

jonahberquist

  1. .deploy gh-ost/interactive-command-question 

      推荐阅读

      百度长语音识别免费开放 大幅提升语音转写效率

    当语音输入不再受时光的限制,用户是否可以真正实现“动口不着手”?近日,百度AI开放平台向开辟者免费开放长语音辨认功能,经由过程SDK调用办事,可将长语音转换为文字。据懂得>>>详细阅读


    本文标题:GitHub的MySQL基础架构自动化测试

    地址:http://www.17bianji.com/lsqh/37750.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)