@Override
  public boolean publish(String topic, String message) {
    if (topic == null) {
      throw new IllegalArgumentException("topic cannot be null");
    }
    if (message == null) {
      throw new IllegalArgumentException("message cannot be null");
    }
    String topicPath = getTopicPath(topic);
    ZNRecord record = new ZNRecord(topicPath);
    record.setSimpleField(MESSAGE_KEY, message);
    boolean res = helixStore.set(topicPath, record, AccessOption.PERSISTENT);
    if (res) {
      logger.trace("message={} has been published for topic={}", message, topic);
    } else {
      logger.error("failed to publish message={} for topic={}", message, topic);
    }
    return res;
  }
{@inheritDoc}

Returns {@code true} does not guarantee all the {@link TopicListener} will receive the message. It just indicates
the message has been successfully sent out.
ambry-commons/src/main/java/com/github/ambry/commons/HelixNotifier.java