# Does pt-table-checksum work in circular replication environments?

**URL:** <https://forums.percona.com/t/does-pt-table-checksum-work-in-circular-replication-environments/3981>\
**Category:** Percona Toolkit\
**Created:** [January 7, 2015, 10:17am UTC](https://forums.percona.com/t/does-pt-table-checksum-work-in-circular-replication-environments/3981 "2015-01-07T10:17:42Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![mirfan](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/mirfan/32/16890_2.png) [@mirfan](https://forums.percona.com/u/mirfan)\
**Post date:** [February 21, 2015, 6:19am UTC](https://forums.percona.com/t/does-pt-table-checksum-work-in-circular-replication-environments/3981/6 "2015-02-21T06:19:38Z")

</div>

It’s chain replication A-\>B-\>C-\>A and pt-table-checksum works great only with STATEMENT format for this particular setup AFAIK. You can read further here on LIMITATION section. [url][pt-table-checksum — Percona Toolkit Documentation](http://www.percona.com/doc/percona-toolkit/2.2/pt-table-checksum.html#limitations%5B/url%5D)  
Checksumming relies on binlog\_format=STATEMENT. B receives changes from it’s Master A, which will be STATEMENT (pt-table-checksum will force this into STATEMENT binlog\_format in it’s session) B executes the checksumming queries. So far so good.  
But then B will also write the changes to it’s own binary log, so it can replicate to C but It will write checksum queries as ROW events in binary log so It won’t replicate to C.  
pt-table-checksum only works properly when STATEMENT based formatting is used (to generate the checksum), if it’s ROW/MIXED based, the row change to the checksums table is is just replicated from it’s master, no checksumming happens…

---

_[View the full topic](https://forums.percona.com/t/does-pt-table-checksum-work-in-circular-replication-environments/3981)._
