private void setUpAndStartTaskQueue(DataSegmentPusher dataSegmentPusher) { final TaskConfig taskConfig = new TaskConfig(tmpDir.toString(), null, null, 50000, null, null, null); tsqa = new TaskStorageQueryAdapter(ts); tl = new TaskLockbox(ts); mdc = newMockMDC(); tac = new LocalTaskActionClientFactory(ts, new TaskActionToolbox(tl, mdc, newMockEmitter())); tb = new TaskToolboxFactory( taskConfig, tac, newMockEmitter(), dataSegmentPusher, new LocalDataSegmentKiller(), new DataSegmentMover() { @Override public DataSegment move(DataSegment dataSegment, Map<String, Object> targetLoadSpec) throws SegmentLoadingException { return dataSegment; } }, new DataSegmentArchiver() { @Override public DataSegment archive(DataSegment segment) throws SegmentLoadingException { return segment; } @Override public DataSegment restore(DataSegment segment) throws SegmentLoadingException { return segment; } }, new DataSegmentAnnouncer() { @Override public void announceSegment(DataSegment segment) throws IOException { announcedSinks++; } @Override public void unannounceSegment(DataSegment segment) throws IOException {} @Override public void announceSegments(Iterable<DataSegment> segments) throws IOException {} @Override public void unannounceSegments(Iterable<DataSegment> segments) throws IOException {} }, // segment announcer serverView, // new segment server view queryRunnerFactoryConglomerate, // query runner factory conglomerate corporation // unionized collective null, // query executor service monitorScheduler, // monitor scheduler new SegmentLoaderFactory( new SegmentLoaderLocalCacheManager( null, new SegmentLoaderConfig() { @Override public List<StorageLocationConfig> getLocations() { return Lists.newArrayList(); } }, new DefaultObjectMapper())), MAPPER, INDEX_MERGER, INDEX_IO, MapCache.create(0), FireDepartmentTest.NO_CACHE_CONFIG); tr = new ThreadPoolTaskRunner(tb, taskConfig, emitter); tq = new TaskQueue(tqc, ts, tr, tac, tl, emitter); tq.start(); }