Package org.apache.pinot.common.metadata
Class ZKMetadataProvider
- java.lang.Object
-
- org.apache.pinot.common.metadata.ZKMetadataProvider
-
public class ZKMetadataProvider extends Object
-
-
Method Summary
Modifier and Type Method Description static StringconstructPropertyStorePathForControllerConfig(String controllerConfigKey)static StringconstructPropertyStorePathForControllerJob()static StringconstructPropertyStorePathForInstancePartitions(String instancePartitionsName)static StringconstructPropertyStorePathForMinionTaskMetadata(String tableNameWithType)static StringconstructPropertyStorePathForMinionTaskMetadata(String tableNameWithType, String taskType)static StringconstructPropertyStorePathForMinionTaskMetadataDeprecated(String taskType, String tableNameWithType)Deprecated.static StringconstructPropertyStorePathForResource(String resourceName)static StringconstructPropertyStorePathForResourceConfig(String resourceName)static StringconstructPropertyStorePathForSchema(String schemaName)static StringconstructPropertyStorePathForSegment(String resourceName, String segmentName)static StringconstructPropertyStorePathForSegmentLineage(String tableNameWithType)static StringconstructPropertyStorePathForUserConfig(String resourceName)static booleancreateSegmentZkMetadata(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String tableNameWithType, SegmentZKMetadata segmentZKMetadata)Creates a new znode for SegmentZkMetadata.static List<TableConfig>getAllTableConfigs(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore)static List<UserConfig>getAllUserConfig(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore)static Map<String,UserConfig>getAllUserInfo(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore)static List<String>getAllUserName(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore)static booleangetClusterTenantIsolationEnabled(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore)static InstanceZKMetadatagetInstanceZKMetadata(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String instanceId)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.static TableConfiggetOfflineTableConfig(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String tableName)static StringgetPropertyStorePathForMinionTaskMetadataPrefix()static TableConfiggetRealtimeTableConfig(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String tableName)static SchemagetSchema(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String schemaName)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.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, usegetSegments(ZkHelixPropertyStore, String)instead if only segment names are needed.static SegmentZKMetadatagetSegmentZKMetadata(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String tableNameWithType, String segmentName)static TableConfiggetTableConfig(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String tableNameWithType)static SchemagetTableSchema(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String tableName)Get the schema associated with the given table name.static SchemagetTableSchema(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, TableConfig tableConfig)Get the schema associated with the given table.static UserConfiggetUserConfig(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String username)static org.apache.helix.zookeeper.datamodel.ZNRecordgetZnRecord(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String path)static booleanisSegmentExisted(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String resourceNameForResource, String segmentName)static voidremoveResourceConfigFromPropertyStore(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String resourceName)static voidremoveResourceSegmentsFromPropertyStore(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String resourceName)static booleanremoveSegmentZKMetadata(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String tableNameWithType, String segmentName)static voidremoveUserConfigFromPropertyStore(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String username)static voidsetClusterTenantIsolationEnabled(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, boolean isSingleTenantCluster)static voidsetInstanceZKMetadata(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, InstanceZKMetadata instanceZKMetadata)static voidsetOfflineTableConfig(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String offlineTableName, org.apache.helix.zookeeper.datamodel.ZNRecord znRecord)static voidsetRealtimeTableConfig(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String realtimeTableName, org.apache.helix.zookeeper.datamodel.ZNRecord znRecord)static voidsetSchema(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, Schema schema)static booleansetSegmentZKMetadata(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String tableNameWithType, SegmentZKMetadata segmentZKMetadata)static booleansetSegmentZKMetadata(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String tableNameWithType, SegmentZKMetadata segmentZKMetadata, int expectedVersion)static voidsetUserConfig(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String username, org.apache.helix.zookeeper.datamodel.ZNRecord znRecord)
-
-
-
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)
-
getPropertyStorePathForMinionTaskMetadataPrefix
public static String getPropertyStorePathForMinionTaskMetadataPrefix()
-
constructPropertyStorePathForMinionTaskMetadata
public static String constructPropertyStorePathForMinionTaskMetadata(String tableNameWithType, String taskType)
-
constructPropertyStorePathForMinionTaskMetadata
public static String constructPropertyStorePathForMinionTaskMetadata(String tableNameWithType)
-
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 storetableNameWithType- Table name with typesegmentZKMetadata- 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)
-
removeSegmentZKMetadata
public static boolean removeSegmentZKMetadata(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, String tableNameWithType, String segmentName)
-
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 storetableName- Table name with or without type suffix.- Returns:
- Schema associated with the given table name.
-
getTableSchema
@Nullable public static Schema getTableSchema(org.apache.helix.store.zk.ZkHelixPropertyStore<org.apache.helix.zookeeper.datamodel.ZNRecord> propertyStore, TableConfig tableConfig)
Get the schema associated with the given table.
-
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, usegetSegments(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 storetableNameWithType- 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 storerealtimeTableName- 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)
-
-