Interface StoreGraveyard

  • All Known Implementing Classes:
    HelixStoreGraveyard

    public interface StoreGraveyard
    The graveyard used to keep all deleted stores. While re-creating a store, Venice could retrieve the important info like largest used version number to avoid resource conflict caused by the same name.

    Like the store repository, each cluster should have its own store graveyard instance.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int getLargestUsedVersionNumber​(java.lang.String storeName)
      Retrieve the largest used version number by the given store name from graveyard.
      Store getStoreFromGraveyard​(java.lang.String clusterName, java.lang.String storeName, org.apache.zookeeper.data.Stat stat)
      Get store from the graveyard in the specified cluster.
      java.util.List<java.lang.String> listStoreNamesFromGraveyard​(java.lang.String clusterName)
      List store names from graveyard in the specified cluster.
      void putStoreIntoGraveyard​(java.lang.String clusterName, Store store)
      Put the given store into graveyard.
      void removeStoreFromGraveyard​(java.lang.String clusterName, java.lang.String storeName)
      Remove the given store from graveyard in the specified cluster.
    • Method Detail

      • getLargestUsedVersionNumber

        int getLargestUsedVersionNumber​(java.lang.String storeName)
        Retrieve the largest used version number by the given store name from graveyard. Return 0 if the store dose not exist in the graveyard, which is the default value we used for the new store.
      • putStoreIntoGraveyard

        void putStoreIntoGraveyard​(java.lang.String clusterName,
                                   Store store)
        Put the given store into graveyard. If the store has already existed in the graveyard, update it by this given store.
      • getStoreFromGraveyard

        Store getStoreFromGraveyard​(java.lang.String clusterName,
                                    java.lang.String storeName,
                                    org.apache.zookeeper.data.Stat stat)
        Get store from the graveyard in the specified cluster.
      • removeStoreFromGraveyard

        void removeStoreFromGraveyard​(java.lang.String clusterName,
                                      java.lang.String storeName)
        Remove the given store from graveyard in the specified cluster.
      • listStoreNamesFromGraveyard

        java.util.List<java.lang.String> listStoreNamesFromGraveyard​(java.lang.String clusterName)
        List store names from graveyard in the specified cluster.