Clarification on watch

Yeah, you are right. I checked the code again. :slight_smile:

About 2., the watch will be triggered and try to register in the SS, which will throw the wrong_shard_server() error. The error is bounced back to the client (in NativeAPI.actor.cpp) and register the watch from the client.

About 3., because of the reason in 1, if the checking happens later after ABA is executed, then the watch will not be triggered.