Пример #1
0
  @Test
  public void testRealtimeIndexTaskSerde() throws Exception {

    final RealtimeIndexTask task =
        new RealtimeIndexTask(
            null,
            new TaskResource("rofl", 2),
            new FireDepartment(
                new DataSchema(
                    "foo",
                    null,
                    new AggregatorFactory[0],
                    new UniformGranularitySpec(Granularity.HOUR, QueryGranularity.NONE, null),
                    jsonMapper),
                new RealtimeIOConfig(
                    new LocalFirehoseFactory(new File("lol"), "rofl", null),
                    new PlumberSchool() {
                      @Override
                      public Plumber findPlumber(
                          DataSchema schema,
                          RealtimeTuningConfig config,
                          FireDepartmentMetrics metrics) {
                        return null;
                      }
                    },
                    null),
                new RealtimeTuningConfig(
                    1,
                    new Period("PT10M"),
                    null,
                    null,
                    null,
                    null,
                    1,
                    new NoneShardSpec(),
                    indexSpec,
                    null,
                    0,
                    0)),
            null);

    final String json = jsonMapper.writeValueAsString(task);

    Thread.sleep(100); // Just want to run the clock a bit to make sure the task id doesn't change
    final RealtimeIndexTask task2 = (RealtimeIndexTask) jsonMapper.readValue(json, Task.class);

    Assert.assertEquals("foo", task.getDataSource());
    Assert.assertEquals(2, task.getTaskResource().getRequiredCapacity());
    Assert.assertEquals("rofl", task.getTaskResource().getAvailabilityGroup());
    Assert.assertEquals(
        new Period("PT10M"), task.getRealtimeIngestionSchema().getTuningConfig().getWindowPeriod());
    Assert.assertEquals(
        Granularity.HOUR,
        task.getRealtimeIngestionSchema()
            .getDataSchema()
            .getGranularitySpec()
            .getSegmentGranularity());

    Assert.assertEquals(task.getId(), task2.getId());
    Assert.assertEquals(task.getGroupId(), task2.getGroupId());
    Assert.assertEquals(task.getDataSource(), task2.getDataSource());
    Assert.assertEquals(
        task.getTaskResource().getRequiredCapacity(),
        task2.getTaskResource().getRequiredCapacity());
    Assert.assertEquals(
        task.getTaskResource().getAvailabilityGroup(),
        task2.getTaskResource().getAvailabilityGroup());
    Assert.assertEquals(
        task.getRealtimeIngestionSchema().getTuningConfig().getWindowPeriod(),
        task2.getRealtimeIngestionSchema().getTuningConfig().getWindowPeriod());
    Assert.assertEquals(
        task.getRealtimeIngestionSchema()
            .getDataSchema()
            .getGranularitySpec()
            .getSegmentGranularity(),
        task2
            .getRealtimeIngestionSchema()
            .getDataSchema()
            .getGranularitySpec()
            .getSegmentGranularity());
  }