[NO ISSUE][*DB][ACTIVE] RecoveryTask adjustments
- expose helpful members to subclasses
- provide IMetadataLockUtil to acquireRecoveryLocks()
Change-Id: Iadfad29bfcbd59cebb817a7732d50c371cffc5de
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/8903
Reviewed-by: Michael Blow <mblow@apache.org>
Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/RecoveryTask.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/RecoveryTask.java
index c941258..968876d 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/RecoveryTask.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/RecoveryTask.java
@@ -42,10 +42,10 @@
private static final Logger LOGGER = LogManager.getLogger();
private static final Level level = Level.INFO;
- private final ActiveEntityEventsListener listener;
+ protected final ActiveEntityEventsListener listener;
private volatile boolean cancelRecovery = false;
private final IRetryPolicyFactory retryPolicyFactory;
- private final MetadataProvider metadataProvider;
+ protected final MetadataProvider metadataProvider;
private final IClusterStateManager clusterStateManager;
public RecoveryTask(ICcApplicationContext appCtx, ActiveEntityEventsListener listener,
@@ -118,8 +118,9 @@
}
}
IMetadataLockManager lockManager = metadataProvider.getApplicationContext().getMetadataLockManager();
+ IMetadataLockUtil lockUtil = metadataProvider.getApplicationContext().getMetadataLockUtil();
try {
- acquireRecoveryLocks(lockManager);
+ acquireRecoveryLocks(lockManager, lockUtil);
synchronized (listener) {
try {
if (!cancelRecovery && listener.getState() == ActivityState.TEMPORARILY_FAILED) {
@@ -173,7 +174,8 @@
return null;
}
- protected void acquireRecoveryLocks(IMetadataLockManager lockManager) throws AlgebricksException {
+ protected void acquireRecoveryLocks(IMetadataLockManager lockManager, IMetadataLockUtil lockUtil)
+ throws AlgebricksException {
EntityId entityId = listener.getEntityId();
lockManager.acquireActiveEntityWriteLock(metadataProvider.getLocks(), entityId.getDataverseName(),
entityId.getEntityName());