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;
+ }
}