-
Notifications
You must be signed in to change notification settings - Fork 287
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
*/: add pd write frequency control from cdc server parameter #937
Conversation
d9edc89
to
8af91c5
Compare
please resolve the conflicts |
491b342
to
6a82f78
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
metrics := map[string]prometheus.Counter{ | ||
etcd.EtcdPut: etcdRequestCounter.WithLabelValues(etcd.EtcdPut, captureAddr), | ||
etcd.EtcdGet: etcdRequestCounter.WithLabelValues(etcd.EtcdGet, captureAddr), | ||
etcd.EtcdDel: etcdRequestCounter.WithLabelValues(etcd.EtcdDel, captureAddr), | ||
etcd.EtcdTxn: etcdRequestCounter.WithLabelValues(etcd.EtcdTxn, captureAddr), | ||
etcd.EtcdGrant: etcdRequestCounter.WithLabelValues(etcd.EtcdGrant, captureAddr), | ||
etcd.EtcdRevoke: etcdRequestCounter.WithLabelValues(etcd.EtcdRevoke, captureAddr), | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO, it's better to put the map in package pkg/etcd, and pass capture address to the Wrap.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the metrics has cdc specific label capture
, so I think it is better to put the metrics map in the upper caller.
1895ce3
to
bd05ba7
Compare
please resolve the conflicts |
bd05ba7
to
69a43d1
Compare
/run-integration-tests tidb=release-4.0 tikv=release-4.0 pd=release-4.0 |
1 similar comment
/run-integration-tests tidb=release-4.0 tikv=release-4.0 pd=release-4.0 |
- p.position.CHeckPointTs update to latest checkpoint, but interval doesn't reach flushCheckpointInterval, doesn't flush - checkpoint doesn't push, such as waiting for DDL execute, the checkpoint will never forward then.
025f98c
to
3bcb37f
Compare
/run-integration-tests tidb=release-4.0 tikv=release-4.0 pd=release-4.0 |
Codecov Report
@@ Coverage Diff @@
## master #937 +/- ##
===========================================
Coverage 33.4140% 33.4140%
===========================================
Files 100 100
Lines 11974 11974
===========================================
Hits 4001 4001
Misses 7581 7581
Partials 392 392 |
/run-integration-tests tidb=release-4.0 tikv=release-4.0 pd=release-4.0 |
What problem does this PR solve?
Currently, we use a watch mechanism to update processor/changefeed checkpoint, the update frequency could be 20+/s, which may be too frequent in most scenarios.
What is changed and how it works?
Add parameters in cdc server to control owner/processor flush checkpoint interval
Before, with 200ms interval and 500ms interval
After resolved ts check, processor flush interval=100ms, owner flush interval=200ms. But this has a bug, if both checkpoint ts and resolved ts are not forwarded and new table is dispatched to this processor, replication will be blocked!. We should fix this.
Current status
Check List
Tests
Related changes
Release note