kfaraz commented on code in PR #18742:
URL: https://github.com/apache/druid/pull/18742#discussion_r2532598406
##########
embedded-tests/src/test/java/org/apache/druid/testing/embedded/query/QueryVirtualStorageTest.java:
##########
@@ -152,88 +158,141 @@ void testQueryPartials()
"select count(*) from \"%s\" WHERE __time >= TIMESTAMP '2015-09-12
14:00:00' and __time < TIMESTAMP '2015-09-12 19:00:00'",
"select count(*) from \"%s\" WHERE __time >= TIMESTAMP '2015-09-12
19:00:00' and __time < TIMESTAMP '2015-09-13 00:00:00'"
};
- final long[] expectedResults = new long[] {
- 9770,
- 10524,
- 10267,
- 8683
- };
+ final long[] expectedResults = new long[]{9770, 10524, 10267, 8683};
+ final long[] expectedLoads = new long[]{8L, 6L, 5L, 5L};
+
+
+ LatchableEmitter emitter = historical.latchableEmitter();
+ // sleep to clear out the pipe to get zerod out storage monitor metrics
and then flush (which clears out the
+ // internal events stores in test emitter)
+ sleepForStorageMonitor();
+ emitter.flush();
+
+ emitter.waitForAnyEventWithMetricName(StorageMonitor.VSF_LOAD_COUNT);
+ long beforeLoads = getMetricTotal(emitter, StorageMonitor.VSF_LOAD_COUNT);
+ // confirm flushed
+ Assertions.assertEquals(0, beforeLoads);
+ // run the queries in order
Assertions.assertEquals(expectedResults[0],
Long.parseLong(cluster.runSql(queries[0], dataSource)));
- assertMetrics(1, 8L);
+ assertQueryMetrics(1, expectedLoads[0]);
Assertions.assertEquals(expectedResults[1],
Long.parseLong(cluster.runSql(queries[1], dataSource)));
- assertMetrics(2, 6L);
+ assertQueryMetrics(2, expectedLoads[1]);
Assertions.assertEquals(expectedResults[2],
Long.parseLong(cluster.runSql(queries[2], dataSource)));
- assertMetrics(3, 5L);
+ assertQueryMetrics(3, expectedLoads[2]);
Assertions.assertEquals(expectedResults[3],
Long.parseLong(cluster.runSql(queries[3], dataSource)));
- assertMetrics(4, 5L);
+ assertQueryMetrics(4, expectedLoads[3]);
+ sleepForStorageMonitor();
+ emitter.waitForAnyEventWithMetricName(StorageMonitor.VSF_LOAD_COUNT);
+ long firstLoads = getMetricTotal(emitter, StorageMonitor.VSF_LOAD_COUNT);
+ Assertions.assertTrue(firstLoads >= 24, "expected " + 24 + " but only got
" + firstLoads);
+
+ long expectedTotalHits = 0;
+ long expectedTotalLoad = 0;
for (int i = 0; i < 1000; i++) {
int nextQuery = ThreadLocalRandom.current().nextInt(queries.length);
Assertions.assertEquals(expectedResults[nextQuery],
Long.parseLong(cluster.runSql(queries[nextQuery], dataSource)));
- assertMetrics(i + 5, null);
+ assertQueryMetrics(i + 5, null);
+ long actualLoads = getMetricLatestEvent(emitter,
DefaultQueryMetrics.QUERY_ON_DEMAND_LOAD_COUNT, i + 5);
+ expectedTotalLoad += actualLoads;
+ expectedTotalHits += (expectedLoads[nextQuery] - actualLoads);
}
+
+ sleepForStorageMonitor();
+
+ emitter.waitForAnyEventWithMetricName(StorageMonitor.VSF_HIT_COUNT);
Review Comment:
Yeah, I think we can leave it out for now.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]