public void updateConfigInfo(
      String dataId, String group, String content, String description, boolean valid) {
    checkParameter(dataId, group, content);
    DiamondStone diamondStone = new DiamondStone(dataId, group, content, description, valid);
    try {
      persistService.updateConfigInfo(diamondStone);

      String key = createMD5CacheKey(dataId, group);
      if (valid) contentMD5Cache.put(key, diamondStone.getMd5());
      else contentMD5Cache.remove(key);

      diskService.saveToDisk(diamondStone);

      notifyOtherNodes(dataId, group);
    } catch (Exception e) {
      log.error("updateConfigInfo error", e);
      throw Throwables.propagate(e);
    }
  }