Merge commit '301abd1'

Change-Id: Ie0ba7112b1b4a5a8f55719b7e0a121a06d09565b
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 40ed7a4..c941258 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
@@ -109,7 +109,7 @@
         Exception failure;
         do {
             synchronized (listener) {
-                while (!cancelRecovery && clusterStateManager.getState() != ClusterState.ACTIVE) {
+                while (!cancelRecovery && !canStartRecovery()) {
                     listener.wait();
                 }
                 if (cancelRecovery) {
@@ -202,4 +202,9 @@
     protected void releasePostRecoveryLocks() {
         metadataProvider.getLocks().reset();
     }
+
+    private boolean canStartRecovery() {
+        return clusterStateManager.getState() == ClusterState.ACTIVE
+                || clusterStateManager.getState() == ClusterState.REBALANCE_REQUIRED;
+    }
 }