private void checkConfiguredWALEntryFilters(ReplicationPeerConfig peerConfig)
    throws DoNotRetryIOException {
    String filterCSV = peerConfig.getConfiguration()
      .get(BaseReplicationEndpoint.REPLICATION_WALENTRYFILTER_CONFIG_KEY);
    if (filterCSV != null && !filterCSV.isEmpty()) {
      String[] filters = filterCSV.split(",");
      for (String filter : filters) {
        try {
          Class.forName(filter).getDeclaredConstructor().newInstance();
        } catch (Exception e) {
          throw new DoNotRetryIOException("Configured WALEntryFilter " + filter
            + " could not be created. Failing add/update peer operation.", e);
        }
      }
    }
  }
Set a namespace in the peer config means that all tables in this namespace will be replicated
to the peer cluster.
<ol>
<li>If peer config already has a namespace, then not allow set any table of this namespace to
the peer config.</li>
<li>If peer config already has a table, then not allow set this table's namespace to the peer
config.</li>
</ol>
<p>
Set a exclude namespace in the peer config means that all tables in this namespace can't be
replicated to the peer cluster.
<ol>
<li>If peer config already has a exclude namespace, then not allow set any exclude table of
this namespace to the peer config.</li>
<li>If peer config already has a exclude table, then not allow set this table's namespace as a
exclude namespace.</li>
</ol>
hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.java