pt-heartbeat --update --replace causes duplicate key error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Toolkit moved to https://jira.percona.com/projects/PT |
Fix Released
|
Medium
|
Daniel Nichter | ||
1.0 |
Won't Fix
|
Undecided
|
Unassigned | ||
2.0 |
Fix Committed
|
Medium
|
Daniel Nichter | ||
2.1 |
Fix Released
|
Medium
|
Daniel Nichter |
Bug Description
I am using pt-heartbeat with MySQL that is configured in a HA setup.
LoadBalancer(VIP)
|
M1(RW)<--->M2(RW)
|
S1(R) S2(R)
I am using pt-heartbeat version 1.0.1
I send out a heartbeat every two minutes to the active writer via cron
to the load balancer Virtual IP Address.
*/2 * * * * /usr/bin/
table -h LBVIP -P LBPORT --run-time 1
When I do a failover I get duplicate key errors on the secondary
master M2. On failback i get duplicate key error on Master M1.
Last_Error: Error 'Duplicate entry '8806' for key 'PRIMARY'' on query.
Default database: 'test'. Query: 'INSERT INTO `test`.`heartbeat`
(server_id, ts) VALUES ('8806', NOW())'
I am using the --update --replace options but i believe based on my
replication errors that it is doing an insert not a replace.
Am i hitting a bug with pt-heartbeat or do i have to change my method
of sending heartbeat?
Related branches
- Daniel Nichter: Approve
-
Diff: 99953 lines (+70763/-13287) (has conflicts)617 files modified.bzrignore (+1/-0)
Changelog (+91/-0)
MANIFEST (+2/-0)
Makefile.PL (+6/-2)
bin/pt-align (+4/-0)
bin/pt-archiver (+811/-455)
bin/pt-config-diff (+67/-49)
bin/pt-deadlock-logger (+695/-76)
bin/pt-diskstats (+111/-6)
bin/pt-duplicate-key-checker (+301/-548)
bin/pt-fifo-split (+5/-1)
bin/pt-find (+203/-501)
bin/pt-fingerprint (+2143/-0)
bin/pt-fk-error-logger (+194/-46)
bin/pt-heartbeat (+308/-197)
bin/pt-index-usage (+426/-553)
bin/pt-ioprofile (+59/-22)
bin/pt-kill (+1655/-148)
bin/pt-log-player (+64/-47)
bin/pt-mext (+20/-4)
bin/pt-mysql-summary (+2092/-681)
bin/pt-online-schema-change (+5820/-1324)
bin/pt-pmp (+21/-9)
bin/pt-query-advisor (+486/-458)
bin/pt-query-digest (+341/-436)
bin/pt-show-grants (+62/-54)
bin/pt-sift (+37/-14)
bin/pt-slave-delay (+658/-178)
bin/pt-slave-find (+754/-85)
bin/pt-slave-restart (+702/-82)
bin/pt-stalk (+33/-11)
bin/pt-summary (+2046/-792)
bin/pt-table-checksum (+1454/-272)
bin/pt-table-sync (+957/-160)
bin/pt-table-usage (+7375/-0)
bin/pt-tcp-model (+106/-3)
bin/pt-trend (+106/-3)
bin/pt-upgrade (+291/-543)
bin/pt-variable-advisor (+656/-98)
bin/pt-visual-explain (+60/-46)
config/deb/changelog (+94/-0)
config/sphinx-build/conf.py (+5/-1)
docs/percona-toolkit.pod (+16/-4)
docs/release_notes.rst (+139/-0)
lib/CleanupTask.pm (+7/-2)
lib/CompareQueryTimes.pm (+13/-7)
lib/CompareResults.pm (+8/-4)
lib/CompareWarnings.pm (+14/-8)
lib/Cxn.pm (+20/-8)
lib/DSNParser.pm (+61/-51)
lib/DiskstatsGroupByAll.pm (+1/-1)
lib/DiskstatsGroupByDisk.pm (+1/-1)
lib/EventAggregator.pm (+1/-1)
lib/IndexLength.pm (+175/-0)
lib/IndexUsage.pm (+1/-0)
lib/MasterSlave.pm (+12/-10)
lib/Mo.pm (+519/-0)
lib/MySQLProtocolParser.pm (+1/-1)
lib/NibbleIterator.pm (+224/-50)
lib/OSCCaptureSync.pm (+0/-142)
lib/OobNibbleIterator.pm (+1/-1)
lib/PerconaTest.pm (+132/-5)
lib/Processlist.pm (+16/-3)
lib/ProtocolParser.pm (+1/-1)
lib/QueryAdvisorRules.pm (+1/-1)
lib/QueryReportFormatter.pm (+6/-8)
lib/QueryRewriter.pm (+24/-4)
lib/ReadKeyMini.pm (+23/-14)
lib/RowChecksum.pm (+1/-1)
lib/SQLParser.pm (+103/-8)
lib/Sandbox.pm (+240/-17)
lib/TableChecksum.pm (+3/-10)
lib/TableNibbler.pm (+7/-1)
lib/TableParser.pm (+34/-14)
lib/TableSyncChunk.pm (+1/-1)
lib/TableSyncNibble.pm (+1/-1)
lib/TableSyncer.pm (+3/-8)
lib/TableUsage.pm (+1080/-0)
lib/Transformers.pm (+94/-0)
lib/UpgradeReportFormatter.pm (+14/-5)
lib/VariableAdvisorRules.pm (+6/-22)
lib/VersionParser.pm (+146/-26)
lib/bash/alt_cmds.sh (+25/-1)
lib/bash/collect_mysql_info.sh (+264/-0)
lib/bash/collect_system_info.sh (+576/-0)
lib/bash/log_warn_die.sh (+6/-0)
lib/bash/parse_options.sh (+7/-7)
lib/bash/report_formatting.sh (+122/-0)
lib/bash/report_mysql_info.sh (+1391/-0)
lib/bash/report_system_info.sh (+1050/-0)
lib/bash/summary_common.sh (+155/-0)
lib/bash/tmpdir.sh (+14/-10)
sandbox/jenkins-test (+44/-17)
sandbox/servers/4.1/my.sandbox.cnf (+1/-0)
sandbox/servers/5.0/my.sandbox.cnf (+1/-0)
sandbox/servers/5.1/my.sandbox.cnf (+1/-0)
sandbox/servers/5.5/my.sandbox.cnf (+2/-0)
sandbox/start-sandbox (+31/-15)
sandbox/stop-sandbox (+8/-2)
sandbox/test-env (+63/-67)
t/lib/ChangeHandler.t (+18/-15)
t/lib/CleanupTask.t (+18/-1)
t/lib/CompareQueryTimes.t (+8/-7)
t/lib/CompareResults.t (+29/-32)
t/lib/CompareWarnings.t (+10/-9)
t/lib/CopyRowsInsertSelect.t (+3/-3)
t/lib/Cxn.t (+3/-2)
t/lib/DSNParser.t (+108/-17)
t/lib/Daemon.t (+50/-36)
t/lib/DuplicateKeyFinder.t (+2/-1)
t/lib/EventAggregator.t (+16/-1)
t/lib/ExplainAnalyzer.t (+2/-1)
t/lib/IndexLength.pm (+135/-0)
t/lib/IndexUsage.t (+3/-2)
t/lib/KeySize.t (+2/-1)
t/lib/MasterSlave.t (+114/-16)
t/lib/Mo/Bar.pm (+4/-0)
t/lib/Mo/Boo.pm (+6/-0)
t/lib/Mo/Foo.pm (+6/-0)
t/lib/Mo/build.t (+51/-0)
t/lib/Mo/buildargs.t (+62/-0)
t/lib/Mo/coerce.t (+27/-0)
t/lib/Mo/extends.t (+26/-0)
t/lib/Mo/handles.t (+482/-0)
t/lib/Mo/init_arg.t (+91/-0)
t/lib/Mo/is.t (+26/-0)
t/lib/Mo/isa.t (+185/-0)
t/lib/Mo/object.t (+20/-0)
t/lib/Mo/required.t (+39/-0)
t/lib/Mo/strict.t (+19/-0)
t/lib/Mo/test.t (+140/-0)
t/lib/MockSyncStream.t (+3/-2)
t/lib/MySQLConfig.t (+2/-1)
t/lib/NibbleIterator.t (+80/-35)
t/lib/OSCCaptureSync.t (+0/-131)
t/lib/OobNibbleIterator.t (+38/-3)
t/lib/Outfile.t (+2/-1)
t/lib/Processlist.t (+26/-20)
t/lib/QueryReportFormatter.t (+2/-2)
t/lib/QueryReview.t (+3/-2)
t/lib/QueryRewriter.t (+59/-1)
t/lib/Quoter.t (+14/-7)
t/lib/RowChecksum.t (+2/-1)
t/lib/RowDiff-custom.t (+2/-1)
t/lib/RowDiff.t (+2/-1)
t/lib/SQLParser.t (+1/-1)
t/lib/SchemaIterator.t (+35/-9)
t/lib/TableChecksum.t (+7/-15)
t/lib/TableChunker.t (+25/-15)
t/lib/TableNibbler.t (+62/-1)
t/lib/TableParser.t (+27/-11)
t/lib/TableSyncChunk.t (+3/-4)
t/lib/TableSyncNibble.t (+2/-5)
t/lib/TableSyncer.t (+2/-9)
t/lib/TableUsage.t (+817/-0)
t/lib/Transformers.t (+106/-2)
t/lib/UpgradeReportFormatter.t (+4/-2)
t/lib/VariableAdvisorRules.t (+7/-6)
t/lib/VersionParser.t (+114/-8)
t/lib/bash/alt_cmds.sh (+2/-2)
t/lib/bash/collect.sh (+15/-13)
t/lib/bash/collect_mysql_info.sh (+199/-0)
t/lib/bash/collect_system_info.sh (+314/-0)
t/lib/bash/daemon.sh (+9/-9)
t/lib/bash/log_warn_die.sh (+8/-8)
t/lib/bash/parse_options.sh (+2/-2)
t/lib/bash/report_formatting.sh (+113/-0)
t/lib/bash/report_mysql_info.sh (+723/-0)
t/lib/bash/report_system_info.sh (+1580/-0)
t/lib/bash/safeguards.sh (+12/-12)
t/lib/bash/summary_common.sh (+79/-0)
t/lib/bash/tmpdir.sh (+29/-7)
t/lib/samples/SchemaIterator.sql (+29/-10)
t/lib/samples/SchemaIterator/all-dbs-tbls-5.0.txt (+99/-41)
t/lib/samples/SchemaIterator/all-dbs-tbls-5.1.txt (+226/-60)
t/lib/samples/SchemaIterator/all-dbs-tbls.txt (+553/-0)
t/lib/samples/SchemaIterator/mysql-user-ddl-5.5.txt (+47/-0)
t/lib/samples/SchemaIterator/resume-from-ignored-sakila-payment-5.0.txt (+52/-0)
t/lib/samples/SchemaIterator/resume-from-sakila-payment-5.0.txt (+70/-0)
t/lib/samples/ansi.quoting.sql (+9/-0)
t/lib/samples/pod/mqa-rule-LIT.001.pod (+2/-2)
t/lib/samples/pod/pod_sample_01.txt (+3/-3)
t/lib/samples/pod/pod_sample_02.txt (+3/-3)
t/lib/samples/pod/pod_sample_03.txt (+3/-3)
t/lib/samples/pod/pod_sample_04.txt (+3/-3)
t/lib/samples/pod/pod_sample_issue_140.txt (+2/-2)
t/lib/samples/pod/pod_sample_mqa.txt (+2/-2)
t/lib/samples/podsample.txt (+4/-4)
t/lib/samples/ro-checksum-user.sql (+3/-0)
t/lib/samples/slowlogs/slow055.txt (+15/-0)
t/pt-archiver/basics.t (+5/-0)
t/pt-archiver/bulk_delete.t (+2/-1)
t/pt-archiver/bulk_insert.t (+2/-1)
t/pt-archiver/bulk_regular_insert.t (+2/-1)
t/pt-archiver/check_slave_lag.t (+2/-2)
t/pt-archiver/compact_col_vals.t (+2/-1)
t/pt-archiver/delete_more.t (+2/-4)
t/pt-archiver/dest.t (+2/-1)
t/pt-archiver/file.t (+5/-0)
t/pt-archiver/gt_n.t (+2/-2)
t/pt-archiver/indexes.t (+2/-1)
t/pt-archiver/issue_1152.t (+2/-1)
t/pt-archiver/issue_1166.t (+2/-1)
t/pt-archiver/issue_1225.t (+2/-4)
t/pt-archiver/issue_1229.t (+6/-2)
t/pt-archiver/issue_131.t (+2/-1)
t/pt-archiver/issue_524.t (+2/-1)
t/pt-archiver/issue_655.t (+2/-1)
t/pt-archiver/plugin.t (+2/-1)
t/pt-archiver/purge.t (+2/-1)
t/pt-archiver/res_fk.t (+2/-1)
t/pt-archiver/safe_auto_increment.t (+2/-1)
t/pt-archiver/samples/bulk_regular_insert.pm (+3/-3)
t/pt-archiver/samples/compact_col_vals.pm (+10/-10)
t/pt-archiver/samples/delete_more.pm (+8/-8)
t/pt-archiver/samples/gt_n.pm (+8/-8)
t/pt-archiver/samples/res_fk.pm (+11/-11)
t/pt-archiver/samples/table1.sql (+1/-1)
t/pt-archiver/samples/table5.sql (+4/-4)
t/pt-archiver/samples/tables1-4.sql (+4/-4)
t/pt-archiver/samples/tables7-9.sql (+2/-2)
t/pt-archiver/standard_options.t (+5/-5)
t/pt-config-diff/basics.t (+2/-1)
t/pt-config-diff/reports.t (+2/-1)
t/pt-deadlock-logger/basics.t (+10/-2)
t/pt-deadlock-logger/bugs.t (+73/-0)
t/pt-deadlock-logger/clear_deadlocks.t (+2/-1)
t/pt-deadlock-logger/create_dest_table.t (+4/-3)
t/pt-deadlock-logger/samples/bug_903443.txt (+53/-0)
t/pt-deadlock-logger/standard_options.t (+2/-1)
t/pt-diskstats/pt-diskstats.t (+6/-0)
t/pt-duplicate-key-checker/basics.t (+60/-11)
t/pt-duplicate-key-checker/clustered_keys.t (+2/-1)
t/pt-duplicate-key-checker/issue_1192.t (+2/-1)
t/pt-duplicate-key-checker/issue_298.t (+2/-1)
t/pt-duplicate-key-checker/issue_331.t (+2/-1)
t/pt-duplicate-key-checker/issue_663.t (+2/-1)
t/pt-duplicate-key-checker/samples/bug-894140.txt (+32/-0)
t/pt-duplicate-key-checker/samples/key-types-f.txt (+5/-0)
t/pt-duplicate-key-checker/samples/key-types-fk.txt (+5/-0)
t/pt-duplicate-key-checker/samples/key-types-k.txt (+5/-0)
t/pt-find/pt-find.t (+15/-6)
t/pt-fingerprint/basics.t (+101/-0)
t/pt-fingerprint/samples/query001 (+2/-0)
t/pt-fingerprint/samples/query001.fingerprint (+1/-0)
t/pt-fingerprint/samples/query002 (+2/-0)
t/pt-fingerprint/samples/query002.fingerprint (+1/-0)
t/pt-fk-error-logger/basics.t (+2/-1)
t/pt-heartbeat/basics.t (+78/-15)
t/pt-heartbeat/multi_update_mode.t (+2/-1)
t/pt-heartbeat/standard_options.t (+2/-1)
t/pt-index-usage/basics.t (+3/-2)
t/pt-index-usage/save_results.t (+3/-2)
t/pt-ioprofile/pt-ioprofile.t (+5/-5)
t/pt-ioprofile/summarize_strace.sh (+5/-5)
t/pt-ioprofile/tabulate_strace.sh (+5/-5)
t/pt-kill/basics.t (+31/-4)
t/pt-kill/execute_command.t (+6/-4)
t/pt-kill/kill.t (+158/-3)
t/pt-kill/match.t (+2/-1)
t/pt-kill/standard_options.t (+3/-2)
t/pt-log-player/issue_799.t (+2/-1)
t/pt-log-player/issue_903.t (+2/-1)
t/pt-log-player/play.t (+2/-1)
t/pt-mysql-summary/find_my_cnf_file.sh (+0/-20)
t/pt-mysql-summary/format_binlog_filters.sh (+0/-12)
t/pt-mysql-summary/format_innodb_status.sh (+0/-147)
t/pt-mysql-summary/format_overall_db_stats.sh (+0/-61)
t/pt-mysql-summary/format_status_variables.sh (+0/-97)
t/pt-mysql-summary/fuzz.sh (+0/-7)
t/pt-mysql-summary/get_mysql_info.sh (+0/-26)
t/pt-mysql-summary/parse_mysqld_instances.sh (+0/-47)
t/pt-mysql-summary/pretty_print_cnf_file.sh (+0/-40)
t/pt-mysql-summary/pt-mysql-summary.t (+54/-2)
t/pt-mysql-summary/samples/expected_output_temp002.txt (+276/-0)
t/pt-mysql-summary/samples/expected_output_temp003.txt (+219/-0)
t/pt-mysql-summary/samples/expected_output_temp004.txt (+218/-0)
t/pt-mysql-summary/samples/expected_output_temp005.txt (+291/-0)
t/pt-mysql-summary/samples/expected_result_report_summary.txt (+257/-0)
t/pt-mysql-summary/samples/mysql-variables-with-semisync.txt (+326/-0)
t/pt-mysql-summary/samples/temp001/mysql-status (+304/-0)
t/pt-mysql-summary/samples/temp001/mysql-variables (+356/-0)
t/pt-mysql-summary/samples/temp002/innodb-status (+118/-0)
t/pt-mysql-summary/samples/temp002/mysql-config-file (+26/-0)
t/pt-mysql-summary/samples/temp002/mysql-databases (+6/-0)
t/pt-mysql-summary/samples/temp002/mysql-plugins (+35/-0)
t/pt-mysql-summary/samples/temp002/mysql-processlist (+12/-0)
t/pt-mysql-summary/samples/temp002/mysql-status (+370/-0)
t/pt-mysql-summary/samples/temp002/mysql-status-defer (+370/-0)
t/pt-mysql-summary/samples/temp002/mysql-users (+1/-0)
t/pt-mysql-summary/samples/temp002/mysql-variables (+372/-0)
t/pt-mysql-summary/samples/temp002/mysqld-instances (+4/-0)
t/pt-mysql-summary/samples/temp002/mysqldump (+396/-0)
t/pt-mysql-summary/samples/temp003/innodb-status (+77/-0)
t/pt-mysql-summary/samples/temp003/mysql-config-file (+26/-0)
t/pt-mysql-summary/samples/temp003/mysql-databases (+2/-0)
t/pt-mysql-summary/samples/temp003/mysql-master-logs (+1/-0)
t/pt-mysql-summary/samples/temp003/mysql-master-status (+1/-0)
t/pt-mysql-summary/samples/temp003/mysql-plugins (+10/-0)
t/pt-mysql-summary/samples/temp003/mysql-processlist (+9/-0)
t/pt-mysql-summary/samples/temp003/mysql-status (+291/-0)
t/pt-mysql-summary/samples/temp003/mysql-status-defer (+291/-0)
t/pt-mysql-summary/samples/temp003/mysql-users (+1/-0)
t/pt-mysql-summary/samples/temp003/mysql-variables (+285/-0)
t/pt-mysql-summary/samples/temp003/mysqld-instances (+2/-0)
t/pt-mysql-summary/samples/temp004/innodb-status (+77/-0)
t/pt-mysql-summary/samples/temp004/mysql-config-file (+26/-0)
t/pt-mysql-summary/samples/temp004/mysql-databases (+3/-0)
t/pt-mysql-summary/samples/temp004/mysql-master-logs (+2/-0)
t/pt-mysql-summary/samples/temp004/mysql-master-status (+1/-0)
t/pt-mysql-summary/samples/temp004/mysql-plugins (+10/-0)
t/pt-mysql-summary/samples/temp004/mysql-processlist (+9/-0)
t/pt-mysql-summary/samples/temp004/mysql-status (+291/-0)
t/pt-mysql-summary/samples/temp004/mysql-status-defer (+291/-0)
t/pt-mysql-summary/samples/temp004/mysql-users (+1/-0)
t/pt-mysql-summary/samples/temp004/mysql-variables (+285/-0)
t/pt-mysql-summary/samples/temp004/mysqld-instances (+2/-0)
t/pt-mysql-summary/samples/temp005/innodb-status (+108/-0)
t/pt-mysql-summary/samples/temp005/mysql-config-file (+26/-0)
t/pt-mysql-summary/samples/temp005/mysql-databases (+3/-0)
t/pt-mysql-summary/samples/temp005/mysql-master-logs (+1/-0)
t/pt-mysql-summary/samples/temp005/mysql-master-status (+1/-0)
t/pt-mysql-summary/samples/temp005/mysql-plugins (+28/-0)
t/pt-mysql-summary/samples/temp005/mysql-processlist (+18/-0)
t/pt-mysql-summary/samples/temp005/mysql-status (+304/-0)
t/pt-mysql-summary/samples/temp005/mysql-status-defer (+304/-0)
t/pt-mysql-summary/samples/temp005/mysql-users (+1/-0)
t/pt-mysql-summary/samples/temp005/mysql-variables (+363/-0)
t/pt-mysql-summary/samples/temp005/mysqld-executables (+1/-0)
t/pt-mysql-summary/samples/temp005/mysqld-instances (+4/-0)
t/pt-mysql-summary/samples/temp005/mysqldump (+1084/-0)
t/pt-mysql-summary/samples/tempdir/innodb-status (+77/-0)
t/pt-mysql-summary/samples/tempdir/mysql-config-file (+26/-0)
t/pt-mysql-summary/samples/tempdir/mysql-databases (+3/-0)
t/pt-mysql-summary/samples/tempdir/mysql-master-logs (+3/-0)
t/pt-mysql-summary/samples/tempdir/mysql-master-status (+1/-0)
t/pt-mysql-summary/samples/tempdir/mysql-plugins (+10/-0)
t/pt-mysql-summary/samples/tempdir/mysql-processlist (+9/-0)
t/pt-mysql-summary/samples/tempdir/mysql-status (+291/-0)
t/pt-mysql-summary/samples/tempdir/mysql-status-defer (+291/-0)
t/pt-mysql-summary/samples/tempdir/mysql-users (+5/-0)
t/pt-mysql-summary/samples/tempdir/mysql-variables (+283/-0)
t/pt-mysql-summary/samples/tempdir/mysqld-instances (+4/-0)
t/pt-mysql-summary/samples/tempdir/mysqldump (+328/-0)
t/pt-mysql-summary/samples/tempdir/tempfile (+130/-0)
t/pt-mysql-summary/summarize_binlogs.sh (+0/-13)
t/pt-mysql-summary/summarize_processlist.sh (+0/-64)
t/pt-online-schema-change/alter_active_table.t (+73/-52)
t/pt-online-schema-change/basics.t (+566/-220)
t/pt-online-schema-change/bugs.t (+119/-0)
t/pt-online-schema-change/check_tables.t (+0/-126)
t/pt-online-schema-change/option_sanity.t (+34/-13)
t/pt-online-schema-change/privs.t (+96/-0)
t/pt-online-schema-change/samples/basic_no_fks.data (+500/-500)
t/pt-online-schema-change/samples/basic_no_fks.sql (+30/-0)
t/pt-online-schema-change/samples/basic_with_fks.sql (+56/-0)
t/pt-online-schema-change/samples/bug-1002448.sql (+14/-0)
t/pt-online-schema-change/samples/bug-1003315.sql (+23/-0)
t/pt-online-schema-change/samples/fk_tables_schema.sql (+0/-31)
t/pt-online-schema-change/samples/osc-user.sql (+3/-0)
t/pt-online-schema-change/samples/pk-bug-994002.sql (+29/-0)
t/pt-online-schema-change/samples/query_table.pl (+14/-6)
t/pt-online-schema-change/samples/small_table.sql (+0/-27)
t/pt-online-schema-change/sanity_checks.t (+112/-0)
t/pt-online-schema-change/skip_innodb.t (+58/-0)
t/pt-pmp/aggregate_stacktrace.sh (+19/-19)
t/pt-query-advisor/get_create_table.t (+2/-1)
t/pt-query-advisor/review.t (+10/-9)
t/pt-query-advisor/samples/cla-006-01.txt (+1/-1)
t/pt-query-advisor/samples/cla-007-01.txt (+1/-1)
t/pt-query-digest/collect_and_report_cycles.t (+2/-1)
t/pt-query-digest/daemon.t (+2/-1)
t/pt-query-digest/execute.t (+2/-3)
t/pt-query-digest/explain.t (+6/-6)
t/pt-query-digest/explain_partitions.t (+3/-3)
t/pt-query-digest/issue_1186.t (+2/-1)
t/pt-query-digest/issue_360.t (+30/-15)
t/pt-query-digest/mirror.t (+3/-2)
t/pt-query-digest/processlist.t (+2/-1)
t/pt-query-digest/read_timeout.t (+9/-2)
t/pt-query-digest/review.t (+97/-58)
t/pt-query-digest/run_time.t (+2/-1)
t/pt-query-digest/samples/filter-add-ymdh-attribs.txt (+2/-2)
t/pt-query-digest/samples/slow007_explain_1-55.txt (+46/-0)
t/pt-query-digest/samples/slow055.txt (+30/-0)
t/pt-query-digest/since_until.t (+2/-1)
t/pt-query-digest/slowlog_analyses.t (+13/-1)
t/pt-query-digest/standard_options.t (+2/-1)
t/pt-show-grants/all_grants.t (+2/-1)
t/pt-show-grants/basics.t (+2/-1)
t/pt-show-grants/issue_445.t (+2/-1)
t/pt-sift/pt-sift.t (+1/-4)
t/pt-slave-delay/auto_restart.t (+42/-5)
t/pt-slave-delay/basics.t (+9/-1)
t/pt-slave-delay/issue_1169.t (+1/-1)
t/pt-slave-delay/standard_options.t (+3/-2)
t/pt-slave-find/pt-slave-find.t (+42/-11)
t/pt-slave-restart/pt-slave-restart.t (+11/-5)
t/pt-stalk/pt-stalk.t (+17/-17)
t/pt-summary/format_vmstat.sh (+0/-37)
t/pt-summary/parse_arcconf.sh (+0/-176)
t/pt-summary/parse_dmidecode_mem_devices.sh (+0/-104)
t/pt-summary/parse_ethernet_controller_lspci.sh (+0/-11)
t/pt-summary/parse_fdisk.sh (+0/-16)
t/pt-summary/parse_filesystems.sh (+0/-52)
t/pt-summary/parse_free_minus_b.sh (+0/-67)
t/pt-summary/parse_fusionmpt_lsiutil.sh (+0/-50)
t/pt-summary/parse_hpacucli.sh (+0/-26)
t/pt-summary/parse_ip_s_link.sh (+0/-28)
t/pt-summary/parse_lsi_megaraid.sh (+0/-696)
t/pt-summary/parse_netstat.sh (+0/-49)
t/pt-summary/parse_proc_cpuinfo.sh (+0/-74)
t/pt-summary/parse_raid_controller_dmesg.sh (+0/-32)
t/pt-summary/parse_raid_controller_lspci.sh (+0/-39)
t/pt-summary/parse_virtualization_dmesg.sh (+0/-10)
t/pt-summary/pt-summary.t (+12/-2)
t/pt-summary/samples/BSD/freebsd_001/mounted_fs (+7/-0)
t/pt-summary/samples/BSD/freebsd_001/notable_procs (+2/-0)
t/pt-summary/samples/BSD/freebsd_001/processes (+10/-0)
t/pt-summary/samples/BSD/freebsd_001/summary (+10/-0)
t/pt-summary/samples/BSD/freebsd_001/sysctl (+1481/-0)
t/pt-summary/samples/BSD/freebsd_001/uptime (+1/-0)
t/pt-summary/samples/BSD/freebsd_001/vmstat (+7/-0)
t/pt-summary/samples/BSD/netbsd_001/mounted_fs (+5/-0)
t/pt-summary/samples/BSD/netbsd_001/notable_procs (+2/-0)
t/pt-summary/samples/BSD/netbsd_001/proc_cpuinfo_copy (+14/-0)
t/pt-summary/samples/BSD/netbsd_001/processes (+10/-0)
t/pt-summary/samples/BSD/netbsd_001/summary (+10/-0)
t/pt-summary/samples/BSD/netbsd_001/swapctl (+1/-0)
t/pt-summary/samples/BSD/netbsd_001/sysctl (+511/-0)
t/pt-summary/samples/BSD/netbsd_001/uptime (+1/-0)
t/pt-summary/samples/BSD/netbsd_001/vmstat (+7/-0)
t/pt-summary/samples/BSD/openbsd_001/mounted_fs (+4/-0)
t/pt-summary/samples/BSD/openbsd_001/notable_procs (+2/-0)
t/pt-summary/samples/BSD/openbsd_001/processes (+10/-0)
t/pt-summary/samples/BSD/openbsd_001/summary (+10/-0)
t/pt-summary/samples/BSD/openbsd_001/swapctl (+1/-0)
t/pt-summary/samples/BSD/openbsd_001/sysctl (+423/-0)
t/pt-summary/samples/BSD/openbsd_001/uptime (+1/-0)
t/pt-summary/samples/BSD/openbsd_001/vmstat (+7/-0)
t/pt-summary/samples/Linux/001/dmesg_file (+786/-0)
t/pt-summary/samples/Linux/001/dmidecode (+412/-0)
t/pt-summary/samples/Linux/001/ip (+24/-0)
t/pt-summary/samples/Linux/001/lspci_file (+17/-0)
t/pt-summary/samples/Linux/001/lvs (+1/-0)
t/pt-summary/samples/Linux/001/memory (+50/-0)
t/pt-summary/samples/Linux/001/mounted_fs (+12/-0)
t/pt-summary/samples/Linux/001/netstat (+6/-0)
t/pt-summary/samples/Linux/001/notable_procs (+5/-0)
t/pt-summary/samples/Linux/001/partitioning (+30/-0)
t/pt-summary/samples/Linux/001/proc_cpuinfo_copy (+58/-0)
t/pt-summary/samples/Linux/001/proc_cpuinfo_copy.unq (+1/-0)
t/pt-summary/samples/Linux/001/processes (+10/-0)
t/pt-summary/samples/Linux/001/summary (+23/-0)
t/pt-summary/samples/Linux/001/sysctl (+905/-0)
t/pt-summary/samples/Linux/001/uptime (+1/-0)
t/pt-summary/samples/Linux/001/vmstat (+7/-0)
t/pt-summary/samples/Linux/002/dmesg_file (+283/-0)
t/pt-summary/samples/Linux/002/memory (+34/-0)
t/pt-summary/samples/Linux/002/mounted_fs (+3/-0)
t/pt-summary/samples/Linux/002/netstat (+6/-0)
t/pt-summary/samples/Linux/002/notable_procs (+2/-0)
t/pt-summary/samples/Linux/002/partitioning (+9/-0)
t/pt-summary/samples/Linux/002/proc_cpuinfo_copy (+19/-0)
t/pt-summary/samples/Linux/002/processes (+10/-0)
t/pt-summary/samples/Linux/002/summary (+19/-0)
t/pt-summary/samples/Linux/002/uptime (+1/-0)
t/pt-summary/samples/Linux/002/vmstat (+7/-0)
t/pt-summary/samples/Linux/003/dmesg_file (+283/-0)
t/pt-summary/samples/Linux/003/memory (+34/-0)
t/pt-summary/samples/Linux/003/mounted_fs (+3/-0)
t/pt-summary/samples/Linux/003/netstat (+6/-0)
t/pt-summary/samples/Linux/003/notable_procs (+2/-0)
t/pt-summary/samples/Linux/003/partitioning (+1/-0)
t/pt-summary/samples/Linux/003/proc_cpuinfo_copy (+19/-0)
t/pt-summary/samples/Linux/003/processes (+10/-0)
t/pt-summary/samples/Linux/003/summary (+19/-0)
t/pt-summary/samples/Linux/003/uptime (+1/-0)
t/pt-summary/samples/Linux/003/vmstat (+7/-0)
t/pt-summary/samples/Linux/output_002.txt (+82/-0)
t/pt-summary/samples/Linux/output_003.txt (+79/-0)
t/pt-summary/samples/MegaCli64_AdpAllInfo_aALL001.txt (+227/-0)
t/pt-summary/samples/MegaCli64_LdPdInfo_aALL_886223 (+214/-0)
t/pt-summary/samples/arcconf-001.txt (+133/-0)
t/pt-summary/samples/arcconf-003_900285.txt (+228/-0)
t/pt-summary/samples/arcconf-004_917781.txt (+162/-0)
t/pt-summary/samples/dmesg-005.txt (+787/-0)
t/pt-summary/samples/dmesg-007.txt (+136/-0)
t/pt-summary/samples/hpaculi-001.txt (+11/-0)
t/pt-summary/samples/hpaculi-002.txt (+354/-0)
t/pt-summary/samples/hpaculi-003.txt (+11/-0)
t/pt-summary/samples/ip-s-link-003.txt (+24/-0)
t/pt-summary/samples/lspci-005.txt (+38/-0)
t/pt-summary/samples/netstat-002.txt (+1328/-0)
t/pt-summary/samples/proc_cpuinfo001.txt (+57/-0)
t/pt-summary/samples/proc_cpuinfo001.txt.unq (+1/-0)
t/pt-summary/samples/proc_cpuinfo002.txt (+57/-0)
t/pt-summary/samples/proc_cpuinfo002.txt.unq (+1/-0)
t/pt-table-checksum/basics.t (+47/-24)
t/pt-table-checksum/bugs.t (+142/-0)
t/pt-table-checksum/char_chunking.t (+2/-1)
t/pt-table-checksum/chunk_index.t (+106/-0)
t/pt-table-checksum/chunk_size.t (+5/-4)
t/pt-table-checksum/create_replicate_table.t (+2/-2)
t/pt-table-checksum/error_handling.t (+2/-1)
t/pt-table-checksum/filters.t (+2/-2)
t/pt-table-checksum/float_precision.t (+2/-1)
t/pt-table-checksum/fnv_64.t (+2/-1)
t/pt-table-checksum/ignore_columns.t (+2/-3)
t/pt-table-checksum/issue_388.t (+3/-2)
t/pt-table-checksum/issue_47.t (+2/-1)
t/pt-table-checksum/issue_602.t (+2/-1)
t/pt-table-checksum/privs.t (+106/-0)
t/pt-table-checksum/progress.t (+52/-16)
t/pt-table-checksum/replication_filters.t (+82/-49)
t/pt-table-checksum/resume.t (+9/-7)
t/pt-table-checksum/samples/bad-plan-bug-1010232.sql (+17/-0)
t/pt-table-checksum/samples/default-results-5.0.txt (+4/-2)
t/pt-table-checksum/samples/default-results-5.1.txt (+3/-1)
t/pt-table-checksum/samples/default-results-5.5.txt (+41/-0)
t/pt-table-checksum/samples/dsn-table.sql (+15/-0)
t/pt-table-checksum/samples/empty-table-bug-987393.sql (+18/-0)
t/pt-table-checksum/samples/issue_602.sql (+18/-18)
t/pt-table-checksum/samples/n-chunk-index-cols.txt (+19/-0)
t/pt-table-checksum/samples/not-using-pk-bug.out (+20/-0)
t/pt-table-checksum/samples/not-using-pk-bug.sql (+20/-0)
t/pt-table-checksum/samples/static-chunk-size-results-5.0.txt (+4/-2)
t/pt-table-checksum/samples/static-chunk-size-results-5.1.txt (+3/-1)
t/pt-table-checksum/samples/static-chunk-size-results-5.5.txt (+41/-0)
t/pt-table-checksum/samples/undef-arrayref-bug-995274.sql (+18/-0)
t/pt-table-checksum/skip_innodb.t (+77/-0)
t/pt-table-checksum/standard_options.t (+2/-1)
t/pt-table-checksum/throttle.t (+34/-27)
t/pt-table-sync/basics.t (+10/-9)
t/pt-table-sync/bidirectional.t (+4/-3)
t/pt-table-sync/binlog_format.t (+26/-27)
t/pt-table-sync/bugs.t (+156/-0)
t/pt-table-sync/char_chunking.t (+2/-1)
t/pt-table-sync/check_privs.t (+2/-2)
t/pt-table-sync/columns.t (+2/-2)
t/pt-table-sync/filters.t (+210/-71)
t/pt-table-sync/float_precision.t (+2/-2)
t/pt-table-sync/force_index.t (+2/-2)
t/pt-table-sync/hex_blob.t (+2/-1)
t/pt-table-sync/instrumentaiton.t (+2/-1)
t/pt-table-sync/issue_1052.t (+2/-1)
t/pt-table-sync/issue_1065.t (+15/-7)
t/pt-table-sync/issue_218.t (+2/-1)
t/pt-table-sync/issue_22.t (+2/-1)
t/pt-table-sync/issue_262.t (+2/-1)
t/pt-table-sync/issue_408.t (+3/-2)
t/pt-table-sync/issue_560.t (+3/-7)
t/pt-table-sync/issue_616.t (+13/-9)
t/pt-table-sync/issue_627.t (+2/-1)
t/pt-table-sync/issue_631.t (+2/-1)
t/pt-table-sync/issue_634.t (+19/-8)
t/pt-table-sync/issue_644.t (+2/-1)
t/pt-table-sync/issue_79.t (+0/-85)
t/pt-table-sync/issue_804.t (+2/-4)
t/pt-table-sync/issue_920.t (+2/-1)
t/pt-table-sync/issue_96.t (+2/-1)
t/pt-table-sync/issue_965.t (+2/-1)
t/pt-table-sync/issue_996.t (+2/-1)
t/pt-table-sync/lock_and_rename.t (+10/-11)
t/pt-table-sync/lock_level.t (+2/-2)
t/pt-table-sync/master_master.t (+60/-23)
t/pt-table-sync/replicate_do_db.t (+108/-98)
t/pt-table-sync/samples/filter_tables.sql (+0/-13)
t/pt-table-sync/samples/issue_22.sql (+1/-1)
t/pt-table-sync/samples/issue_533.sql (+12/-8)
t/pt-table-sync/samples/wrong-tbl-struct-bug-1003014.sql (+35/-0)
t/pt-table-sync/specify_column_or_index.t (+2/-2)
t/pt-table-sync/sync_to_differnt_db.t (+2/-2)
t/pt-table-sync/traces.t (+28/-18)
t/pt-table-sync/triggers.t (+5/-17)
t/pt-table-sync/wait.t (+2/-1)
t/pt-table-sync/zero_chunk.t (+2/-1)
t/pt-table-usage/basics.t (+186/-0)
t/pt-table-usage/create_table_definitions.t (+41/-0)
t/pt-table-usage/explain_extended.t (+80/-0)
t/pt-table-usage/samples/ee.out (+6/-0)
t/pt-table-usage/samples/ee.sql (+26/-0)
t/pt-table-usage/samples/in/slow001.txt (+24/-0)
t/pt-table-usage/samples/in/slow002.txt (+20/-0)
t/pt-table-usage/samples/in/slow003.txt (+3/-0)
t/pt-table-usage/samples/out/create-table-defs-001.txt (+4/-0)
t/pt-table-usage/samples/out/create001.txt (+5/-0)
t/pt-table-usage/samples/out/drop-table-if-exists.txt (+3/-0)
t/pt-table-usage/samples/out/query001.txt (+6/-0)
t/pt-table-usage/samples/out/query002.txt (+5/-0)
t/pt-table-usage/samples/out/slow001.txt (+31/-0)
t/pt-table-usage/samples/out/slow002.txt (+40/-0)
t/pt-table-usage/samples/out/slow003-001.txt (+6/-0)
t/pt-table-usage/samples/out/slow003-002.txt (+8/-0)
t/pt-table-usage/samples/out/slow003-003.txt (+6/-0)
t/pt-upgrade/basics.t (+4/-3)
t/pt-upgrade/daemon.t (+3/-1)
t/pt-upgrade/rewrite_non_select.t (+16/-9)
t/pt-upgrade/samples/001/non-selects-rewritten.txt (+63/-57)
t/pt-upgrade/samples/001/non-selects.txt (+21/-19)
t/pt-upgrade/samples/001/select-everyone-no-stats.txt (+21/-19)
t/pt-upgrade/samples/001/select-everyone-rows.txt (+21/-19)
t/pt-upgrade/samples/001/select-everyone.txt (+21/-19)
t/pt-upgrade/samples/001/select-one-rows.txt (+21/-19)
t/pt-upgrade/samples/001/select-one.txt (+21/-19)
t/pt-upgrade/samples/002/report-01.txt (+24/-22)
t/pt-upgrade/samples/003/report001.txt (+24/-22)
t/pt-upgrade/skip_non_select.t (+3/-2)
t/pt-upgrade/warnings.t (+6/-5)
t/pt-variable-advisor/show_variables_online.t (+2/-1)
util/build-snapshot (+171/-0)
util/checksum-test-dataset (+65/-0)
util/diff-and-restart-sandbox (+27/-0)
util/kill-mysql-process (+44/-0)
util/make-barebones (+47/-0)
util/test-bash-functions (+71/-9)
util/update-modules (+4/-4)
- Daniel Nichter: Approve
-
Diff: 173 lines (+82/-16)2 files modifiedbin/pt-heartbeat (+5/-1)
t/pt-heartbeat/basics.t (+77/-15)
tags: | added: crash duplicate-key pt-heartbeat |
Changed in percona-toolkit: | |
status: | New → Triaged |
Changed in percona-toolkit: | |
milestone: | none → 2.1.3 |
Changed in percona-toolkit: | |
importance: | Undecided → High |
importance: | High → Medium |
Changed in percona-toolkit: | |
status: | Triaged → In Progress |
assignee: | nobody → Daniel Nichter (daniel-nichter) |
summary: |
- pt-heartbeat --update --replace is causing duplicate key errors + pt-heartbeat --update --replace causes duplicate key error |
I can't reproduce this with the latest version of pt-heartbeat, 2.1.1. The binary log event is as follows:
REPLACE INTO `test`.`heartbeat` (ts, server_id, file, position, relay_master_ log_file, exec_master_ log_pos) VALUES ('2012- 05-25T13: 16:38.001640' , '12345', 'mysql-bin.000001', '3254215', NULL, NULL)
I just noticed that you're not using the latest version in the 1.0 series. Can you either upgrade to the latest release (and there will be a new one in a few days) or upgrade to the latest 1.0 release?