The behavior of Couchbase availability

I intend to upgrade a CB 2.0 cluster to CB 3.0 cluster and want to use the swap balancing approach. I am a little bit concerned about the behavior of availability. Here is my understanding so far.

After I remove a node and add a node but before perform any rebalancing, some of the writes, which are sent to the node removed, may fail. Writes made to other nodes may success. For reads, they should all success although reads made to the node removed may be retried by the client on the replica nodes.

After the rebalancing, all reads and writes return to normal.

Is that the expected behavior?

Thanks a lot!