List:Commits« Previous MessageNext Message »
From:He Zhenxing Date:October 18 2010 3:47am
Subject:Re: bzr commit into mysql-next-mr-rpl-merge branch
(alfranio.correia:3202) WL#2775
View as plain text  
Hi Alfranio,

Thank you for the work! I see now critical issues, here are some
comments!

STATUS
------
Not Approved!

REQUIRED CHANGES
----------------
 
RC1. DBUG_ABORT(), abort() => DBUG_SUICIDE() BUG#52002

RC2. remove rli->flush_info(TRUE) when simulating a crash,
     especially with transactional repo engines, it should be
     able to recover.

RC3. I think temporarily set thd->system_thread to
     SYSTEM_THREAD_INFO when accessing info table during the
     query exection is misuse of the concept of system
     thread. And this will make the output of SHOW PROCESSLIST
     to show the thread as a system thread during that period,
     which I think can be confusing. Please consider use some
     other flag instead.

REQUESTS
--------
R1. info_field, why not using the already exist class String?
    and I also think it should be named info_value because it
    holds the value of a info field. Please also consider
    rename class Rpl_info_fields. There are also some other
    uses of the name 'field' actually means 'value', such as
    Rpl_info_table_access::store_info_fields() should be
    renamed as store_info_values().

R2. I do not quite understand why need Rpl_info_table::field_idx,
    could you please explain.

R3. I think we need to bench mark the performance of using
    table repo if we have not done that yet

R4. Wondering if it's possible to avoid open_table and
    close_table for every operation on the info repo table. For
    example, keep the table open, but introduce another mutex
    to protect the access to it.

R5. It seems what Rpl_info_*::reset_info() does is to remove
    the info from the repository, so I'd suggest rename the
    function to reflect that.

R6. Do we allow changing repo table engine dynamically? If not
    then I think Rpl_info_table::do_is_transactional() no need
    to check the table every time, I think this can be checked
    and saved the result when initializing the info table.

R7. str_schema, str_schema_size, str_table str_table_size, I'd
    suggest to use LEX_STRING to store the string and the size.

R8. Rpl_info_table_access::create/drop_bootstrap_thd(), I'd
    suggest remove the 'bootstrap' from there names because
    they are not used only when bootstrap.

R9. what's the use of NULL_TABLE_INFO? I can not find anywhere
    it was used.

R10. Please define a new TABLE_CATEGORY for repository table,
     possible candidates: TABLE_CATEGORY_SYSTEM
     TABLE_CATEGORY_REPLICATION TABLE_CATEGORY_INFO

SUGGESTIONS
-----------
S1. Suggest to change the signature of
    Rpl_info_factory::create_mi() to: Master_info*
    Rpl_info_factory::create_mi(uint mi_option);

S2. Rpl_info_table_access::find_info_id(), I'd suggest rename
    it something like 'locate_info_for_server_id'


Alfranio Correia wrote:
> #At
> file:///home/acorreia/workspace.sun/repository.mysql.new/bzrwork/wl-2775/mysql-next-mr-prepared-for-5125/
> based on revid:alfranio.correia@stripped
> 
>  3202 Alfranio Correia	2010-10-08
>       WL#2775

[snip]

Thread
bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Alfranio Correia8 Oct
  • Re: bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Luís Soares8 Oct
    • Re: bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Alfranio Correia18 Oct
  • Re: bzr commit into mysql-next-mr-rpl-merge branch(alfranio.correia:3202) WL#2775He Zhenxing18 Oct
    • Re: bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Alfranio Correia18 Oct
      • Re: bzr commit into mysql-next-mr-rpl-merge branch(alfranio.correia:3202) WL#2775He Zhenxing19 Oct
        • Re: bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Alfranio Correia20 Oct
          • Re: bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Luís Soares20 Oct
            • Re: bzr commit into mysql-next-mr-rpl-merge branch(alfranio.correia:3202) WL#2775He Zhenxing20 Oct
              • Re: bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Alfranio Correia25 Oct
                • Re: bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Luís Soares25 Oct
                  • Re: bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Alfranio Correia25 Oct
                    • Re: bzr commit into mysql-next-mr-rpl-merge branch(alfranio.correia:3202) WL#2775He Zhenxing26 Oct
                      • Re: bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Alfranio Correia26 Oct
                        • Re: bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Luís Soares26 Oct
                          • Re: bzr commit into mysql-next-mr-rpl-merge branch(alfranio.correia:3202) WL#2775He Zhenxing27 Oct
                • Re: bzr commit into mysql-next-mr-rpl-merge branch(alfranio.correia:3202) WL#2775He Zhenxing27 Oct
                  • Re: bzr commit into mysql-next-mr-rpl-merge branch (alfranio.correia:3202)WL#2775Alfranio Correia27 Oct