diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBulkLoad.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBulkLoad.java index 931306c..e274245 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBulkLoad.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBulkLoad.java @@ -233,17 +233,22 @@ public class TestBulkLoad { HFile.WriterFactory hFileFactory = HFile.getWriterFactoryNoCache(conf); // TODO We need a way to do this without creating files File hFileLocation = testFolder.newFile(); - hFileFactory.withOutputStream(new FSDataOutputStream(new FileOutputStream(hFileLocation))); - hFileFactory.withFileContext(new HFileContext()); - HFile.Writer writer = hFileFactory.create(); - - writer.append(new KeyValue(CellUtil.createCell(randomBytes, - family, - randomBytes, - 0l, - KeyValue.Type.Put.getCode(), - randomBytes))); - writer.close(); + FSDataOutputStream out = new FSDataOutputStream(new FileOutputStream(hFileLocation)); + try { + hFileFactory.withOutputStream(out); + hFileFactory.withFileContext(new HFileContext()); + HFile.Writer writer = hFileFactory.create(); + + writer.append(new KeyValue(CellUtil.createCell(randomBytes, + family, + randomBytes, + 0l, + KeyValue.Type.Put.getCode(), + randomBytes))); + writer.close(); + } finally { + out.close(); + } return hFileLocation.getAbsoluteFile().getAbsolutePath(); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java index 35ed253..7a4b290 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java @@ -1515,13 +1515,17 @@ public class TestHRegionReplayEvents { HFile.WriterFactory hFileFactory = HFile.getWriterFactoryNoCache(TEST_UTIL.getConfiguration()); // TODO We need a way to do this without creating files Path testFile = new Path(testPath, UUID.randomUUID().toString()); - hFileFactory.withOutputStream(TEST_UTIL.getTestFileSystem().create(testFile)); - hFileFactory.withFileContext(new HFileContext()); - HFile.Writer writer = hFileFactory.create(); - - writer.append(new KeyValue(CellUtil.createCell(valueBytes, family, valueBytes, 0l, - KeyValue.Type.Put.getCode(), valueBytes))); - writer.close(); + FSDataOutputStream out = TEST_UTIL.getTestFileSystem().create(testFile); + try { + hFileFactory.withOutputStream(out); + hFileFactory.withFileContext(new HFileContext()); + HFile.Writer writer = hFileFactory.create(); + writer.append(new KeyValue(CellUtil.createCell(valueBytes, family, valueBytes, 0l, + KeyValue.Type.Put.getCode(), valueBytes))); + writer.close(); + } finally { + out.close(); + } return testFile.toString(); }