>From Peeyush Gupta <[email protected]>: Peeyush Gupta has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20771?usp=email )
( 7 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: [ASTERIXDB-3687][API] Incorrect metrics and missing fields in status API ...................................................................... [ASTERIXDB-3687][API] Incorrect metrics and missing fields in status API - user model changes: no - storage format changes: no - interface changes: no Details: In case the async request is still queued or running the metrics were incorrect. This was because the metrics were set when the job is completed. Also, fields except the status field are missing altogether when the request is queued or its running but no frame is pushed yet. Ext-ref: MB-69805, MB-69759, MB-69806 Change-Id: Id5fd38b4273d1a3c98936cea63b8c879e474d619 Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20771 Integration-Tests: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Reviewed-by: Ian Maxon <[email protected]> --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ClientRequest.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryStatusApiServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ClientInfoRequestMessage.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ClientInfoResponseMessage.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/JobResultCallback.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/AsyncRequestsAPIUtil.java D asterixdb/asterix-app/src/test/resources/runtimets/results/async-deferred-improved/async-running/async-running.2.json A asterixdb/asterix-app/src/test/resources/runtimets/results/async-deferred-improved/async-running/async-running.2.regexjson 11 files changed, 167 insertions(+), 43 deletions(-) Approvals: Jenkins: Verified; Verified Ian Maxon: Looks good to me, approved Objections: Anon. E. Moose #1000171: Violations found diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ClientRequest.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ClientRequest.java index f7ddcf5..bd67c50 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ClientRequest.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ClientRequest.java @@ -43,6 +43,7 @@ protected static final int MAX_STATEMENT_LENGTH = StorageUtil.getIntSizeInBytes(64, StorageUtil.StorageUnit.KILOBYTE); protected final long creationTime = System.nanoTime(); + protected final long creationSystemTime = System.currentTimeMillis(); protected final Thread executor; protected final String statement; protected final String clientContextId; @@ -103,6 +104,10 @@ return creationTime; } + public long getCreationSystemTime() { + return creationSystemTime; + } + @Override public ObjectNode asJson() { ObjectNode json = super.asJson(); diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryStatusApiServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryStatusApiServlet.java index 4c0ce1d..8244f92 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryStatusApiServlet.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryStatusApiServlet.java @@ -18,10 +18,19 @@ */ package org.apache.asterix.api.http.server; -import java.util.concurrent.ConcurrentMap; +import static org.apache.asterix.utils.AsyncRequestsAPIUtil.NC_TIMEOUT_MILLIS; +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.TimeUnit; + +import org.apache.asterix.app.message.ClientInfoRequestMessage; +import org.apache.asterix.app.message.ClientInfoResponseMessage; +import org.apache.asterix.app.result.ResponsePrinter; import org.apache.asterix.common.api.IApplicationContext; +import org.apache.asterix.common.messaging.api.INCMessageBroker; +import org.apache.asterix.common.messaging.api.MessageFuture; import org.apache.asterix.utils.AsyncRequestsAPIUtil; +import org.apache.hyracks.api.application.INCServiceContext; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.api.job.JobId; import org.apache.hyracks.http.api.IServletRequest; @@ -37,4 +46,27 @@ throws HyracksDataException { return AsyncRequestsAPIUtil.isValidRequest(appCtx, requestId, jobId, response); } + + public void printMetricsWithoutResultMetadata(ResponsePrinter printer, IServletRequest request, String requestId, + JobId jobId, ResultStatus status) throws HyracksDataException { + INCServiceContext serviceCtx = (INCServiceContext) appCtx.getServiceContext(); + INCMessageBroker messageBroker = (INCMessageBroker) serviceCtx.getMessageBroker(); + MessageFuture messageFuture = messageBroker.registerMessageFuture(); + long futureId = messageFuture.getFutureId(); + ClientInfoRequestMessage clientInfoRequestMessage = + new ClientInfoRequestMessage(serviceCtx.getNodeId(), futureId, jobId, requestId, true); + try { + messageBroker.sendMessageToPrimaryCC(clientInfoRequestMessage); + ClientInfoResponseMessage responseMessage = + (ClientInfoResponseMessage) messageFuture.get(NC_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); + if (responseMessage == null || !responseMessage.isValidRequestId()) { + return; + } + printMetrics(printer, request, status, responseMessage.getRequestCreateTime(), + responseMessage.getJobCreateTime(), responseMessage.getJobStartTime(), + responseMessage.getJobQueueWaitTime()); + } catch (Exception e) { + throw HyracksDataException.create(e); + } + } } 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 21f2267..ad3a9de 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 @@ -20,6 +20,7 @@ import java.io.IOException; import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.TimeUnit; import org.apache.asterix.app.result.ResponseMetrics; import org.apache.asterix.app.result.ResponsePrinter; @@ -165,7 +166,7 @@ } private ResponseMetrics buildMetrics(Stats stats, ResultMetadata metadata) { - long endTime = System.currentTimeMillis(); + long endTime = System.nanoTime(); stats.setProcessedObjects(metadata.getProcessedObjects()); stats.setQueueWaitTime(metadata.getQueueWaitTimeInNanos()); stats.setBufferCacheHitRatio(metadata.getBufferCacheHitRatio()); @@ -174,11 +175,11 @@ stats.setCloudPagesReadCount(metadata.getCloudPagesReadCount()); stats.setCloudPagesPersistedCount(metadata.getCloudPagesPersistedCount()); stats.updateTotalWarningsCount(metadata.getTotalWarningsCount()); - return ResponseMetrics.of(endTime - metadata.getCreateTime(), metadata.getJobDuration(), stats.getCount(), - stats.getSize(), metadata.getProcessedObjects(), 0, metadata.getTotalWarningsCount(), - metadata.getCompileTime(), stats.getQueueWaitTime(), stats.getBufferCacheHitRatio(), - stats.getBufferCachePageReadCount(), stats.getCloudReadRequestsCount(), stats.getCloudPagesReadCount(), - stats.getCloudPagesPersistedCount()); + return ResponseMetrics.of(TimeUnit.MILLISECONDS.toNanos(endTime - metadata.getCreateTime()), + metadata.getJobDuration(), stats.getCount(), stats.getSize(), metadata.getProcessedObjects(), 0, + metadata.getTotalWarningsCount(), metadata.getCompileTime(), stats.getQueueWaitTime(), + stats.getBufferCacheHitRatio(), stats.getBufferCachePageReadCount(), stats.getCloudReadRequestsCount(), + stats.getCloudPagesReadCount(), stats.getCloudPagesPersistedCount()); } /** diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java index 9052f8f..cf70ef4 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java @@ -20,8 +20,10 @@ import java.io.PrintWriter; import java.util.List; +import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import org.apache.asterix.app.result.ResponseMetrics; @@ -35,13 +37,18 @@ import org.apache.asterix.app.result.fields.ResultHandlePrinter; import org.apache.asterix.app.result.fields.StatusPrinter; import org.apache.asterix.common.api.IApplicationContext; +import org.apache.asterix.common.api.IClientRequest; +import org.apache.asterix.common.dataflow.ICcApplicationContext; import org.apache.asterix.common.exceptions.ErrorCode; import org.apache.asterix.common.exceptions.RuntimeDataException; -import org.apache.asterix.translator.IStatementExecutor; +import org.apache.asterix.translator.ClientRequest; import org.apache.asterix.translator.ResultMetadata; import org.apache.asterix.translator.SessionOutput; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.api.job.JobId; import org.apache.hyracks.api.result.ResultJobRecord; +import org.apache.hyracks.control.cc.ClusterControllerService; +import org.apache.hyracks.control.cc.job.JobRun; import org.apache.hyracks.http.api.IServletRequest; import org.apache.hyracks.http.api.IServletResponse; import org.apache.hyracks.http.server.utils.HttpUtil; @@ -91,7 +98,7 @@ } printer.printResults(); if (uriMode) { - printMetricsAndFooters(printer, resultReader, request); + printMetricsAndFooters(printer, resultReader, request, handle.getRequestId(), handle.getJobId(), resultStatus); } printer.end(); if (response.writer().checkError()) { @@ -165,33 +172,61 @@ } } - private void printMetricsAndFooters(ResponsePrinter printer, ResultReader resultReader, IServletRequest request) - throws HyracksDataException { + private void printMetricsAndFooters(ResponsePrinter printer, ResultReader resultReader, IServletRequest request, + String requestId, JobId jobId, ResultStatus status) throws HyracksDataException { ResultMetadata metadata = (ResultMetadata) resultReader.getMetadata(); - if (metadata != null) { - final IStatementExecutor.Stats stats = new IStatementExecutor.Stats(); - stats.setProcessedObjects(metadata.getProcessedObjects()); - stats.setQueueWaitTime(metadata.getQueueWaitTimeInNanos()); - stats.setBufferCacheHitRatio(metadata.getBufferCacheHitRatio()); - stats.setBufferCachePageReadCount(metadata.getBufferCachePageReadCount()); - stats.setCloudReadRequestsCount(metadata.getCloudReadRequestsCount()); - stats.setCloudPagesReadCount(metadata.getCloudPagesReadCount()); - stats.setCloudPagesPersistedCount(metadata.getCloudPagesPersistedCount()); - stats.updateTotalWarningsCount(metadata.getTotalWarningsCount()); - long endTime = System.currentTimeMillis(); - ResponseMetrics metrics = - ResponseMetrics.of(endTime - metadata.getCreateTime(), metadata.getJobDuration(), stats.getCount(), - stats.getSize(), metadata.getProcessedObjects(), 0, metadata.getTotalWarningsCount(), - metadata.getCompileTime(), stats.getQueueWaitTime(), stats.getBufferCacheHitRatio(), - stats.getBufferCachePageReadCount(), stats.getCloudReadRequestsCount(), - stats.getCloudPagesReadCount(), stats.getCloudPagesPersistedCount()); - printer.addFooterPrinter(new MetricsPrinter(metrics, HttpUtil.getPreferredCharset(request), - Set.of(MetricsPrinter.Metrics.ELAPSED_TIME, MetricsPrinter.Metrics.EXECUTION_TIME, - MetricsPrinter.Metrics.QUEUE_WAIT_TIME, MetricsPrinter.Metrics.COMPILE_TIME, - MetricsPrinter.Metrics.WARNING_COUNT, MetricsPrinter.Metrics.ERROR_COUNT, - MetricsPrinter.Metrics.PROCESSED_OBJECTS_COUNT))); - printer.addFooterPrinter(new CreatedAtPrinter(metadata.getCreateTime())); + if (metadata != null && status != ResultStatus.QUEUED && status != ResultStatus.RUNNING) { + printMetricsWithResultMetadata(printer, request, metadata); + } else { + printMetricsWithoutResultMetadata(printer, request, requestId, jobId, status); } printer.printFooters(); } + + public void printMetricsWithResultMetadata(ResponsePrinter printer, IServletRequest request, + ResultMetadata metadata) { + long endTime = System.currentTimeMillis(); + ResponseMetrics metrics = ResponseMetrics.of(TimeUnit.MILLISECONDS.toNanos(endTime - metadata.getCreateTime()), + metadata.getJobDuration(), 0, 0, metadata.getProcessedObjects(), 0, metadata.getTotalWarningsCount(), + metadata.getCompileTime(), metadata.getQueueWaitTimeInNanos(), 0, 0, 0, 0, 0); + printer.addFooterPrinter(new MetricsPrinter(metrics, HttpUtil.getPreferredCharset(request), + Set.of(MetricsPrinter.Metrics.ELAPSED_TIME, MetricsPrinter.Metrics.EXECUTION_TIME, + MetricsPrinter.Metrics.QUEUE_WAIT_TIME, MetricsPrinter.Metrics.COMPILE_TIME, + MetricsPrinter.Metrics.WARNING_COUNT, MetricsPrinter.Metrics.ERROR_COUNT, + MetricsPrinter.Metrics.PROCESSED_OBJECTS_COUNT))); + printer.addFooterPrinter(new CreatedAtPrinter(metadata.getCreateTime())); + } + + public void printMetricsWithoutResultMetadata(ResponsePrinter printer, IServletRequest request, String requestId, + JobId jobId, ResultStatus status) throws HyracksDataException { + try { + ClusterControllerService ccs = (ClusterControllerService) appCtx.getServiceContext().getControllerService(); + JobRun run = ccs.getJobManager().get(jobId); + Optional<IClientRequest> clientRequest = + ((ICcApplicationContext) appCtx).getRequestTracker().getAsyncOrDeferredRequest(requestId); + + long requestCreateTime = ((ClientRequest) clientRequest.get()).getCreationSystemTime(); + printMetrics(printer, request, status, requestCreateTime, run.getCreateTime(), run.getStartTime(), + run.getQueueWaitTimeInMillis()); + } catch (Exception e) { + throw HyracksDataException.create(e); + } + } + + protected void printMetrics(ResponsePrinter printer, IServletRequest request, ResultStatus status, + long requestCreateTime, long jobCreateTime, long jobStartTime, long queueWaitTime) { + long currentTime = System.currentTimeMillis(); + long elapsedTime = TimeUnit.MILLISECONDS.toNanos(currentTime - requestCreateTime); + long compileTime = TimeUnit.MILLISECONDS.toNanos(jobCreateTime - requestCreateTime); + long executionTime = + status == ResultStatus.RUNNING ? TimeUnit.MILLISECONDS.toNanos(currentTime - jobStartTime) : 0; + + ResponseMetrics metrics = ResponseMetrics.of(elapsedTime, executionTime, 0, 0, 0, 0, 0, compileTime, + queueWaitTime, 0, 0, 0, 0, 0); + + printer.addFooterPrinter(new MetricsPrinter(metrics, HttpUtil.getPreferredCharset(request), + Set.of(MetricsPrinter.Metrics.ELAPSED_TIME, MetricsPrinter.Metrics.EXECUTION_TIME, + MetricsPrinter.Metrics.QUEUE_WAIT_TIME, MetricsPrinter.Metrics.COMPILE_TIME))); + printer.addFooterPrinter(new CreatedAtPrinter(requestCreateTime)); + } } diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ClientInfoRequestMessage.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ClientInfoRequestMessage.java index c244aa0..0e71719 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ClientInfoRequestMessage.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ClientInfoRequestMessage.java @@ -27,6 +27,8 @@ import org.apache.asterix.translator.ClientRequest; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.api.job.JobId; +import org.apache.hyracks.control.cc.ClusterControllerService; +import org.apache.hyracks.control.cc.job.JobRun; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -38,12 +40,15 @@ private final JobId jobId; private final String requestId; private final long ncReqId; + private final boolean metricsRequired; - public ClientInfoRequestMessage(String nodeId, long ncReqId, JobId jobId, String requestId) { + public ClientInfoRequestMessage(String nodeId, long ncReqId, JobId jobId, String requestId, + boolean metricsRequired) { this.nodeId = nodeId; this.ncReqId = ncReqId; this.jobId = jobId; this.requestId = requestId; + this.metricsRequired = metricsRequired; } @Override @@ -51,11 +56,19 @@ CCMessageBroker messageBroker = (CCMessageBroker) appCtx.getServiceContext().getMessageBroker(); Optional<IClientRequest> clientRequest = appCtx.getRequestTracker().getAsyncOrDeferredRequest(requestId); ClientInfoResponseMessage response; - if (clientRequest.isEmpty()) { + if (clientRequest.isEmpty() || !jobId.equals(((ClientRequest) clientRequest.get()).getJobId())) { response = new ClientInfoResponseMessage(ncReqId, false); } else { - response = new ClientInfoResponseMessage(ncReqId, - jobId.equals(((ClientRequest) clientRequest.get()).getJobId())); + if (metricsRequired) { + ClusterControllerService ccs = + (ClusterControllerService) appCtx.getServiceContext().getControllerService(); + JobRun run = ccs.getJobManager().get(jobId); + response = new ClientInfoResponseMessage(ncReqId, true, + ((ClientRequest) clientRequest.get()).getCreationSystemTime(), run.getCreateTime(), + run.getStartTime(), run.getEndTime(), run.getQueueWaitTimeInMillis()); + } else { + response = new ClientInfoResponseMessage(ncReqId, true); + } } try { messageBroker.sendApplicationMessageToNC(response, nodeId); diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ClientInfoResponseMessage.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ClientInfoResponseMessage.java index 9952a9a..29200c5 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ClientInfoResponseMessage.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ClientInfoResponseMessage.java @@ -29,10 +29,26 @@ private static final long serialVersionUID = 1L; private final long reqId; private final boolean validRequestId; + // All time are in millis + private final long requestCreateTime; + private final long jobCreateTime; + private final long jobStartTime; + private final long jobEndTime; + private final long jobQueueWaitTime; public ClientInfoResponseMessage(long reqId, boolean validRequestId) { + this(reqId, validRequestId, 0, 0, 0, 0, 0); + } + + public ClientInfoResponseMessage(long reqId, boolean validRequestId, long requestCreateTime, long jobCreateTime, + long jobStartTime, long jobEndTime, long jobQueueWaitTime) { this.reqId = reqId; this.validRequestId = validRequestId; + this.requestCreateTime = requestCreateTime; + this.jobStartTime = jobStartTime; + this.jobCreateTime = jobCreateTime; + this.jobEndTime = jobEndTime; + this.jobQueueWaitTime = jobQueueWaitTime; } @Override @@ -47,4 +63,24 @@ public boolean isValidRequestId() { return validRequestId; } + + public long getRequestCreateTime() { + return requestCreateTime; + } + + public long getJobCreateTime() { + return jobCreateTime; + } + + public long getJobStartTime() { + return jobStartTime; + } + + public long getJobEndTime() { + return jobEndTime; + } + + public long getJobQueueWaitTime() { + return jobQueueWaitTime; + } } 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 08c459d..ef36bc8 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 @@ -108,7 +108,6 @@ } } metadata.setEndTime(System.currentTimeMillis()); - metadata.setCreateTime(run.getCreateTime()); metadata.setQueueWaitTimeInNanos(TimeUnit.MILLISECONDS.toNanos(run.getQueueWaitTimeInMillis())); } metadata.setProcessedObjects(processedObjects); 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 9d01995..0c5cd98 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 @@ -5570,6 +5570,7 @@ try { org.apache.asterix.translator.ResultMetadata resultMetadata = new org.apache.asterix.translator.ResultMetadata(sessionConfig.fmt()); + resultMetadata.setCreateTime(System.currentTimeMillis()); final JobSpecification jobSpec = rewriteCompileQuery(hcc, metadataProvider, query, null, stmtParams, requestParameters, resultMetadata); // update stats with count of compile-time warnings. needs to be adapted for multi-statement. diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/AsyncRequestsAPIUtil.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/AsyncRequestsAPIUtil.java index 8884b44..88184fa 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/AsyncRequestsAPIUtil.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/AsyncRequestsAPIUtil.java @@ -134,7 +134,7 @@ MessageFuture messageFuture = messageBroker.registerMessageFuture(); long futureId = messageFuture.getFutureId(); ClientInfoRequestMessage clientInfoRequestMessage = - new ClientInfoRequestMessage(serviceCtx.getNodeId(), futureId, jobId, requestId); + new ClientInfoRequestMessage(serviceCtx.getNodeId(), futureId, jobId, requestId, false); try { messageBroker.sendMessageToPrimaryCC(clientInfoRequestMessage); ClientInfoResponseMessage responseMessage = diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/async-deferred-improved/async-running/async-running.2.json b/asterixdb/asterix-app/src/test/resources/runtimets/results/async-deferred-improved/async-running/async-running.2.json deleted file mode 100644 index 272762e..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/async-deferred-improved/async-running/async-running.2.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "status": "running" -} diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/async-deferred-improved/async-running/async-running.2.regexjson b/asterixdb/asterix-app/src/test/resources/runtimets/results/async-deferred-improved/async-running/async-running.2.regexjson new file mode 100644 index 0000000..0e7ce1c --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/async-deferred-improved/async-running/async-running.2.regexjson @@ -0,0 +1,5 @@ +{ + "status":"running", + "metrics": "R{.*}", + "createdAt": "R{.*}" +} \ No newline at end of file -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20771?usp=email To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: Id5fd38b4273d1a3c98936cea63b8c879e474d619 Gerrit-Change-Number: 20771 Gerrit-PatchSet: 9 Gerrit-Owner: Peeyush Gupta <[email protected]> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Ian Maxon <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Peeyush Gupta <[email protected]>
