This is an automated email from the ASF dual-hosted git repository.

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 301abd1  [NO ISSUE][ING] Active Job Recovery on Rebalance Required
     new aecdfe4  Merge commit '301abd1'
301abd1 is described below

commit 301abd15c4e2cfb6061ae9c868fa42c230ef71cd
Author: Ali Alsuliman <[email protected]>
AuthorDate: Wed Oct 14 17:35:37 2020 -0700

    [NO ISSUE][ING] Active Job Recovery on Rebalance Required
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Details:
    
    - Allow active job recovery to start on REBALANCE_REQUIRED
      cluster state.
    
    Change-Id: I1ec3bf3d61fdbfd64bc2384cb262943c2f45065e
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/8423
    Integration-Tests: Jenkins <[email protected]>
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Ali Alsuliman <[email protected]>
    Reviewed-by: Michael Blow <[email protected]>
---
 .../src/main/java/org/apache/asterix/app/active/RecoveryTask.java  | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

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 c795147..340c454 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 @@ public class RecoveryTask {
         Exception failure;
         do {
             synchronized (listener) {
-                while (!cancelRecovery && clusterStateManager.getState() != 
ClusterState.ACTIVE) {
+                while (!cancelRecovery && !canStartRecovery()) {
                     listener.wait();
                 }
                 if (cancelRecovery) {
@@ -198,4 +198,9 @@ public class RecoveryTask {
     protected void releasePostRecoveryLocks() {
         metadataProvider.getLocks().reset();
     }
+
+    private boolean canStartRecovery() {
+        return clusterStateManager.getState() == ClusterState.ACTIVE
+                || clusterStateManager.getState() == 
ClusterState.REBALANCE_REQUIRED;
+    }
 }

Reply via email to