facebook对xtrabackup的优化整理

1)Adding xtrabackup files
 
2)Integrate xtrabackup into tree
https://github.com/facebook/mysql-5.6/commit/74b6cc623dbdec113a735ce292c6bb364facd8ba
将xtrabackup和主干代码合并,相关改动加入#define XTRABACKUP保护;
 
3)Facebook changes to xtrabackup
主要还是一些编译相关的修改,并没有大的功能改进或增强;
 
4)xtrabackup: Do not FLUSH TABLES WITH READ LOCK on master
将option_no_lock默认值设成1,只在备库上执行mysql_lockall,主库不再执行FLUSH TABLES WITH READ LOCK操作。
 
5)Create xtrabackup_logfile in the supplied target_dir
xtrabackup默认将log文件写入my.cnf文件中的tmpdir目录,由于logfile可能会特别大(如>10G),将其从tmpdir中移动到专门的xtrabackup_target_dir
 
6)Xtrabackup: Always use default error messages
 
7)Prevent xtrabackup apply-log disk-space bloat
针对innodb_file_per_table时大量的表(100000+)的恢复,每个表可能会比原表大1M,此commit修复了这个问题;
 
8)Fix error message segfault in xtrabackup.
修复错误消息引起的段错误。
 
9)Adding first basic Xtrabackup test
https://github.com/facebook/mysql-5.6/commit/a292cf01084527dae3542a7ff2cd4ff89e9500dd
10)Add xtrabackup tests on core functionality
https://github.com/facebook/mysql-5.6/commit/27244fc5e4723df5d166ef1502d5c256284fdd2d
11)Improve xtrabackup test to setup replication
以上3个都是为xtrabackup增加的测试用例。
 
12)Add fix for deleted tablespaces in xtrabackup apply log
解决xtrabackup在最后阶段可能hang住的问题,这个问题的原因是一些之前存在的ibd文件打开失败;
 
13)XtraBackup: Prevent indefinite sleep
解决apply log阶段,由于recv_sys->n_addrs不为0导致的sleep forever问题;
 
14)Make xtrabackup handle O_DIRECT_NO_FSYNC option
使得xtrabackup能够处理O_DIRECT_NO_FSYNC选项
 
15)Added more tests for xtrabackup
针对xtrabackup增加更多的测试用例,主要是备份压缩表和分区表;
 
16)Increase timeout for replication sync in xtrabackup tests
测试xtrabackup可以处理replication sync timeout
 
17)Add GTID support in xtrabackup
使得xtrabackup支持gtid;
 
18)Don't use O_DIRECT for xtrabackup_logfile
 
19)xtrabackup: Use "RelWithDebInfo" cmake build type, not "Release".
 
20)Add -Wall -Werror to xtrabackup's mysql build too
 
21)Update xtrabackup.xb_gtid test to work again

 

posted @ 2014-04-28 18:28  刘浩de技术博客  阅读(1009)  评论(0编辑  收藏  举报