-
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
binlog: do not decode rows for block table #7622
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
/run-all-tests |
Codecov Report
Additional details and impacted files
Flags with carried forward coverage won't be shown. Click here to find out more. @@ Coverage Diff @@
## master #7622 +/- ##
================================================
- Coverage 60.0458% 59.7906% -0.2553%
================================================
Files 807 811 +4
Lines 92391 92869 +478
================================================
+ Hits 55477 55527 +50
- Misses 32099 32497 +398
- Partials 4815 4845 +30 |
@@ -288,7 +288,7 @@ func (c *StreamerController) resetReplicationSyncer(tctx *tcontext.Context, loca | |||
if c.currentBinlogType == RemoteBinlog { | |||
c.streamProducer = &remoteBinlogReader{replication.NewBinlogSyncer(c.syncCfg), tctx, c.syncCfg.Flavor, c.enableGTID} |
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.
Do we need to abandon these blocked events while using a remote binlog reader?
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.
c.syncCfg is created by
Line 142 in d060d48
func subtaskCfg2BinlogSyncerCfg(cfg *config.SubTaskConfig, timezone *time.Location, baList *filter.Filter) (replication.BinlogSyncerConfig, error) { |
} | ||
if skipByTable(baList, tb) { | ||
if len(blockListCache) >= maxCapacity { | ||
blockListCache = make(map[uint64]struct{}, maxCapacity) |
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.
I will prefer to evict one record rather than reset the whole cache. Maybe an LRU or CLOCK cache is more appropriate.
But it might be rare to run out of capacity, so it's okay.
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.
add a TODO c5511e7
source $cur/../_utils/test_prepare | ||
WORK_DIR=$TEST_DIR/$TEST_NAME | ||
|
||
function run() { |
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.
would you leave a comment to illustrate what this test intends to do?
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.
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.
do you mean this used to manually test MariaDB? I remember we don't have MariaDB in CI
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.
yes, v10.0
@@ -26,7 +26,7 @@ require ( | |||
github.com/gin-gonic/gin v1.7.4 | |||
github.com/glebarez/go-sqlite v1.17.3 | |||
github.com/glebarez/sqlite v1.4.6 | |||
github.com/go-mysql-org/go-mysql v1.6.1-0.20220718092400-c855c26b37bd | |||
github.com/go-mysql-org/go-mysql v1.6.1-0.20221116091419-49d58c4c3e4c |
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.
would be grateful if you comment on the code to specify the change in this repo.
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.
add link in pr header
/run-all-tests |
/run-all-tests |
/run-all-tests |
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.
14 / 19 files viewed
dm/tests/others_integration_1.txt
Outdated
@@ -9,3 +9,5 @@ sequence_sharding_optimistic | |||
sequence_sharding_removemeta | |||
gtid | |||
only_dml | |||
adjust_gtid |
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.
it's moved to the first line
source $cur/../_utils/test_prepare | ||
WORK_DIR=$TEST_DIR/$TEST_NAME | ||
|
||
function run() { |
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.
do you mean this used to manually test MariaDB? I remember we don't have MariaDB in CI
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.
rest lgtm
dm/tests/others_integration_1.txt
Outdated
@@ -9,3 +9,4 @@ sequence_sharding_optimistic | |||
sequence_sharding_removemeta | |||
gtid | |||
only_dml | |||
binlog_parse |
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.
others_integration_1.txt is the slowest stage in CI! please move it to other_2 or 3
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 9a3e548
|
@GMHDBJD: Your PR was out of date, I have automatically updated it for you. At the same time I will also trigger all tests for you: /run-all-tests If the CI test fails, you just re-trigger the test that failed and the bot will merge the PR for you after the CI passes. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
What problem does this PR solve?
Issue Number: ref #4287
pingcap/dm#924 pingcap/dm#2281 go-mysql-org/go-mysql#737
What is changed and how it works?
Check List
Tests
Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note