@Benchmark @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MICROSECONDS) public void queryIncrementalIndex(Blackhole blackhole) { SelectQuery queryCopy = query.withPagingSpec(PagingSpec.newSpec(pagingThreshold)); SegmentId segmentId = SegmentId.dummy("incIndex"); QueryRunner<Row> runner = QueryBenchmarkUtil.makeQueryRunner( factory, segmentId, new IncrementalIndexSegment(incIndexes.get(0), segmentId) ); boolean done = false; while (!done) { List<Result<SelectResultValue>> results = SelectBenchmark.runQuery(factory, runner, queryCopy); SelectResultValue result = results.get(0).getValue(); if (result.getEvents().size() == 0) { done = true; } else { for (EventHolder eh : result.getEvents()) { blackhole.consume(eh); } queryCopy = incrementQueryPagination(queryCopy, result); } } }
@Benchmark @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MICROSECONDS) public void queryQueryableIndex(Blackhole blackhole) { SelectQuery queryCopy = query.withPagingSpec(PagingSpec.newSpec(pagingThreshold)); SegmentId segmentId = SegmentId.dummy("qIndex"); QueryRunner<Result<SelectResultValue>> runner = QueryBenchmarkUtil.makeQueryRunner( factory, segmentId, new QueryableIndexSegment(qIndexes.get(0), segmentId) ); boolean done = false; while (!done) { List<Result<SelectResultValue>> results = SelectBenchmark.runQuery(factory, runner, queryCopy); SelectResultValue result = results.get(0).getValue(); if (result.getEvents().size() == 0) { done = true; } else { for (EventHolder eh : result.getEvents()) { blackhole.consume(eh); } queryCopy = incrementQueryPagination(queryCopy, result); } } }
private void runAllGranularityTest(SelectQuery query, int[][] expectedOffsets) { for (int[] expected : expectedOffsets) { List<Result<SelectResultValue>> results = runner.run(QueryPlus.wrap(query), ImmutableMap.of()).toList(); Assert.assertEquals(1, results.size()); SelectResultValue value = results.get(0).getValue(); Map<String, Integer> pagingIdentifiers = value.getPagingIdentifiers(); Map<String, Integer> merged = PagingSpec.merge(Collections.singletonList(pagingIdentifiers)); for (int i = 0; i < 4; i++) { if (query.isDescending() ^ expected[i] >= 0) { Assert.assertEquals(expected[i], pagingIdentifiers.get(segmentIdentifiers.get(i)).intValue()); } } Assert.assertEquals(expected[4], value.getEvents().size()); query = query.withPagingSpec(toNextCursor(merged, query, 3)); } }
@Test public void testSimpleDataIngestAndSelectQuery() throws Exception { SketchModule sm = new SketchModule(); sm.configure(null); AggregationTestHelper selectQueryAggregationTestHelper = AggregationTestHelper.createSelectQueryAggregationTestHelper( sm.getJacksonModules(), tempFolder ); Sequence seq = selectQueryAggregationTestHelper.runQueryOnSegments( ImmutableList.of(s1, s2), readFileFromClasspathAsString("select_query.json") ); Result<SelectResultValue> result = (Result<SelectResultValue>) Iterables.getOnlyElement(seq.toList()); Assert.assertEquals(DateTimes.of("2014-10-20T00:00:00.000Z"), result.getTimestamp()); Assert.assertEquals(100, result.getValue().getEvents().size()); Assert.assertEquals("AgMDAAAazJMCAAAAAACAPzz9j7pWTMdROWGf15uY1nI=", result.getValue().getEvents().get(0).getEvent().get("pty_country")); }
List<EventHolder> acEvents = merged.getValue().getEvents();