public Map<String, String>retrieveStat(int qtype, String groupName, long serverId) {

    RequestQueryInfoPacket packet = new RequestQueryInfoPacket(null);

    packet.setGroupName(groupName);
    packet.setQtype(qtype);
    packet.setServerId(serverId);
    Map <String, String> statInfo = null;

    for (int i = 0; i < configServerList.size(); i++) {
      String addr = configServerList.get(i);

      BasePacket returnPacket = null;
      try {
        TairClient client = factory.get(addr,
            TairConstant.DEFAULT_CS_CONN_TIMEOUT, pstream);
        returnPacket = (BasePacket) client.invoke(packet,
            TairConstant.DEFAULT_CS_TIMEOUT);
      } catch (Exception e) {
        log.error("get stat failed " + addr, e);
        continue;
      }

      if ((returnPacket != null)
          && returnPacket instanceof ResponseQueryInfoPacket) {
        ResponseQueryInfoPacket r = (ResponseQueryInfoPacket) returnPacket;
        statInfo = r.getKv();

        break;
      } else {
        log.error("retrive stat from config server " + addr
            + " failed, result: " + returnPacket);
      }

    }

    return statInfo;
  }