You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu> on 2023/10/26 05:10:46 UTC

Change in asterixdb[trinity]: [NO ISSUE][API] Fixing regression introduced in fix for ASTERIXDB-3277

From Peeyush Gupta <pe...@couchbase.com>:

Peeyush Gupta has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17882 )


Change subject: [NO ISSUE][API] Fixing regression introduced in fix for ASTERIXDB-3277
......................................................................

[NO ISSUE][API] Fixing regression introduced in fix for ASTERIXDB-3277

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
In the fix for ASTERIXDB-3277 a thread unsafe access to JobManager internal
state was used causing NullPointerException. This patch removes the unsafe
access.

Change-Id: I87df9b6e180a49ecccfc9fd2bcb2fa70c515c14d
---
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/JobResultCallback.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ResultMetadata.java
3 files changed, 29 insertions(+), 4 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/82/17882/1

diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ResultMetadata.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ResultMetadata.java
index 78f84ff..60f4939 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ResultMetadata.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ResultMetadata.java
@@ -37,6 +37,7 @@
     private Set<Warning> warnings;
     private long totalWarningsCount;
     private transient List<Object> outputTypes;
+    private long queueWaitTimeInNanos;
 
     public ResultMetadata(SessionConfig.OutputFormat format) {
         this.format = format;
@@ -104,6 +105,14 @@
         return outputTypes;
     }
 
+    public long getQueueWaitTimeInNanos() {
+        return queueWaitTimeInNanos;
+    }
+
+    public void setQueueWaitTimeInNanos(long queueWaitTimeInNanos) {
+        this.queueWaitTimeInNanos = queueWaitTimeInNanos;
+    }
+
     @Override
     public String toString() {
         return "ResultMetadata{" + "format=" + format + ", jobDuration=" + jobDuration + ", processedObjects="
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/JobResultCallback.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/JobResultCallback.java
index 66d81d2..ebf169f 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/JobResultCallback.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/JobResultCallback.java
@@ -93,6 +93,7 @@
                     }
                 }
             }
+            metadata.setQueueWaitTimeInNanos(run.getJobProfile().getQueueWaitTimeInNanos());
         }
         metadata.setProcessedObjects(processedObjects);
         metadata.setWarnings(AggregateWarnings);
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
index fc539ef..d8b5d84 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
@@ -4778,10 +4778,7 @@
                 (org.apache.asterix.translator.ResultMetadata) controllerService.getResultDirectoryService()
                         .getResultMetadata(jobId, rsId);
         stats.setProcessedObjects(resultMetadata.getProcessedObjects());
-        if (controllerService.getJobManager().get(jobId) != null) {
-            stats.setQueueWaitTime(
-                    controllerService.getJobManager().get(jobId).getJobProfile().getQueueWaitTimeInNanos());
-        }
+        stats.setQueueWaitTime(resultMetadata.getQueueWaitTimeInNanos());
         if (jobFlags.contains(JobFlag.PROFILE_RUNTIME)) {
             stats.setJobProfile(resultMetadata.getJobProfile());
             apiFramework.generateOptimizedLogicalPlanWithProfile(resultMetadata.getJobProfile());

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17882
To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: trinity
Gerrit-Change-Id: I87df9b6e180a49ecccfc9fd2bcb2fa70c515c14d
Gerrit-Change-Number: 17882
Gerrit-PatchSet: 1
Gerrit-Owner: Peeyush Gupta <pe...@couchbase.com>
Gerrit-MessageType: newchange