Skip to content

Commit

Permalink
use Rule based TemporaryFolder for cleanup of temp directory/files
Browse files Browse the repository at this point in the history
  • Loading branch information
himanshug committed Sep 9, 2015
1 parent 4491103 commit 5da58e4
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@
import io.druid.granularity.QueryGranularity;
import io.druid.query.aggregation.AggregationTestHelper;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;

import java.io.File;

Expand All @@ -36,11 +38,14 @@ public class ApproximateHistogramAggregationTest
{
private AggregationTestHelper helper;

@Rule
public final TemporaryFolder tempFolder = new TemporaryFolder();

public ApproximateHistogramAggregationTest()
{
ApproximateHistogramDruidModule module = new ApproximateHistogramDruidModule();
module.configure(null);
helper = new AggregationTestHelper(Lists.newArrayList(module.getJacksonModules()));
helper = new AggregationTestHelper(Lists.newArrayList(module.getJacksonModules()), tempFolder);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.io.Closeables;
import com.google.common.io.Files;
import com.google.common.util.concurrent.ListenableFuture;
import com.metamx.common.guava.CloseQuietly;
import com.metamx.common.guava.Sequence;
Expand Down Expand Up @@ -63,9 +62,9 @@
import io.druid.segment.incremental.IncrementalIndex;
import io.druid.segment.incremental.IndexSizeExceededException;
import io.druid.segment.incremental.OnheapIncrementalIndex;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.LineIterator;
import org.junit.rules.TemporaryFolder;

import java.io.File;
import java.io.FileInputStream;
Expand All @@ -89,8 +88,11 @@ public class AggregationTestHelper
private final GroupByQueryQueryToolChest toolChest;
private final GroupByQueryRunnerFactory factory;

public AggregationTestHelper(List<? extends Module> jsonModulesToRegister)
private final TemporaryFolder tempFolder;

public AggregationTestHelper(List<? extends Module> jsonModulesToRegister, TemporaryFolder tempFoler)
{
this.tempFolder = tempFoler;
mapper = new DefaultObjectMapper();

for(Module mod : jsonModulesToRegister) {
Expand Down Expand Up @@ -141,13 +143,9 @@ public Sequence<Row> createIndexAndRunQueryOnSegment(
String groupByQueryJson
) throws Exception
{
File segmentDir = Files.createTempDir();
try {
createIndex(inputDataFile, parserJson, aggregators, segmentDir, minTimestamp, gran, maxRowCount);
return runQueryOnSegments(Lists.newArrayList(segmentDir), groupByQueryJson);
} finally {
FileUtils.deleteDirectory(segmentDir);
}
File segmentDir = tempFolder.newFolder();
createIndex(inputDataFile, parserJson, aggregators, segmentDir, minTimestamp, gran, maxRowCount);
return runQueryOnSegments(Lists.newArrayList(segmentDir), groupByQueryJson);
}

public Sequence<Row> createIndexAndRunQueryOnSegment(
Expand All @@ -160,13 +158,9 @@ public Sequence<Row> createIndexAndRunQueryOnSegment(
String groupByQueryJson
) throws Exception
{
File segmentDir = Files.createTempDir();
try {
createIndex(inputDataStream, parserJson, aggregators, segmentDir, minTimestamp, gran, maxRowCount);
return runQueryOnSegments(Lists.newArrayList(segmentDir), groupByQueryJson);
} finally {
FileUtils.deleteDirectory(segmentDir);
}
File segmentDir = tempFolder.newFolder();
createIndex(inputDataStream, parserJson, aggregators, segmentDir, minTimestamp, gran, maxRowCount);
return runQueryOnSegments(Lists.newArrayList(segmentDir), groupByQueryJson);
}

public void createIndex(
Expand Down Expand Up @@ -255,7 +249,7 @@ public void createIndex(
}
}
catch (IndexSizeExceededException ex) {
File tmp = Files.createTempDir();
File tmp = tempFolder.newFolder();
toMerge.add(tmp);
IndexMerger.persist(index, tmp, null, new IndexSpec());
index.close();
Expand All @@ -264,7 +258,7 @@ public void createIndex(
}

if (toMerge.size() > 0) {
File tmp = Files.createTempDir();
File tmp = tempFolder.newFolder();
toMerge.add(tmp);
IndexMerger.persist(index, tmp, null, new IndexSpec());

Expand All @@ -285,10 +279,6 @@ public void createIndex(
if (index != null) {
index.close();
}

for (File file : toMerge) {
FileUtils.deleteDirectory(file);
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,21 @@
import io.druid.jackson.AggregatorsModule;
import io.druid.query.aggregation.AggregationTestHelper;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;

import java.io.File;

public class HyperUniquesAggregationTest
{
@Rule
public final TemporaryFolder tempFolder = new TemporaryFolder();

@Test
public void testIngestAndQuery() throws Exception
{
AggregationTestHelper helper = new AggregationTestHelper(Lists.newArrayList(new AggregatorsModule()));
AggregationTestHelper helper = new AggregationTestHelper(Lists.newArrayList(new AggregatorsModule()), tempFolder);

String metricSpec = "[{"
+ "\"type\": \"hyperUnique\","
Expand Down

0 comments on commit 5da58e4

Please sign in to comment.