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());
}
}