Class ZKMetadataProvider


  • public class ZKMetadataProvider
    extends Object
    • Method Detail

      • setUserConfig

        public static void setUserConfig​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                         String username,
                                         org.apache.helix.zookeeper.datamodel.ZNRecord znRecord)
      • setRealtimeTableConfig

        public static void setRealtimeTableConfig​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                  String realtimeTableName,
                                                  org.apache.helix.zookeeper.datamodel.ZNRecord znRecord)
      • setOfflineTableConfig

        public static void setOfflineTableConfig​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                 String offlineTableName,
                                                 org.apache.helix.zookeeper.datamodel.ZNRecord znRecord)
      • setInstanceZKMetadata

        public static void setInstanceZKMetadata​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                 InstanceZKMetadata instanceZKMetadata)
      • getInstanceZKMetadata

        public static InstanceZKMetadata getInstanceZKMetadata​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                               String instanceId)
      • constructPropertyStorePathForSegment

        public static String constructPropertyStorePathForSegment​(String resourceName,
                                                                  String segmentName)
      • constructPropertyStorePathForSchema

        public static String constructPropertyStorePathForSchema​(String schemaName)
      • constructPropertyStorePathForInstancePartitions

        public static String constructPropertyStorePathForInstancePartitions​(String instancePartitionsName)
      • constructPropertyStorePathForControllerJob

        public static String constructPropertyStorePathForControllerJob()
      • constructPropertyStorePathForResource

        public static String constructPropertyStorePathForResource​(String resourceName)
      • constructPropertyStorePathForResourceConfig

        public static String constructPropertyStorePathForResourceConfig​(String resourceName)
      • constructPropertyStorePathForUserConfig

        public static String constructPropertyStorePathForUserConfig​(String resourceName)
      • constructPropertyStorePathForControllerConfig

        public static String constructPropertyStorePathForControllerConfig​(String controllerConfigKey)
      • constructPropertyStorePathForSegmentLineage

        public static String constructPropertyStorePathForSegmentLineage​(String tableNameWithType)
      • constructPropertyStorePathForMinionTaskMetadata

        public static String constructPropertyStorePathForMinionTaskMetadata​(String tableNameWithType,
                                                                             String taskType)
      • constructPropertyStorePathForMinionTaskMetadataDeprecated

        @Deprecated
        public static String constructPropertyStorePathForMinionTaskMetadataDeprecated​(String taskType,
                                                                                       String tableNameWithType)
        Deprecated.
      • isSegmentExisted

        public static boolean isSegmentExisted​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                               String resourceNameForResource,
                                               String segmentName)
      • removeResourceSegmentsFromPropertyStore

        public static void removeResourceSegmentsFromPropertyStore​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                                   String resourceName)
      • removeResourceConfigFromPropertyStore

        public static void removeResourceConfigFromPropertyStore​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                                 String resourceName)
      • removeUserConfigFromPropertyStore

        public static void removeUserConfigFromPropertyStore​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                             String username)
      • createSegmentZkMetadata

        public static boolean createSegmentZkMetadata​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                      String tableNameWithType,
                                                      SegmentZKMetadata segmentZKMetadata)
        Creates a new znode for SegmentZkMetadata. This call is atomic. If there are concurrent calls trying to create the same znode, only one of them would succeed.
        Parameters:
        propertyStore - Helix property store
        tableNameWithType - Table name with type
        segmentZKMetadata - Segment Zk metadata
        Returns:
        boolean indicating success/failure
      • setSegmentZKMetadata

        public static boolean setSegmentZKMetadata​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                   String tableNameWithType,
                                                   SegmentZKMetadata segmentZKMetadata,
                                                   int expectedVersion)
      • setSegmentZKMetadata

        public static boolean setSegmentZKMetadata​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                   String tableNameWithType,
                                                   SegmentZKMetadata segmentZKMetadata)
      • getZnRecord

        @Nullable
        public static org.apache.helix.zookeeper.datamodel.ZNRecord getZnRecord​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                                                String path)
      • getSegmentZKMetadata

        @Nullable
        public static SegmentZKMetadata getSegmentZKMetadata​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                             String tableNameWithType,
                                                             String segmentName)
      • getUserConfig

        @Nullable
        public static UserConfig getUserConfig​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                               String username)
      • getAllUserConfig

        @Nullable
        public static List<UserConfig> getAllUserConfig​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore)
      • getAllUserName

        @Nullable
        public static List<String> getAllUserName​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore)
      • getAllUserInfo

        @Nullable
        public static Map<String,​UserConfig> getAllUserInfo​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore)
      • getTableConfig

        @Nullable
        public static TableConfig getTableConfig​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                 String tableNameWithType)
      • getOfflineTableConfig

        @Nullable
        public static TableConfig getOfflineTableConfig​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                        String tableName)
      • getRealtimeTableConfig

        @Nullable
        public static TableConfig getRealtimeTableConfig​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                         String tableName)
      • getAllTableConfigs

        public static List<TableConfig> getAllTableConfigs​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore)
      • setSchema

        public static void setSchema​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                     Schema schema)
      • getSchema

        @Nullable
        public static Schema getSchema​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                       String schemaName)
      • getTableSchema

        @Nullable
        public static Schema getTableSchema​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                            String tableName)
        Get the schema associated with the given table name.
        Parameters:
        propertyStore - Helix property store
        tableName - Table name with or without type suffix.
        Returns:
        Schema associated with the given table name.
      • getSegmentsZKMetadata

        public static List<SegmentZKMetadata> getSegmentsZKMetadata​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                                    String tableNameWithType)
        NOTE: this method is very expensive, use getSegments(ZkHelixPropertyStore, String) instead if only segment names are needed.
      • getSegments

        public static List<String> getSegments​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                               String tableNameWithType)
        Returns the segments for the given table.
        Parameters:
        propertyStore - Helix property store
        tableNameWithType - Table name with type suffix
        Returns:
        List of segment names
      • getLLCRealtimeSegments

        public static List<String> getLLCRealtimeSegments​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                          String realtimeTableName)
        Returns the LLC realtime segments for the given table.
        Parameters:
        propertyStore - Helix property store
        realtimeTableName - Realtime table name
        Returns:
        List of LLC realtime segment names
      • setClusterTenantIsolationEnabled

        public static void setClusterTenantIsolationEnabled​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore,
                                                            boolean isSingleTenantCluster)
      • getClusterTenantIsolationEnabled

        public static boolean getClusterTenantIsolationEnabled​(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore)