Class SchemaLocking
java.lang.Object
org.apache.hadoop.hbase.master.procedure.SchemaLocking
Locks on namespaces, tables, and regions.
Since LockAndQueue implementation is NOT thread-safe, schedLock() guards all calls to these locks.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<String,LockAndQueue> private final LockAndQueueprivate final Map<String,LockAndQueue> private final Map<String,LockAndQueue> private final Map<String,LockAndQueue> private final Map<ServerName,LockAndQueue> private final Map<TableName,LockAndQueue> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate <T> voidaddToLockedResources(List<LockedResource> lockedResources, Map<T, LockAndQueue> locks, Function<T, String> keyTransformer, LockedResourceType resourcesType) (package private) voidclear()Removes all locks by clearing the maps.private LockedResourcecreateLockedResource(LockedResourceType resourceType, String resourceName, LockAndQueue queue) private StringfilterUnlocked(Map<?, LockAndQueue> locks) (package private) LockAndQueuegetGlobalLock(String globalId) private <T> LockAndQueuegetLock(Map<T, LockAndQueue> map, T key) (package private) LockedResourcegetLockResource(LockedResourceType resourceType, String resourceName) (package private) List<LockedResource>getLocks()List lock queues.(package private) LockAndQueueDeprecated.(package private) LockAndQueuegetNamespaceLock(String namespace) (package private) LockAndQueuegetPeerLock(String peerId) (package private) LockAndQueuegetRegionLock(String encodedRegionName) (package private) LockAndQueuegetServerLock(ServerName serverName) (package private) LockAndQueuegetTableLock(TableName tableName) (package private) LockAndQueueremoveGlobalLock(String globalId) (package private) LockAndQueueremovePeerLock(String peerId) (package private) LockAndQueueremoveRegionLock(String encodedRegionName) (package private) LockAndQueueremoveServerLock(ServerName serverName) (package private) LockAndQueueremoveTableLock(TableName tableName) toString()
-
Field Details
-
procedureRetriever
-
serverLocks
-
namespaceLocks
-
tableLocks
-
regionLocks
-
peerLocks
-
globalLocks
-
metaLock
-
-
Constructor Details
-
SchemaLocking
-
-
Method Details
-
getLock
-
getTableLock
-
removeTableLock
-
getNamespaceLock
-
getRegionLock
-
getMetaLock
Deprecated.only used forRecoverMetaProcedure. Should be removed along withRecoverMetaProcedure. -
getGlobalLock
-
removeRegionLock
-
getServerLock
-
removeServerLock
-
getPeerLock
-
removePeerLock
-
removeGlobalLock
-
createLockedResource
private LockedResource createLockedResource(LockedResourceType resourceType, String resourceName, LockAndQueue queue) -
addToLockedResources
private <T> void addToLockedResources(List<LockedResource> lockedResources, Map<T, LockAndQueue> locks, Function<T, String> keyTransformer, LockedResourceType resourcesType) -
getLocks
List lock queues.- Returns:
- the locks
-
getLockResource
- Returns:
LockedResourcefor resource of specified type & name. null if resource is not locked.
-
clear
void clear()Removes all locks by clearing the maps. Used when procedure executor is stopped for failure and recovery testing. -
toString
-
filterUnlocked
-
RecoverMetaProcedure.