← Back to team overview

mylvmbackup-discuss team mailing list archive

Re: mylvmbackup -- handle flush table with read lock solution. script to share


Hi Linda,

thank you very much, I really appreciate your help. I'll try to perform a more thorough review of your changes as soon as possible, hopefully some time this weekend.

Thanks again!


Am 25. September 2015 01:52:25 MESZ, schrieb Linda Xu <lxu8@xxxxxxxxx>:
>Hi, Lenz
>Thanks for your suggestion. I followed your instruction to 1. copy the
>current branch2. modify the mylvmbackup.pl.in and mylvmback.conf3.
>commit the changes and reload the brand as
>Other modification 1. all database command are in upper case
>2. added the feature of check slave temp table when stop_replication
>option is 1    if stop_replication == 1        if wait_tmp_table_close
>==1             child process will stop slave then check if slave has
>temp table open                if there are temp table open, child
>process will start slave wait 5 seconds and recheck                   
>  after number of trials (tmp_table_trials), if slave still has temp
>table open, child process will exit with error                 if there
>is no temp table open, replication is stop success and move to next
>step (put FTWRL LOCK)
>Since child process should abort for different kind of reason after
>successful stop replication, the parent will start replication if child
>process was exit with error.    if stop_replication ==0     
> wait_tmp_table_close and tmp_table_trials setting will be ignore.     
> child stop replication then move to next step               3. better
>formatted on content and style  (sorry, the previous script was rush,
>only focus on the function)
>Let me know if there is question.
>| #
>#ftwrl_mode: 0|1|2
># 0, run ftwrl first, check ftwrl session status, kill long run query
>which block ftwrl if any after ftwrl_trials  [backup priority]
># 1, run ftwrl first, check ftwrl session status, abort backup process
>if got block after ftwrl trials [application priority]
># 2, check long run query first, if exists, recheck. 
>#    Abort backup script after wait period [old mode except backup
>script stop after given time] 
>#ftwrl_wait, wait n seconds between recheck ftwrl status
>#ftwrl_trials, n of times to check ftwrl status before action. 
>#query_override, file name where find long run query stored. Default is
>no override
>#if no override following where condition will be used to address long
>run query
>#            where TIME>0 and  USER<>'system user' and STATE like
>#             and INFO not in ('flush tables with read lock','flush
>#stop_replication before take snapshot, 1 stop, 0 do not stop
>#wait_tmp_table_close, wait tmp table close on slave when stop
>replication. 1 yes, 0 no
>#    1: backup will wait slave temp table close before run snapshot or
>abort backup after tmp_table_trials
>#tmp_table_trials : n of times to check slave temp table before abort 
> |
>  From: Lenz Grimmer <lenz@xxxxxxxxxxx>
> To: mylvmbackup-discuss@xxxxxxxxxxxxxxxxxxx 
> Sent: Monday, September 21, 2015 12:48 AM
>Subject: Re: [Mylvmbackup-discuss] mylvmbackup -- handle flush table
>with read lock solution. script to share
>Hi Linda,
>again thank you for your contribution and sorry for the delay in
>On 09/15/2015 12:12 AM, Linda Xu wrote:
>> I uploaded the changes to launchpad as
>> "lp:~lxu8/mylvmbackup/mylvmbackup-0.16lx
>> <https://code.launchpad.net/~lxu8/mylvmbackup/mylvmbackup-0.16lx>"
>> Only the main script mylvmbackup is been changed. Please let me know
>> there is any question or other modification needed.
>I finally found some time to review your changes. Unfortunately
>reviewing and
>merging your changes is somewhat difficult, as the bzr tree does not
>seem to
>be a full clone of the "trunk", but rather a single checkin of an
>source tarbell.
>In order to preserve the commit history, and to ease the process of
>your changes, would it be possible for you to amend your contribution
>as follows?
>Please create a full branch off the trunk by using "bzr branch
>lp:mylvmbackup". Then, apply your modifications on top of this tree, in
>mylvmbackup.pl.in (not the final mylvmbackup file).
>Commit and push your modifications to a new branch on Launchpad, e.g.
>push lp:~lxu8/mylvmbackup/mylvmbackup-ftwr". This would allow me to
>merge your changes and maintain your commit messages.
>The comments you added below the GPL header look somewhat truncated,
>sentences seem to be incomplete and end with "»" instead. So it is
>to fully understand the various modes.
>A question about the $stop_replication option: enabling this option
>issues a
>"STOP SLAVE SQL_THREAD" before the tables are locked. How would this
>temporary tables? According to the documentation, there are some things
>have to consider in this case:
>I also have a pending bug report about temporary tables, so I wonder if
>is related: https://bugs.launchpad.net/mylvmbackup/+bug/1217747
>Can you please comment on this?
>With regards to the new options you want to introduce: I find
>somewhat long and redundant. How about removing the "flush_" prefix?
>Instead of describing the options in the code, would you mind adding
>including your complete comments to the mylvmbackup.conf file?
>Some general comments: would you mind to adjust your indendations so
>match the rest of the code, which uses two spaces per indendation
>Also another style question, could you please put SQL keywords in
>e.g. the ones you defined in $find_long_query_cnt and so on.
>Thank you very much!
>  Lenz Grimmer <lenz@xxxxxxxxxxx> - http://www.lenzg.net/
>Mailing list: https://launchpad.net/~mylvmbackup-discuss
>Post to    : mylvmbackup-discuss@xxxxxxxxxxxxxxxxxxx
>Unsubscribe : https://launchpad.net/~mylvmbackup-discuss
>More help  : https://help.launchpad.net/ListHelp
>Mailing list: https://launchpad.net/~mylvmbackup-discuss
>Post to     : mylvmbackup-discuss@xxxxxxxxxxxxxxxxxxx
>Unsubscribe : https://launchpad.net/~mylvmbackup-discuss
>More help   : https://help.launchpad.net/ListHelp

Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.