@Override
  public SetSplitOrMergeEnabledResponse setSplitOrMergeEnabled(RpcController controller,
    SetSplitOrMergeEnabledRequest request) throws ServiceException {
    SetSplitOrMergeEnabledResponse.Builder response = SetSplitOrMergeEnabledResponse.newBuilder();
    try {
      server.checkInitialized();
      boolean newValue = request.getEnabled();
      for (MasterProtos.MasterSwitchType masterSwitchType : request.getSwitchTypesList()) {
        MasterSwitchType switchType = convert(masterSwitchType);
        boolean oldValue = server.isSplitOrMergeEnabled(switchType);
        response.addPrevValue(oldValue);
        if (server.cpHost != null) {
          server.cpHost.preSetSplitOrMergeEnabled(newValue, switchType);
        }
        server.getSplitOrMergeStateStore().setSplitOrMergeEnabled(newValue, switchType);
        if (server.cpHost != null) {
          server.cpHost.postSetSplitOrMergeEnabled(newValue, switchType);
        }
      }
    } catch (IOException e) {
      throw new ServiceException(e);
    }
    return response.build();
  }
Triggers an asynchronous attempt to take a snapshot. {@inheritDoc}
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java