Please sign in to comment.
Always send TAP_VBUCKET_SET commands for takeover reconnections.
If cluster rebalance stopped due to internal errors or user actions, the ns-server sets a pending vbucket in the destination node to a dead vbucket. The ns-server janitor periodically (every 10 sec) collects the list of dead vbuckets from the cluster and then sends vbucket deletion commands to the nodes having dead vbuckets. Consequently, if cluster rebalance resumes, the destination node might receive items from the source node, which belong to the dead vbucket that has been already deleted. This causes the source node to close the TAP connection constantly. To prevent this racing issue, when the source node receives a vbucket takeover reconnection from eBucketMigrator, it should always send TAP_VBUCKET_SET "pending" command to the destination node so that it can instantiate the pending vbucket if not exist. Change-Id: If04e047b82bb65745ce2973c8f1caa6efa85d61f Reviewed-on: http://review.couchbase.org/9364 Tested-by: Chiyoung Seo <email@example.com> Reviewed-by: Chiyoung Seo <firstname.lastname@example.org>
- Loading branch information...