>From Ian Maxon <[email protected]>:

Ian Maxon has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17858 )


Change subject: [ASTERIXDB-3278][API] Add cache hit ratio to metrics
......................................................................

[ASTERIXDB-3278][API] Add cache hit ratio to metrics

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

Details:
Move the cache hit ratio information to the metrics and
always collect it, not just when profiling

Change-Id: I568a2df4594bdde19932ba72362c9c61a96a9182
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/cache-residency/cache-residency.001.post.http
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/api/cache-residency/cache-residency.001.regexjson
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/MetricsPrinter.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/cache-residency/cache-residency.002.post.http
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/api/cache-residency/cache-residency.002.regexjson
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
M 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/job/profiling/StatsCollector.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/JobResultCallback.java
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResponseMetrics.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ResultMetadata.java
17 files changed, 149 insertions(+), 19 deletions(-)



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

diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java
index b47d45d..9864980 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java
@@ -106,7 +106,7 @@
     }

     class Stats implements Serializable {
-        private static final long serialVersionUID = 5885273238208454611L;
+        private static final long serialVersionUID = 5885273238208454612L;

         public enum ProfileType {
             COUNTS("counts"),
@@ -137,6 +137,7 @@
         private ProfileType profileType;
         private long totalWarningsCount;
         private long compileTime;
+        private double cacheResidency;

         public long getCount() {
             return count;
@@ -195,6 +196,14 @@
         public long getCompileTime() {
             return compileTime;
         }
+
+        public void setCacheResidency(double cacheResidency) {
+            this.cacheResidency = cacheResidency;
+        }
+
+        public double getCacheResidency() {
+            return cacheResidency;
+        }
     }

     class Profile implements Serializable {
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..dad6c73 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
@@ -27,13 +27,14 @@
 import com.fasterxml.jackson.databind.node.ObjectNode;

 public class ResultMetadata implements IResultMetadata {
-    private static final long serialVersionUID = 1905367559307369034L;
+    private static final long serialVersionUID = 1905367559307369035L;

     private final SessionConfig.OutputFormat format;
     private long jobDuration;
     private long processedObjects;
-    private ObjectNode profile;
     private long diskIoCount;
+    private double cacheResidency;
+    private ObjectNode profile;
     private Set<Warning> warnings;
     private long totalWarningsCount;
     private transient List<Object> outputTypes;
@@ -58,6 +59,14 @@
         this.jobDuration = jobDuration;
     }

+    public void setCacheResidency(double cacheResidency) {
+        this.cacheResidency = cacheResidency;
+    }
+
+    public double getCacheResidency() {
+        return cacheResidency;
+    }
+
     public void setWarnings(Set<Warning> warnings) {
         this.warnings = warnings;
     }
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java
index 695956c..d1484f1 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java
@@ -206,6 +206,7 @@
         stats.setProcessedObjects(responseStats.getProcessedObjects());
         stats.updateTotalWarningsCount(responseStats.getTotalWarningsCount());
         stats.setCompileTime(responseStats.getCompileTime());
+        stats.setCacheResidency(responseStats.getCacheResidency());
     }

     private static void 
updatePropertiesFromCC(IStatementExecutor.StatementProperties 
statementProperties,
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
index d9df051..fd05723 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
@@ -102,7 +102,7 @@
                 printer.printResults();
                 ResponseMetrics metrics = ResponseMetrics.of(System.nanoTime() 
- elapsedStart,
                         metadata.getJobDuration(), stats.getCount(), 
stats.getSize(), metadata.getProcessedObjects(), 0,
-                        metadata.getTotalWarningsCount(), 
stats.getCompileTime());
+                        metadata.getTotalWarningsCount(), 
stats.getCompileTime(), stats.getCacheResidency());
                 printer.addFooterPrinter(new MetricsPrinter(metrics, 
HttpUtil.getPreferredCharset(request)));
                 if (metadata.getJobProfile() != null) {
                     printer.addFooterPrinter(new 
ProfilePrinter(metadata.getJobProfile()));
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
index e14c185..9ca18c6 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
@@ -359,7 +359,7 @@
         }
         final ResponseMetrics metrics = ResponseMetrics.of(System.nanoTime() - 
elapsedStart, executionState.duration(),
                 stats.getCount(), stats.getSize(), 
stats.getProcessedObjects(), errorCount,
-                stats.getTotalWarningsCount(), stats.getCompileTime());
+                stats.getTotalWarningsCount(), stats.getCompileTime(), 
stats.getCacheResidency());
         responsePrinter.addFooterPrinter(new MetricsPrinter(metrics, 
resultCharset));
         if (isPrintingProfile(stats)) {
             responsePrinter.addFooterPrinter(new 
ProfilePrinter(stats.getJobProfile()));
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..9e61fc0 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
@@ -71,6 +71,8 @@
     private void aggregateJobStats(JobId jobId, ResultMetadata metadata) {
         long processedObjects = 0;
         long aggregateTotalWarningsCount = 0;
+        long pagesRead = 0;
+        long nonPagedReads = 0;
         Set<Warning> AggregateWarnings = new HashSet<>();
         IJobManager jobManager =
                 ((ClusterControllerService) 
appCtx.getServiceContext().getControllerService()).getJobManager();
@@ -83,6 +85,8 @@
                 final Collection<TaskProfile> jobletTasksProfile = 
jp.getTaskProfiles().values();
                 for (TaskProfile tp : jobletTasksProfile) {
                     processedObjects += 
tp.getStatsCollector().getAggregatedStats().getInputTupleCounter().get();
+                    pagesRead += 
tp.getStatsCollector().getAggregatedStats().getPageReads().get();
+                    nonPagedReads += 
tp.getStatsCollector().getAggregatedStats().coldReadCounter().get();
                     aggregateTotalWarningsCount += tp.getTotalWarningsCount();
                     Set<Warning> taskWarnings = tp.getWarnings();
                     if (AggregateWarnings.size() < maxWarnings && 
!taskWarnings.isEmpty()) {
@@ -95,6 +99,7 @@
             }
         }
         metadata.setProcessedObjects(processedObjects);
+        metadata.setCacheResidency(pagesRead > 0 ? (pagesRead - nonPagedReads) 
/ pagesRead : Double.NaN);
         metadata.setWarnings(AggregateWarnings);
         metadata.setTotalWarningsCount(aggregateTotalWarningsCount);
         if (run != null && run.getFlags() != null && 
run.getFlags().contains(JobFlag.PROFILE_RUNTIME)) {
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResponseMetrics.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResponseMetrics.java
index d55bb07..5a87fc5 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResponseMetrics.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResponseMetrics.java
@@ -29,12 +29,13 @@
     private long warnCount;
     private long diskIoCount;
     private long compileTime;
+    private double cacheResidency;

     private ResponseMetrics() {
     }

     public static ResponseMetrics of(long elapsedTime, long executionTime, 
long resultCount, long resultSize,
-            long processedObjects, long errorCount, long warnCount, long 
compileTime) {
+            long processedObjects, long errorCount, long warnCount, long 
compileTime, double cacheResidency) {
         ResponseMetrics metrics = new ResponseMetrics();
         metrics.elapsedTime = elapsedTime;
         metrics.executionTime = executionTime;
@@ -44,6 +45,7 @@
         metrics.errorCount = errorCount;
         metrics.warnCount = warnCount;
         metrics.compileTime = compileTime;
+        metrics.cacheResidency = cacheResidency;
         return metrics;
     }

@@ -78,4 +80,8 @@
     public long getCompileTime() {
         return compileTime;
     }
+
+    public double getCacheResidency() {
+        return cacheResidency;
+    }
 }
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/MetricsPrinter.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/MetricsPrinter.java
index 6b1d670..743da76 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/MetricsPrinter.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/MetricsPrinter.java
@@ -37,7 +37,8 @@
         RESULT_SIZE("resultSize"),
         ERROR_COUNT("errorCount"),
         PROCESSED_OBJECTS_COUNT("processedObjects"),
-        WARNING_COUNT("warningCount");
+        WARNING_COUNT("warningCount"),
+        CACHE_RESIDENCY("cacheResidency");

         private final String str;

@@ -80,9 +81,16 @@
         pw.print("\n\t");
         final boolean hasErrors = metrics.getErrorCount() > 0;
         final boolean hasWarnings = metrics.getWarnCount() > 0;
+        final boolean usedCache = !(Double.isNaN(metrics.getCacheResidency()));
         ResultUtil.printField(pw, Metrics.PROCESSED_OBJECTS_COUNT.str(), 
metrics.getProcessedObjects(),
-                hasWarnings || hasErrors);
+                usedCache || hasWarnings || hasErrors);
         pw.print("\n");
+        if (usedCache) {
+            pw.print("\t");
+            ResultUtil.printField(pw, Metrics.CACHE_RESIDENCY.str(), 
String.valueOf(metrics.getCacheResidency()),
+                    hasWarnings || hasErrors);
+            pw.print("\n");
+        }
         if (hasWarnings) {
             pw.print("\t");
             ResultUtil.printField(pw, Metrics.WARNING_COUNT.str(), 
metrics.getWarnCount(), hasErrors);
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 cb64c01..7a9ce5c 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,6 +4778,7 @@
                 (org.apache.asterix.translator.ResultMetadata) 
controllerService.getResultDirectoryService()
                         .getResultMetadata(jobId, rsId);
         stats.setProcessedObjects(resultMetadata.getProcessedObjects());
+        stats.setCacheResidency(resultMetadata.getCacheResidency());
         if (jobFlags.contains(JobFlag.PROFILE_RUNTIME)) {
             stats.setJobProfile(resultMetadata.getJobProfile());
             
apiFramework.generateOptimizedLogicalPlanWithProfile(resultMetadata.getJobProfile());
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/cache-residency/cache-residency.001.post.http
 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/cache-residency/cache-residency.001.post.http
new file mode 100644
index 0000000..0edc12a
--- /dev/null
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/cache-residency/cache-residency.001.post.http
@@ -0,0 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/query/service
+--body={"statement": "from [1, 2] as v select v;"}
\ No newline at end of file
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/cache-residency/cache-residency.002.post.http
 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/cache-residency/cache-residency.002.post.http
new file mode 100644
index 0000000..9bf0936
--- /dev/null
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/cache-residency/cache-residency.002.post.http
@@ -0,0 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/query/service
+--body={"statement": "SELECT COUNT(*) FROM Metadata.`Dataset`"}
\ No newline at end of file
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cache-residency/cache-residency.001.regexjson
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cache-residency/cache-residency.001.regexjson
new file mode 100644
index 0000000..3e16e7d
--- /dev/null
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cache-residency/cache-residency.001.regexjson
@@ -0,0 +1,18 @@
+{
+       "requestID": "R{.*}",
+       "signature": {
+               "*": "*"
+       },
+       "type": "application/x-adm",
+       "results": [ "{ \"v\": 1 }\n", "{ \"v\": 2 }\n" ],
+       "plans": "R{.*}",
+       "status": "success",
+       "metrics": {
+               "elapsedTime": "R{.*}",
+               "executionTime": "R{.*}",
+               "compileTime": "R{.*}",
+               "resultCount": 2,
+               "resultSize": 32,
+               "processedObjects": 0
+       }
+}
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cache-residency/cache-residency.002.regexjson
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cache-residency/cache-residency.002.regexjson
new file mode 100644
index 0000000..5b112c6
--- /dev/null
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cache-residency/cache-residency.002.regexjson
@@ -0,0 +1,19 @@
+{
+       "requestID": "R{.*}",
+       "signature": {
+               "*": "*"
+       },
+       "type": "application/x-adm",
+       "results": [ "{ \"$1\": 17 }\n" ],
+       "plans": "R{.*}",
+       "status": "success",
+       "metrics": {
+               "elapsedTime": "R{.*}",
+               "executionTime": "R{.*}",
+               "compileTime": "R{.*}",
+               "resultCount": 1,
+               "resultSize": 18,
+               "processedObjects": 17,
+               "cacheResidency": "1.0"
+       }
+}
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson
index 6fa99e2..d33a6b9 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson
@@ -10,6 +10,7 @@
                "resultCount": 0,
                "resultSize": 0,
                "processedObjects": 0,
+               "cacheResidency": "0.0",
                "errorCount": 1
        }
 }
\ No newline at end of file
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml 
b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
index c1f37b3..57cb2d4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@ -101,6 +101,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="api">
+      <compilation-unit name="cache-residency">
+        <output-dir compare="Text">cache-residency</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="api">
       <compilation-unit name="request-param">
         <output-dir compare="Text">request-param</output-dir>
       </compilation-unit>
diff --git 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/job/profiling/StatsCollector.java
 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/job/profiling/StatsCollector.java
index 76c8017..26c664a 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/job/profiling/StatsCollector.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/job/profiling/StatsCollector.java
@@ -31,7 +31,7 @@
 import org.apache.hyracks.api.job.profiling.OperatorStats;

 public class StatsCollector implements IStatsCollector {
-    private static final long serialVersionUID = 6858817639895434573L;
+    private static final long serialVersionUID = 6858817639895434574L;

     private final Map<String, IOperatorStats> operatorStatsMap = new 
LinkedHashMap<>();

@@ -66,6 +66,7 @@
             
aggregatedStats.getInputTupleCounter().update(stats.getInputTupleCounter().get());
             
aggregatedStats.getTimeCounter().update(stats.getTimeCounter().get());
             aggregatedStats.getPageReads().update(stats.getPageReads().get());
+            
aggregatedStats.coldReadCounter().update(stats.coldReadCounter().get());
         }
         return aggregatedStats;
     }
diff --git 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
index 900ac7e..0c5c233 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
@@ -515,9 +515,6 @@

     @Override
     public synchronized void subscribeThreadToStats(IThreadStatsCollector 
threadStatsCollector) {
-        if (!isRuntimeProfilingEnabled()) {
-            return;
-        }
         synchronized (threadStatsCollectors) {
             threadStatsCollectors.add(threadStatsCollector);
             final long threadId = Thread.currentThread().getId();
@@ -528,9 +525,6 @@

     @Override
     public synchronized void unsubscribeThreadFromStats() {
-        if (!isRuntimeProfilingEnabled()) {
-            return;
-        }
         synchronized (threadStatsCollectors) {
             threadStatsCollectors.forEach(IThreadStatsCollector::unsubscribe);
         }
@@ -572,8 +566,4 @@
         return "{ \"class\" : \"" + getClass().getSimpleName() + "\", \"node\" 
: \"" + ncs.getId() + "\" \"jobId\" : \""
                 + joblet.getJobId() + "\", \"taskId\" : \"" + taskAttemptId + 
"\" }";
     }
-
-    private boolean isRuntimeProfilingEnabled() {
-        return getJobFlags().contains(JobFlag.PROFILE_RUNTIME);
-    }
 }

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17858
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: I568a2df4594bdde19932ba72362c9c61a96a9182
Gerrit-Change-Number: 17858
Gerrit-PatchSet: 1
Gerrit-Owner: Ian Maxon <[email protected]>
Gerrit-MessageType: newchange

Reply via email to