@Test public void testQuerySerialization() throws IOException { Query query = Druids.newTimeBoundaryQueryBuilder() .dataSource("testing") .build(); String json = jsonMapper.writeValueAsString(query); Query serdeQuery = jsonMapper.readValue(json, Query.class); Assert.assertEquals(query, serdeQuery); }
private void testTimeBoundary( QueryRunner runner, List<Result<TimeBoundaryResultValue>> expectedResults, String failMsg ) { TimeBoundaryQuery query = Druids.newTimeBoundaryQueryBuilder() .dataSource("testing") .build(); failMsg += " timeBoundary "; HashMap<String, Object> context = new HashMap<>(); Iterable<Result<TimeBoundaryResultValue>> actualResults = runner.run(QueryPlus.wrap(query), context).toList(); TestHelper.assertExpectedResults(expectedResults, actualResults, failMsg); } }
@Test @SuppressWarnings("unchecked") public void testTimeBoundaryMax() { TimeBoundaryQuery timeBoundaryQuery = Druids.newTimeBoundaryQueryBuilder() .dataSource("testing") .bound(TimeBoundaryQuery.MAX_TIME) .build(); Map<String, Object> context = new ConcurrentHashMap<>(); context.put(Result.MISSING_SEGMENTS_KEY, new ArrayList<>()); Iterable<Result<TimeBoundaryResultValue>> results = runner.run(QueryPlus.wrap(timeBoundaryQuery), context).toList(); TimeBoundaryResultValue val = results.iterator().next().getValue(); DateTime minTime = val.getMinTime(); DateTime maxTime = val.getMaxTime(); Assert.assertNull(minTime); Assert.assertEquals(DateTimes.of("2011-04-15T00:00:00.000Z"), maxTime); }
@Test @SuppressWarnings("unchecked") public void testTimeBoundaryMin() { TimeBoundaryQuery timeBoundaryQuery = Druids.newTimeBoundaryQueryBuilder() .dataSource("testing") .bound(TimeBoundaryQuery.MIN_TIME) .build(); Map<String, Object> context = new ConcurrentHashMap<>(); context.put(Result.MISSING_SEGMENTS_KEY, new ArrayList<>()); Iterable<Result<TimeBoundaryResultValue>> results = runner.run(QueryPlus.wrap(timeBoundaryQuery), context).toList(); TimeBoundaryResultValue val = results.iterator().next().getValue(); DateTime minTime = val.getMinTime(); DateTime maxTime = val.getMaxTime(); Assert.assertEquals(DateTimes.of("2011-01-12T00:00:00.000Z"), minTime); Assert.assertNull(maxTime); }
@Test @SuppressWarnings("unchecked") public void testFilteredTimeBoundaryQueryNoMatches() throws IOException { QueryRunner customRunner = getCustomRunner(); TimeBoundaryQuery timeBoundaryQuery = Druids.newTimeBoundaryQueryBuilder() .dataSource("testing") .filters("quality", "foobar") // foobar dimension does not exist .build(); Assert.assertTrue(timeBoundaryQuery.hasFilters()); HashMap<String, Object> context = new HashMap<String, Object>(); List<Result<TimeBoundaryResultValue>> results = customRunner.run(QueryPlus.wrap(timeBoundaryQuery), context).toList(); Assert.assertTrue(Iterables.size(results) == 0); }
@Test public void testContextSerde() throws Exception final TimeBoundaryQuery query = Druids.newTimeBoundaryQueryBuilder() .dataSource("foo") .intervals("2013/2014")
@Test @SuppressWarnings("unchecked") public void testTimeBoundary() { TimeBoundaryQuery timeBoundaryQuery = Druids.newTimeBoundaryQueryBuilder() .dataSource("testing") .build(); Assert.assertFalse(timeBoundaryQuery.hasFilters()); HashMap<String, Object> context = new HashMap<String, Object>(); Iterable<Result<TimeBoundaryResultValue>> results = runner.run(QueryPlus.wrap(timeBoundaryQuery), context).toList(); TimeBoundaryResultValue val = results.iterator().next().getValue(); DateTime minTime = val.getMinTime(); DateTime maxTime = val.getMaxTime(); Assert.assertEquals(DateTimes.of("2011-01-12T00:00:00.000Z"), minTime); Assert.assertEquals(DateTimes.of("2011-04-15T00:00:00.000Z"), maxTime); }
@Test public void testContextSerde2() throws Exception final TimeBoundaryQuery query = Druids.newTimeBoundaryQueryBuilder() .dataSource("foo") .intervals("2013/2014")
@Test public void testTimeBoundary() { List<Result<TimeBoundaryResultValue>> expectedResults = Collections.singletonList( new Result<>( DateTimes.of("2011-01-12T00:00:00.000Z"), new TimeBoundaryResultValue( ImmutableMap.of( TimeBoundaryQuery.MIN_TIME, DateTimes.of("2011-01-12T00:00:00.000Z"), TimeBoundaryQuery.MAX_TIME, DateTimes.of("2011-01-15T02:00:00.000Z") ) ) ) ); TimeBoundaryQuery query = Druids.newTimeBoundaryQueryBuilder() .dataSource(dataSource) .build(); QueryRunner runner = TestQueryRunners.makeTimeBoundaryQueryRunner(segment); HashMap<String, Object> context = new HashMap<String, Object>(); TestHelper.assertExpectedResults(expectedResults, runner.run(QueryPlus.wrap(query), context)); }
@Test public void testTimeBoundary2() { List<Result<TimeBoundaryResultValue>> expectedResults = Collections.singletonList( new Result<TimeBoundaryResultValue>( DateTimes.of("2011-01-12T00:00:00.000Z"), new TimeBoundaryResultValue( ImmutableMap.of( TimeBoundaryQuery.MIN_TIME, DateTimes.of("2011-01-12T00:00:00.000Z"), TimeBoundaryQuery.MAX_TIME, DateTimes.of("2011-01-15T00:00:00.000Z") ) ) ) ); TimeBoundaryQuery query = Druids.newTimeBoundaryQueryBuilder() .dataSource(dataSource) .build(); QueryRunner runner = TestQueryRunners.makeTimeBoundaryQueryRunner(segment2); HashMap<String, Object> context = new HashMap<String, Object>(); TestHelper.assertExpectedResults(expectedResults, runner.run(QueryPlus.wrap(query), context)); }
@Test @SuppressWarnings("unchecked") public void testFilteredTimeBoundaryQuery() throws IOException { QueryRunner customRunner = getCustomRunner(); TimeBoundaryQuery timeBoundaryQuery = Druids.newTimeBoundaryQueryBuilder() .dataSource("testing") .filters("quality", "automotive") .build(); Assert.assertTrue(timeBoundaryQuery.hasFilters()); HashMap<String, Object> context = new HashMap<String, Object>(); List<Result<TimeBoundaryResultValue>> results = customRunner.run(QueryPlus.wrap(timeBoundaryQuery), context).toList(); Assert.assertTrue(Iterables.size(results) > 0); TimeBoundaryResultValue val = results.iterator().next().getValue(); DateTime minTime = val.getMinTime(); DateTime maxTime = val.getMaxTime(); Assert.assertEquals(DateTimes.of("2011-01-13T00:00:00.000Z"), minTime); Assert.assertEquals(DateTimes.of("2011-01-16T00:00:00.000Z"), maxTime); }
@Test public void testTimeBoundary() { TimeBoundaryQuery query = Druids.newTimeBoundaryQueryBuilder() .dataSource("testing") .build(); List<Result<TimeBoundaryResultValue>> expectedResults = Collections.singletonList( new Result<TimeBoundaryResultValue>( DateTimes.of("2011-01-12T00:00:00.000Z"), new TimeBoundaryResultValue( ImmutableMap.of( TimeBoundaryQuery.MIN_TIME, DateTimes.of("2011-01-12T00:00:00.000Z"), TimeBoundaryQuery.MAX_TIME, DateTimes.of("2011-01-13T00:00:00.000Z") ) ) ) ); QueryRunner runner = TestQueryRunners.makeTimeBoundaryQueryRunner(segment); HashMap<String, Object> context = new HashMap<String, Object>(); TestHelper.assertExpectedResults(expectedResults, runner.run(QueryPlus.wrap(query), context)); } }
timeline.add(interval, "ver", new SingleElementPartitionChunk<>(selector)); TimeBoundaryQuery query = Druids.newTimeBoundaryQueryBuilder() .dataSource(DATA_SOURCE) .intervals(new MultipleIntervalSegmentSpec(ImmutableList.of(interval)))
serverSelector.addServerAndUpdateSegment(queryableDruidServer1, serverSelector.getSegment()); TimeBoundaryQuery query = Druids.newTimeBoundaryQueryBuilder().dataSource("test").build(); query = query.withOverriddenContext(ImmutableMap.of(DirectDruidClient.QUERY_FAIL_TIME, Long.MAX_VALUE)); cancellationFuture.set(new StatusResponseHolder(HttpResponseStatus.OK, new StringBuilder("cancelled")));
TimeBoundaryQuery query = Druids.newTimeBoundaryQueryBuilder().dataSource("test").build(); query = query.withOverriddenContext(ImmutableMap.of(DirectDruidClient.QUERY_FAIL_TIME, Long.MAX_VALUE)); interruptionFuture.set(
STRATEGY.getBrokerServiceName( tieredBrokerConfig, Druids.newTimeBoundaryQueryBuilder().dataSource("test").bound("maxTime").build()
serverSelector.addServerAndUpdateSegment(queryableDruidServer2, serverSelector.getSegment()); TimeBoundaryQuery query = Druids.newTimeBoundaryQueryBuilder().dataSource("test").build(); query = query.withOverriddenContext(ImmutableMap.of(DirectDruidClient.QUERY_FAIL_TIME, Long.MAX_VALUE)); Sequence s1 = client1.run(QueryPlus.wrap(query), defaultContext);
Druids.newTimeBoundaryQueryBuilder() .dataSource("dummy") .build();
Druids.newTimeBoundaryQueryBuilder() .dataSource(CachingClusteredClientTest.DATA_SOURCE) .intervals(CachingClusteredClientTest.SEG_SPEC) Druids.newTimeBoundaryQueryBuilder() .dataSource(CachingClusteredClientTest.DATA_SOURCE) .intervals(CachingClusteredClientTest.SEG_SPEC) Druids.newTimeBoundaryQueryBuilder() .dataSource(CachingClusteredClientTest.DATA_SOURCE) .intervals(CachingClusteredClientTest.SEG_SPEC)
Druids.newTimeBoundaryQueryBuilder() .dataSource(CachingClusteredClientTest.DATA_SOURCE) .intervals(CachingClusteredClientTest.SEG_SPEC) Druids.newTimeBoundaryQueryBuilder() .dataSource(CachingClusteredClientTest.DATA_SOURCE) .intervals(CachingClusteredClientTest.SEG_SPEC) Druids.newTimeBoundaryQueryBuilder() .dataSource(CachingClusteredClientTest.DATA_SOURCE) .intervals(CachingClusteredClientTest.SEG_SPEC)