-
Notifications
You must be signed in to change notification settings - Fork 286
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 a channel-based interface for sink to allow batch processing #75
Conversation
/run-all-tests |
return s.successC | ||
} | ||
|
||
func (s *mysqlSink) Error() <-chan error { |
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 seems like we don't use Error
now.
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.
If we are writing to the database asynchronously, we need a way to let the callers know what's wrong? Like syncers in Binlog?
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, I understand the effect of errorC
, but when Emit
returns an error, should we put the failed Txn into errorC
?
Replaced by #182 |
* add demotask server and client * remove the temp data files * fix the make check error * fix the some errors case
What problem does this PR solve?
With
Emit
we can only processtxn.Txn
s one by one.What is changed and how it works?
The original
Emit
method is still kept so that I don't have to rewrite large part of the old code.Check List
Tests
Code changes
Side effects
Related changes