Skip to content
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

InlineVerifier cleanup tracking #126

Open
2 of 8 tasks
shuhaowu opened this issue Aug 16, 2019 · 0 comments
Open
2 of 8 tasks

InlineVerifier cleanup tracking #126

shuhaowu opened this issue Aug 16, 2019 · 0 comments

Comments

@shuhaowu
Copy link
Contributor

shuhaowu commented Aug 16, 2019

  • Remove the IterativeVerifier from the code base.
  • Remove the "hack" of f.inlineVerifier on Ferry and make it more integrated into Ferry directly.
    • Possibly review the Verifier interface to see if it needs to be extended or removed.
  • Write some sort of test for race condition within InlineVerifier.verifyallEventsInStore(). Specifically, if a row is added to the BinlogVerifyStore between the .Batches() call and .RemoveVerifiedBatches() call, that row must remain present after .RemoveVerifiedBatches().
    • This is somewhat non-trivial as there's no easy way to mock methods and the race condition is entirely contained within verifyAllEventsInStore, a private method.
    • A possible way to test this kind of is to add the same row multiple times and see if the counter has increased proportionally. Then, run verifyAllEventsInStore once and see if the counter only decreases by 1 time, or something along this line of thought.
  • Disallow interrupt after FlushBinlog.
  • SELECT query logs with the InlineVerifier will be massive because of the repeated MD5 COALESCE: Less noisy logs from the MD5 transform #136
  • Port more IterativeVerifier tests to the InlineVerifier: Further tests for the InlineVerifier #137
  • InlineVerifier is likely broken with the ControlServer and thus copydb.
  • ColumnCompressionConfig is only used by the InlineVerifier. Should either move it into the InlineVerifierConfig or make the InlineVerifierConfig and thus InlineVerifier a first class member of Ghostferry
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant