Hi, Kristian,
  Sorry for a huge delay for this mail. It is a so busy month in this Nov.
  In the attachment is that result of "mysql-test-run.pl --force --parallel=auto"
 
  There are 52 fails in the result.
  Failing test(s): rpl.rpl_dual_pos_advance rpl.rpl_slave_skip rpl.rpl_row_basic_3innodb rpl.rpl_skip_replication rpl.rpl_slave_grp_exec rpl.rpl_deadlock_innodb rpl.rpl_begin_commit_rollback rpl.rpl_stm_EE_err2 rpl.rpl_row_basic_2myisam rpl.rpl_row_loaddata_concurrent rpl.rpl_row_binlog_max_cache_size rpl.rpl_stm_conflicts rpl.rpl_row_conflicts rpl.rpl_stm_loaddata_concurrent rpl.rpl_row_idempotency rpl.rpl_row_sp002_innodb rpl.rpl_loaddata rpl.rpl_circular_for_4_hosts funcs_1.innodb_func_view rpl.rpl_rotate_logs funcs_1.memory_func_view funcs_1.myisam_func_view plugins.unix_socket
 
  The failing tests can be sort into some categories as follow:
 
  
1) rpl.rpl_slave_skip
   rpl.rpl_row_binlog_max_cache_size 
   rpl.rpl_begin_commit_rollback
   rpl.rpl_skip_replication
   rpl.slave_skip_errors_basic
    In the multi-thread mode, SQL_SLAVE_SKIP_COUNTER may lead to different result in slave. Test-cases above are affected by that. Though it is by designed, we should get some strategres about this issue.
2) rpl.rpl_dual_pos_advance
   it almost because the reason in 2). In this case, "start slave until ..." is used.
  
  
3) rpl.rpl_stm_conflicts
   wait_for_slave_sql_error_and_skip
   rpl_row_conflicts
   rpl_stm_loaddata_concurrent
   wait_for_slave_sql_error_and_skip
   rpl.rpl_rotate_logs,main.not_embedded_server
   rpl.rpl_stm_EE_err2
   rpl.rpl_row_loaddata_concurrent
   rpl.rpl_loaddata
  
   These cases failed because the slave is waiting for the error number 1062, which is ignore in Parallel mode.
4) rpl.rpl_row_basic_3innodb
   rpl_row_basic_2myisam 
  
   These fails because the assertion of "Counter for COM_COMMIT", in our mode, the transactions are not executed in the original SQL_THREAD
  
5) rpl.rpl_row_idempotency, rpl.rpl_row_sp002_innodb fail because we disable foreign key checkes
6) rpl.rpl_slave_grp_exec
   rpl.rpl_row_annotate
   
   These fails are by designed. In Parallel mode, we do not ensure the order of insertions, if the order do not affect the data consistency.
   So in some test results, rpl.rpl_row_annotate are reported successful, when it happend that the order of execution are the same with that of binary log.
7) sys_vars.slave_skip_errors_basic
   main.not_embedded_server
   main.mysqld--help
  
   I change the default value of SLAVE_SKIP_ERRORS from OFF to 1032,1062, the test-result should be modified.
  
8) funcs_1.innodb_func_view
   funcs_1.memory_func_view
   funcs_1.myisam_func_view
   plugins.unix_socket
  
   These fails are the same with that in 10.0-base, not introduced by this patch.
  
Finally, there are some test-cases that are too complex and need your help.
   rpl.rpl_deadlock_innodb
   rpl.rpl_circular_for_4_hosts
 
Can you review the patch again and give me more suggestion? Thank you.
 
Best regards
Xiaobin
________________________________________
发件人: Kristian Nielsen [knielsen@knielsen-hq.org]
发送时间: 2012年10月15日 14:49
到: 丁奇
Cc: maria-developers@lists.launchpad.net
主题: Re: 答复: [Maria-developers] 答复: MDEV-520: consider parallel replication patch from taobao patches

丁奇 <dingqi.lxb@taobao.com> writes:

>   So  I have changed the structure of the patch these two days.  The main concept is not changed.
>   Changes are:
>    1) fix the case insensitivity  problem
>    2) fix the invalid memory access when the key is not long enough.

Great!

>    3) Change the strategy in mixed cases:
>        A transaction is buffer as a whole first, and decide the way of applying based different case -- If  a transaction contains one or more statement-format queries, it is treated like an DDL.
>      This may occur when the master's binlog format is mixed.

Right, this will be necessary.

>    My aim is that, if the master fulfills the conditions that we think we can use multiple-thread to increase performce, we improve it . If not, we just confirm the correctness.

Yes, agree.

>  Please fetch the new version in the following URL.
>
>   http://mysql.taobao.org/index.php/RLPR_for_MariaDB#Source_code
>
>   If consider the general cases, there maybe many bugs in the patch.
>   There are some errors in the result of ./mtr,  I am dealing with them one by one, but some of them are some complex that I need your help (Such as rpl.rpl_deadlock_innodb).

Ok. Let me know when you are done with the simple ones, and I will try to find
time to look into the complex ones.

 - Kristian.



This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you.

本电邮(包括任何附件)可能含有机密资料并受法律保护。如您不是正确的收件人,请您立即删除本邮件。请不要将本电邮进行复制并用作任何其他用途、或透露本邮件之内容。谢谢。