public ServerMeta onGetServerMeta()

in omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/core/LoadBalanceSenderAdapter.java [89:112]


  public ServerMeta onGetServerMeta() {
    boolean metaConsistency = true;
    ServerMeta serverMeta = null;
    for (MessageSender sender : loadContext.getSenders().keySet()) {
      try {
        if (serverMeta == null) {
          serverMeta = sender.onGetServerMeta();
          LOG.info("Alpha configuration is " + serverMeta.getMetaMap());
        } else {
          ServerMeta otherServerMeta = sender.onGetServerMeta();
          if (!serverMeta.getMetaMap().equals(otherServerMeta.getMetaMap())) {
            metaConsistency = false;
            LOG.warn("Alpha configuration is " + otherServerMeta.getMetaMap());
          }
        }
        if (!metaConsistency) {
          throw new Exception("Using different Alpha configuration with multiple Alpha");
        }
      } catch (Exception e) {
        LOG.error("Failed disconnecting from alpha at {}", sender.target(), e);
      }
    }
    return serverMeta;
  }