[ASTERIXDB-3406][TX] Atomic insert/upsert hang in GlobalTxManager
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
Atomic Insert/Upsert where stuck indefinitely in case a
job is finished at one of the nodes even before the notifyJobStart
is called.
Change-Id: Idb6468103310cef2d053e5304582b40274f520f2
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18330
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Peeyush Gupta <peeyush.gupta@couchbase.com>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/GlobalTxManager.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/GlobalTxManager.java
index c85e3b0..a5c9867 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/GlobalTxManager.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/GlobalTxManager.java
@@ -226,11 +226,6 @@
@Override
public void notifyJobCreation(JobId jobId, JobSpecification spec, IJobCapacityController.JobSubmissionStatus status)
throws HyracksException {
-
- }
-
- @Override
- public void notifyJobStart(JobId jobId, JobSpecification spec) throws HyracksException {
GlobalTxInfo globalTxInfo = (GlobalTxInfo) spec.getProperty(GlOBAL_TX_PROPERTY_NAME);
if (globalTxInfo != null) {
beginTransaction(jobId, globalTxInfo.getNumNodes(), globalTxInfo.getNumPartitions(),
@@ -239,6 +234,10 @@
}
@Override
+ public void notifyJobStart(JobId jobId, JobSpecification spec) throws HyracksException {
+ }
+
+ @Override
public void notifyJobFinish(JobId jobId, JobSpecification spec, JobStatus jobStatus, List<Exception> exceptions)
throws HyracksException {