public String getOrDefaultQueryHandleString(String queryHandleString) { if (queryHandleString != null) { return queryHandleString; } if (getClient().getStatement().getQuery() != null) { return getClient().getStatement().getQueryHandleString(); } throw new IllegalArgumentException("Query handle not provided and no queries interacted with in the session."); } }
public String getOrDefaultQueryHandleString(String queryHandleString) { if (queryHandleString != null) { return queryHandleString; } if (getClient().getStatement().getQuery() != null) { return getClient().getStatement().getQueryHandleString(); } throw new IllegalArgumentException("Query handle not provided and no queries interacted with in the session."); } }
QueryHandle handle = client.executeQueryAsynch("cube select id,name from test_dim", "proxyTestQuery", new LensConf()); client.getStatement().waitForQueryToComplete(handle); LensQuery query = client.getQueryDetails(handle); ProxyLensQuery proxyQuery = new ProxyLensQuery(client.getStatement(), handle); Assert.assertEquals(query.getStatus().successful(), proxyQuery.getStatus().successful()); Assert.assertEquals(query.getSubmissionTime(), proxyQuery.getSubmissionTime()); ProxyLensQuery proxyQuery2 = new ProxyLensQuery(client.getStatement(), handle); Assert.assertEquals(proxyQuery, proxyQuery2); Assert.assertEquals(proxyQuery, query);
@Test(dataProvider = "testIterableHttpResultSetDP") public void testHttpResultSet(String query, Map<String, String> queryConf, boolean isResultZipped, int columnNamesExpected, int rowsExpected) throws Exception { for (Map.Entry<String, String> e : queryConf.entrySet()) { client.setConnectionParam(e.getKey(), e.getValue()); } LensConf conf = new LensConf(); Map<String, String> confProps = new HashMap<>(); confProps.put("custom.property.for.validation", "present"); conf.addProperties(confProps); QueryHandle handle = client.executeQueryAsynch(query, "testQuery", conf); client.getStatement().waitForQueryToComplete(handle); assertTrue(client.getStatement().wasQuerySuccessful()); LensQuery persistedQuery = client.getQueryDetails(handle); Assert.assertNotNull(persistedQuery.getQueryConf()); Assert.assertEquals(persistedQuery.getQueryConf().getProperty("custom.property.for.validation"), "present"); ResultSet result = null; boolean isHeaderRowPresent = columnNamesExpected > 0 ? true : false; result = client.getHttpResultSet(handle); assertNotNull(result); validateResult(result, columnNamesExpected, rowsExpected); }
/** * Test show persistent result set. * * @param qCom the q com * @throws Exception the exception */ @Test(dataProvider = "queryCommands") public void showPersistentResultSet(LensQueryCommands qCom) throws Exception { System.out.println("@@PERSISTENT_RESULT_TEST-------------"); qCom.getClient().setConnectionParam("lens.query.enable.persistent.resultset", "true"); qCom.getClient().setConnectionParam("lens.query.prefetch.inmemory.resultset", "false"); String query = "cube select id,name from test_dim"; try { String result = qCom.executeQuery(query, false, "testQuery3"); System.out.println("@@ RESULT " + result); assertNotNull(result); assertFalse(result.contains("Failed to get resultset")); } catch (Exception exc) { log.error("Exception not expected while getting resultset.", exc); fail("Exception not expected: " + exc.getMessage()); } //Downlaod once downloadResult(qCom, qCom.getClient().getStatement().getQueryHandleString(), "testQuery3", "\"1\",\"first\""); //Download Again downloadResult(qCom, qCom.getClient().getStatement().getQueryHandleString(), "testQuery3", "\"1\",\"first\""); System.out.println("@@END_PERSISTENT_RESULT_TEST-------------"); qCom.getClient().setConnectionParam("lens.query.enable.persistent.resultset.indriver", "false"); closeClientConnection(qCom); }
@Test public void testWaitForQueryToCompleteWithAndWithoutRetryOnTimeOut() throws LensAPIException { LensClientConfig config = createLensClientConfigWithServerUrl(); config.set(ENABLE_SLEEP_FOR_GET_QUERY_OP, "true"); config.setInt(LensClientConfig.READ_TIMEOUT_MILLIS, 3000); try (LensClient lensClient = new LensClient(config)) { assertTrue(lensClient.setDatabase(TEST_DB)); //Test waitForQueryToComplete without retry on timeout QueryHandle handle = lensClient.executeQueryAsynch("cube select id,name from test_dim", "test3", new LensConf()); try { lensClient.getStatement().waitForQueryToComplete(handle, false); fail("SocketTimeoutException was expected"); } catch (Exception e) { if (!isExceptionDueToSocketTimeout(e)) { fail("SocketTimeoutException was excepted as part of Read Timeout"); } } //Test waitForQueryToComplete with Retry on timeout handle = lensClient.executeQueryAsynch("cube select id,name from test_dim", "test3", new LensConf()); lensClient.getStatement().waitForQueryToComplete(handle); LensQuery query = lensClient.getQueryDetails(handle); assertTrue(query.getStatus().successful()); } }