-
Notifications
You must be signed in to change notification settings - Fork 138
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
Handle DCP stream end/reconnection #969
Comments
Hi, if you're using cbdatasource, then it should do all the reconnection work for you... https://github.com/couchbase/go-couchbase/blob/master/cbdatasource/cbdatasource.go#L1136 But, testing back in the day was all manual. Are you seeing cbdatasource not working properly for that case? |
Yep, we are using cbdatasource. Nope, haven't tried to test yet. But thanks, that clears things up regarding expectations. |
Do you remember the manual testing you did and how big the cluster was / how many replicas? |
If there was a single node couchbase cluster and the node was abruptly rebooted, would it be expected that cbdatasource would reconnect? |
I caught up with @steveyen in detail regarding the reconnection behavior of cbdatasource and it turns out that #942 is a pre-requisite for this ticket because:
|
Actually, I might be wrong on the dependence on #942 for this, since it looks like we are using the sync_gateway/src/github.com/couchbase/sync_gateway/base/bucket.go Lines 177 to 187 in d0d5141
Doing so there should solve the issue described above. |
Factored out of #922
When a vbucket gets moved/rebalanced, it will send an END STREAM. Currently, our DCP impl does nothing with a stream end. Desired behavior: trigger a reconnection .. might be a different node, but we don't care.
In dcp_feed.go:
This needs to reconnect rather than just logging an error.
@steveyen do you have any examples of DCP stream reconnection I should be looking at?
The text was updated successfully, but these errors were encountered: