public void update(UpdateMasterRegion action) throws IOException {
    // Since now we will abort master when updating master region fails, and when updating, if the
    // rpc is already timed out, we will hit a TimeoutIOException which indicates that we can not
    // get the row lock in time, so here we need to unset the rpc call to prevent this, otherwise
    // master will abort with a rpc timeout, which is not necessary...
    // See HBASE-29294.
    Optional<RpcCall> rpcCall = RpcServer.unsetCurrentCall();
    try {
      update0(action);
    } finally {
      rpcCall.ifPresent(RpcServer::setCurrentCall);
    }
  }
Performs the mutation to the master region using UpdateMasterRegion update action.
@param action Update region action.
@throws IOException IO error that causes active master to abort.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/region/MasterRegion.java