Not the answer you need?
Register and ask your own question!

what is the meaning of the --max-flow-ctl

FanFan ContributorCurrent User Role Patron
Can someone explain the meaning of the --max-flow-ctl parameter, do not understand how this percentage is calculated

Comments

  • FanFan Contributor Current User Role Patron
    My understanding is that A = $ (when spent on flow control (from the start of pt-osc/pt-archiver) / start executing pt-osc/pt-archiver to the current total duration * 100)
    Pt-osc/pt-archiver is suspended when A > —max-flow-ctl specifies the value. Over time, when A < —max-flow-ctl specifies the value, continue to execute pt-osc/pt -archiver
    I don't know if it’s right
  • FanFan Contributor Current User Role Patron
    Can someone answer my question?
  • Michael CoburnMichael Coburn Principal Architect, Percona Percona Staff Role
    Hi Fan - this setting in pt-archiver ensures that the archiving routine doesn't overwhelm a PXC cluster by setting a limit to how far replication can lag other members of the cluster.

    From the documentation:
    https://www.percona.com/doc/percona-toolkit/LATEST/pt-archiver.html#cmdoption-pt-archiver-max-flow-ctl
    Somewhat similar to --max-lag but for PXC clusters. Check average time cluster spent pausing for Flow Control and make tool pause if it goes over the percentage indicated in the option. Default is no Flow Control checking.

    And background on PXC Flow Control:
    https://www.percona.com/blog/2013/05/02/galera-flow-control-in-percona-xtradb-cluster-for-mysql/
    What is flow control?
    One of the things that people don’t often expect when switching to Galera is existence of a replication feedback mechanism, unlike anything you find in standard async MySQL replication. It is my belief that the lack of understanding of this system, or even that it exists, leads to unnecessary frustration with Galera and cluster “stalls” that are preventable.

    This feedback, called flow control, allows any node in the cluster to instruct the group when it needs replication to pause and when it is ready for replication to continue. This prevents any node in the synchronous replication group from getting too far behind the others in applying replication.

    This may sound counter-intuitive at first: how would synchronous replication get behind? As I’ve mentioned before, Galera’s replication is synchronous to the point of ensuring transactions are copied to all nodes and global ordering is established, but apply and commit is asynchronous on all but the node the transaction is run on.

    I hope this helps!
  • FanFan Contributor Current User Role Patron
    Hi Fan - this setting in pt-archiver ensures that the archiving routine doesn't overwhelm a PXC cluster by setting a limit to how far replication can lag other members of the cluster.

    From the documentation:
    https://www.percona.com/doc/percona-toolkit/LATEST/pt-archiver.html#cmdoption-pt-archiver-max-flow-ctl


    And background on PXC Flow Control:
    https://www.percona.com/blog/2013/05/02/galera-flow-control-in-percona-xtradb-cluster-for-mysql/
    What is flow control?

    I hope this helps!

    First of all, I want to express my gratitude, but this does not answer my question very well...
    I want to know the algorithm of this parameter
  • carlos.salguerocarlos.salguero Percona Toolkit Developer Percona Staff Role
    Hi,

    The part of the code checking the lag/flow control is here:
    https://github.com/percona/percona-toolkit/blob/3.0/bin/pt-archiver#L4384-L4387

    Regards
  • FanFan Contributor Current User Role Patron
    Hi,

    The part of the code checking the lag/flow control is here:
    https://github.com/percona/percona-toolkit/blob/3.0/bin/pt-archiver#L4384-L4387

    Regards

    thanks a lot !
Sign In or Register to comment.

MySQL, InnoDB, MariaDB and MongoDB are trademarks of their respective owners.
Copyright ©2005 - 2020 Percona LLC. All rights reserved.