server/src/main/java/com/orientechnologies/orient/server/distributed/ODistributedConfiguration.java
private int getQuorum(final String quorumSetting, final String iClusterName, final int totalServers, final Object defaultValue,
      final String server) {
    Object value = getClusterConfiguration(iClusterName).field(quorumSetting);
    if (value == null) {
      value = configuration.field(quorumSetting);
      if (value == null) {
        OLogManager.instance()
            .warn(this, "%s setting not found for cluster=%s in distributed-config.json", quorumSetting, iClusterName);
        value = defaultValue;
      }
    }

    if (value instanceof String) {
      if (value.toString().equalsIgnoreCase(QUORUM_MAJORITY))
        value = totalServers / 2 + 1;
      else if (value.toString().equalsIgnoreCase(QUORUM_ALL))
        value = totalServers;
      else if (value.toString().equalsIgnoreCase(QUORUM_LOCAL_DC)) {
        final String dc = getDataCenterOfServer(server);
        if (dc == null)
          throw new OConfigurationException("Data center not specified for server '" + server + "' in distributed configuration");
        value = getDataCenterWriteQuorum(dc);
      } else
        throw new OConfigurationException(
            "The value '" + value + "' is not supported for " + quorumSetting + " in distributed configuration");
    }

    return (Integer) value;
  }
private int getQuorum(final String quorumSetting, final String iClusterName, final int totalServers, final Object defaultValue,
      final String server) {
    Object value = getClusterConfiguration(iClusterName).field(quorumSetting);
    if (value == null) {
      value = configuration.field(quorumSetting);
      if (value == null) {
        OLogManager.instance()
            .warn(this, "%s setting not found for cluster=%s in distributed-config.json", quorumSetting, iClusterName);
        value = defaultValue;
      }
    }

    if (value instanceof String) {
      if (value.toString().equalsIgnoreCase(QUORUM_MAJORITY))
        value = totalServers / 2 + 1;
      else if (value.toString().equalsIgnoreCase(QUORUM_ALL))
        value = totalServers;
      else if (value.toString().equalsIgnoreCase(QUORUM_LOCAL_DC)) {
        final String dc = getDataCenterOfServer(server);
        if (dc == null)
          throw new OConfigurationException("Data center not specified for server '" + server + "' in distributed configuration");
        value = getDataCenterWriteQuorum(dc);
      } else
        throw new OConfigurationException(
            "The value '" + value + "' is not supported for " + quorumSetting + " in distributed configuration");
    }

    return (Integer) value;
  }
Returns the read quorum.

@param iClusterName Cluster name, or null for *
@param totalServers Total nodes available