public void extractFailedAttempt(LensDriver selectedDriver) { failedAttempts.add(new FailedAttempt(selectedDriver.getFullyQualifiedName(), getDriverStatus().getProgress(), getDriverStatus().getProgressMessage(), getDriverStatus().getErrorMessage(), getDriverStatus().getDriverStartTime(), getDriverStatus().getDriverFinishTime())); getDriverStatus().clear(); }
public void extractFailedAttempt(LensDriver selectedDriver) { failedAttempts.add(new FailedAttempt(selectedDriver.getFullyQualifiedName(), getDriverStatus().getProgress(), getDriverStatus().getProgressMessage(), getDriverStatus().getErrorMessage(), getDriverStatus().getDriverStartTime(), getDriverStatus().getDriverFinishTime())); getDriverStatus().clear(); }
/** * To lens query. * * @return the lens query */ public LensQuery toLensQuery() { return new LensQuery(queryHandle, userQuery, super.getSubmittedUser(), getPriority(), isPersistent, getSelectedDriver() != null ? getSelectedDriver().getFullyQualifiedName() : null, getSelectedDriverQuery(), status, resultSetPath, driverOpHandle, lensConf, submissionTime, launchTime, driverStatus.getDriverStartTime(), driverStatus.getDriverFinishTime(), endTime, closedTime, queryName, getFailedAttempts()); }
currState, query); case EXECUTED: return new QueryExecuted(ctx.getDriverStatus().getDriverFinishTime(), prevState, currState, query); case SUCCESSFUL: return new QuerySuccess(ctx, prevState, currState);
/** * To lens query. * * @return the lens query */ public LensQuery toLensQuery() { return new LensQuery(queryHandle, userQuery, super.getSubmittedUser(), getPriority(), isPersistent, getSelectedDriver() != null ? getSelectedDriver().getFullyQualifiedName() : null, getSelectedDriverQuery(), status, resultSetPath, driverOpHandle, lensConf, submissionTime, launchTime, driverStatus.getDriverStartTime(), driverStatus.getDriverFinishTime(), endTime, closedTime, queryName, getFailedAttempts()); }
/** * Wait for async query. * * @param ctx the ctx * @param driver the driver * @throws Exception the exception */ private void waitForAsyncQuery(QueryContext ctx, HiveDriver driver) throws Exception { while (true) { driver.updateStatus(ctx); System.out.println("#W Waiting for query " + ctx.getQueryHandle() + " status: " + ctx.getDriverStatus().getState()); assertNotNull(ctx.getDriverStatus()); if (ctx.getDriverStatus().isFinished()) { assertTrue(ctx.getDriverStatus().getDriverFinishTime() > 0); break; } System.out.println("Progress:" + ctx.getDriverStatus().getProgressMessage()); Thread.sleep(1000); assertTrue(ctx.getDriverStatus().getDriverStartTime() > 0); } }
/** * Test cancel query. * * @throws Exception the exception */ @Test(dataProvider = "waitBeforeCancel") public void testCancelQuery(boolean waitBeforeCancel) throws Exception { setupCancelQuery(); // picked function as positive with udf mapping to sleep - sothat the signature of both are same. // Here we need a UDF mapping because the function sleep is not available in Hive functions and semantic analysis // would fail otherwise. final String query = "SELECT positive(5) FROM cancel_query_test"; QueryContext context = createQueryContext(query); System.out.println("@@@ test_cancel:" + context.getQueryHandle()); executeAsync(context); QueryHandle handle = context.getQueryHandle(); // without wait query may not be launched. if (waitBeforeCancel) { Thread.sleep(1000); } boolean isCancelled = driver.cancelQuery(handle); driver.updateStatus(context); assertTrue(isCancelled); assertEquals(context.getDriverStatus().getState(), DriverQueryState.CANCELED); assertTrue(context.getDriverStatus().getDriverStartTime() > 0); assertTrue(context.getDriverStatus().getDriverFinishTime() > 0); driver.closeQuery(handle); }
Long endTime = queryContext.getLensContext().getDriverStatus().getDriverFinishTime(); if (endTime == null || endTime <= 0) { queryContext.getLensContext().getDriverStatus().setDriverFinishTime(System.currentTimeMillis());
Long endTime = queryContext.getLensContext().getDriverStatus().getDriverFinishTime(); if (endTime == null || endTime <= 0) { queryContext.getLensContext().getDriverStatus().setDriverFinishTime(System.currentTimeMillis());
assertTrue(context.getDriverStatus().getDriverFinishTime() > 0);
assertTrue(ctx.getDriverStatus().getDriverFinishTime() > 0);
case CANCELED: getDriverStatus().setProgress(1.0); if (getDriverStatus().getDriverFinishTime() == null || getDriverStatus().getDriverFinishTime() <= 0) { getDriverStatus().setDriverFinishTime(System.currentTimeMillis());
case CANCELED: getDriverStatus().setProgress(1.0); if (getDriverStatus().getDriverFinishTime() == null || getDriverStatus().getDriverFinishTime() <= 0) { getDriverStatus().setDriverFinishTime(System.currentTimeMillis());
/** * Validate execute async. * * @param ctx the ctx * @param finalState the final state * @param isPersistent the is persistent * @param formatNulls the format nulls * @param driver the driver * @throws Exception the exception */ protected void validateExecuteAsync(QueryContext ctx, DriverQueryState finalState, boolean isPersistent, boolean formatNulls, HiveDriver driver) throws Exception { waitForAsyncQuery(ctx, driver); driver.updateStatus(ctx); assertEquals(ctx.getDriverStatus().getState(), finalState, "Expected query to finish with" + finalState); assertTrue(ctx.getDriverStatus().getDriverFinishTime() > 0); if (finalState.equals(DriverQueryState.SUCCESSFUL)) { System.out.println("Progress:" + ctx.getDriverStatus().getProgressMessage()); assertNotNull(ctx.getDriverStatus().getProgressMessage()); if (!isPersistent) { validateInMemoryResult(driver.fetchResultSet(ctx)); } else { validatePersistentResult(driver.fetchResultSet(ctx), TEST_DATA_FILE, ctx.getHDFSResultDir(), formatNulls); } } else if (finalState.equals(DriverQueryState.FAILED)) { System.out.println("Error:" + ctx.getDriverStatus().getErrorMessage()); System.out.println("Status:" + ctx.getDriverStatus().getStatusMessage()); assertNotNull(ctx.getDriverStatus().getErrorMessage()); } }
driverStats.setDriverQuery(ctx.getSelectedDriverQuery()); driverStats.setStartTime(ctx.getDriverStatus().getDriverStartTime()); driverStats.setEndTime(ctx.getDriverStatus().getDriverFinishTime()); event.setDriverStats(driverStats); try {
long softExpiryTime = ctx.getDriverStatus().getDriverFinishTime() + queryService.getInMemoryResultsetTTLMillis() - 1000; //Keeping buffer of 1 secs int checkCount = 0;
this.errorMessage = ctx.getStatus().getErrorMessage(); this.driverStartTime = ctx.getDriverStatus().getDriverStartTime(); this.driverEndTime = ctx.getDriverStatus().getDriverFinishTime(); if (ctx.getQueryName() != null) { this.queryName = ctx.getQueryName().toLowerCase();
this.errorMessage = ctx.getStatus().getErrorMessage(); this.driverStartTime = ctx.getDriverStatus().getDriverStartTime(); this.driverEndTime = ctx.getDriverStatus().getDriverFinishTime(); if (ctx.getQueryName() != null) { this.queryName = ctx.getQueryName().toLowerCase();