docs: public synchronized void publishRegistry() {
          try {
              if(hadConflict) {
                  /*
                   * if we previously had a conflict during update, we will try to
                   * get a newer version before update this time. This case shall
                   * not happen under regular circumstances. But it is just avoid
                   * update keeping failing when strange situations occur.
                   */
                  lastVersion = this.systemStoreRepository.getClientRegistryStore()
                                                          .getSysStore(clientId)
                                                          .getVersion();
                  hadConflict = false;
              }
              clientInfo.setUpdateTime(System.currentTimeMillis());
              logger.info("updating client registry with the following info for client: " + clientId
                          + "\n" + clientInfo);
              lastVersion = this.systemStoreRepository.getClientRegistryStore()
                                                      .putSysStore(clientId,
                                                                   new Versioned<String>(clientInfo.toString(),
                                                                                         lastVersion));
          } catch(ObsoleteVersionException e) {
              Versioned<String> existingValue = this.systemStoreRepository.getClientRegistryStore()
                                                                          .getSysStore(clientId);
              logger.warn("Multiple clients are updating the same client registry entry");
              logger.warn("  current value: " + clientInfo + " " + lastVersion);
              logger.warn("  existing value: " + existingValue.getValue() + " "
                          + existingValue.getVersion());
              hadConflict = true;
          } catch(Exception e) {
              logger.warn("encountered the following error while trying to update client registry: "
                          + e);
          }
      }