Version Tokens mysql>  SELECT last_name, first_name FROM emp.employee WHERE id = 4981; +-----------+------------+ | last_name | first_name | +-----------+------------+ | Smith | Abe | +-----------+------------+ 1 row in set (0.01 sec) mysql>  SELECT version_tokens_edit(’emp=write’); +----------------------------------+ | version_tokens_edit(’emp=write’) | +----------------------------------+ | 1 version tokens updated. | +----------------------------------+ mysql>  SELECT version_tokens_edit(’emp=read’); +---------------------------------+ | version_tokens_edit(’emp=read’) | +---------------------------------+ | 1 version tokens updated. | +---------------------------------+ mysql>  UPDATE emp.employee SET salary = salary * 1.1 WHERE id = 4982; ERROR 3136 (42000): Version token mismatch for emp. Correct value read For each statement received from a client, the server implicitly uses locking, as follows: Each client must cooperate with Version Tokens by sending only statements in accordance with the token list that it registers with a given server. For example, if a client registers a token list of  ’emp=read’ , there is nothing in Version Tokens to prevent the client from sending updates for the  emp  database. The client itself must refrain from doing so. In this case, the client should contact the management application to obtain updated information about server assignments, select a new server, and send the failed statement to the new server. The next time the client sends a statement to server 2, its own token list no longer matches the server token list and an error occurs: version_tokens_edit()  modifies the named tokens in the server token list and leaves other tokens unchanged. Server 1: Server 2: As long as the assignment of server 2 does not change, the client continues to use it for reads and writes. But suppose that the management application wants to change server assignments so that writes for the emp  database must be sent to server 1 instead of server 2. To do this, it uses  version_tokens_edit() to modify the  emp  token value on the two servers (and updates its cache of server assignments): Discrepancies between the server and client version token lists can occur two ways: •A token name in the  version_tokens_session  value is not present in the server token list. In this case, an  ER_VTOKEN_PLUGIN_TOKEN_NOT_FOUND  error occurs. •A token value in the  version_tokens_session  value differs from the value of the corresponding token in the server token list. In this case, an  ER_VTOKEN_PLUGIN_TOKEN_MISMATCH  error occurs. Note 1102