-
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
Moving from TAP to DCP #404
Comments
Needs further discussion for both forward and backward compatibility--discussion with Smart Client team could also give us insights in what has been prototyped and how to prioritize this. |
Completed an initial analysis and proof of concept for the DCP migration. There's support in go-couchbase for DCP (as the older name UPR), but there's a bit more work involved in setting up a DCP feed, compared to the Tap feed. The process is:
A basic POC has been completed that swaps out the TAP feed for a DCP feed (starting from seq 0), converts DCP events to walrus.TapEvents, and sends those through the standard SG processing. Open Tasks/Issues
|
Hi @adamcfraser based on these finds, does a transition from TAP to DCP by a currently live Sync Gateway cluster mean that an upgrade from our existing Sync Gateway to the next version will have to be permanent? |
I don't think there would be anything inherent in which feed is used that would make the change permanent. In a Bucket Shadowing scenario you'd have the same initial overhead that we already have today - when the SG is restarted in the new mode, the entire feed (Tap or DCP) would need to be reprocessed to get the two buckets back in step. |
Completed some a preliminary performance comparison between DCP and TAP in a dev environment. For retrieval/backfill of 13000 records, the change isn't statistically significant for the number of tests I ran - running 10 tests for each, DCP was on average 2% faster than TAP. Benchmarks against a production dataset would be recommended, but based on preliminary results I don't think that performance consideration should influence plans to support DCP. |
Depends on #486 |
Reviewed the work Steve Yen has done to support DCP for cbft. His implementation does a better job at abstracting away individual vBucket management, and recovering from unexpected topology changes. His implementation is scheduled to be added to go-couchbase. Once that's in place, need to review and incorporate into our uptake. |
Per expectations in CBS 3.0, all tools and clients speaking directly to CBS should move from the TAP protocol to DCP. There is an expected drop in performance in trying to use both protocols, and DCP is highly recommended by the CBS team as protocol-of-choice going forward.
Expert on this new protocol is Mike W.
The text was updated successfully, but these errors were encountered: