[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());