Updated Branches: refs/heads/trunk dfabeb52d -> 8664e3aa5
make sure to close file streams Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8664e3aa Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8664e3aa Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8664e3aa Branch: refs/heads/trunk Commit: 8664e3aa5eac47d7089a0790c1f891c27a4d88f0 Parents: dfabeb5 Author: Dave Brosius <dbros...@mebigfatguy.com> Authored: Thu Oct 24 00:03:55 2013 -0400 Committer: Dave Brosius <dbros...@mebigfatguy.com> Committed: Thu Oct 24 00:03:55 2013 -0400 ---------------------------------------------------------------------- .../cassandra/io/LazilyCompactedRowTest.java | 55 +++++++++++--------- 1 file changed, 30 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8664e3aa/test/unit/org/apache/cassandra/io/LazilyCompactedRowTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/io/LazilyCompactedRowTest.java b/test/unit/org/apache/cassandra/io/LazilyCompactedRowTest.java index 0cd9622..1c286c8 100644 --- a/test/unit/org/apache/cassandra/io/LazilyCompactedRowTest.java +++ b/test/unit/org/apache/cassandra/io/LazilyCompactedRowTest.java @@ -98,33 +98,38 @@ public class LazilyCompactedRowTest extends SchemaLoader tmpFile1.deleteOnExit(); tmpFile2.deleteOnExit(); - new FileOutputStream(tmpFile1).write(out1.getData()); // writing data from row1 - new FileOutputStream(tmpFile2).write(out2.getData()); // writing data from row2 - - MappedFileDataInput in1 = new MappedFileDataInput(new FileInputStream(tmpFile1), tmpFile1.getAbsolutePath(), 0, 0); - MappedFileDataInput in2 = new MappedFileDataInput(new FileInputStream(tmpFile2), tmpFile2.getAbsolutePath(), 0, 0); - - // row key - assertEquals(ByteBufferUtil.readWithShortLength(in1), ByteBufferUtil.readWithShortLength(in2)); - - // cf metadata - ColumnFamily cf1 = TreeMapBackedSortedColumns.factory.create(cfs.metadata); - ColumnFamily cf2 = TreeMapBackedSortedColumns.factory.create(cfs.metadata); - cf1.delete(DeletionTime.serializer.deserialize(in1)); - cf2.delete(DeletionTime.serializer.deserialize(in2)); - assertEquals(cf1.deletionInfo(), cf2.deletionInfo()); - // columns - while (true) + try (OutputStream os1 = new FileOutputStream(tmpFile1); + OutputStream os2 = new FileOutputStream(tmpFile2)) { - Column c1 = (Column)Column.onDiskSerializer().deserializeFromSSTable(in1, Descriptor.Version.CURRENT); - Column c2 = (Column)Column.onDiskSerializer().deserializeFromSSTable(in2, Descriptor.Version.CURRENT); - assert Objects.equal(c1, c2) : c1.getString(cfs.metadata.comparator) + " != " + c2.getString(cfs.metadata.comparator); - if (c1 == null) - break; + os1.write(out1.getData()); // writing data from row1 + os2.write(out2.getData()); // writing data from row2 + } + + try (MappedFileDataInput in1 = new MappedFileDataInput(new FileInputStream(tmpFile1), tmpFile1.getAbsolutePath(), 0, 0); + MappedFileDataInput in2 = new MappedFileDataInput(new FileInputStream(tmpFile2), tmpFile2.getAbsolutePath(), 0, 0)) + { + // row key + assertEquals(ByteBufferUtil.readWithShortLength(in1), ByteBufferUtil.readWithShortLength(in2)); + + // cf metadata + ColumnFamily cf1 = TreeMapBackedSortedColumns.factory.create(cfs.metadata); + ColumnFamily cf2 = TreeMapBackedSortedColumns.factory.create(cfs.metadata); + cf1.delete(DeletionTime.serializer.deserialize(in1)); + cf2.delete(DeletionTime.serializer.deserialize(in2)); + assertEquals(cf1.deletionInfo(), cf2.deletionInfo()); + // columns + while (true) + { + Column c1 = (Column)Column.onDiskSerializer().deserializeFromSSTable(in1, Descriptor.Version.CURRENT); + Column c2 = (Column)Column.onDiskSerializer().deserializeFromSSTable(in2, Descriptor.Version.CURRENT); + assert Objects.equal(c1, c2) : c1.getString(cfs.metadata.comparator) + " != " + c2.getString(cfs.metadata.comparator); + if (c1 == null) + break; + } + // that should be everything + assert in1.available() == 0; + assert in2.available() == 0; } - // that should be everything - assert in1.available() == 0; - assert in2.available() == 0; } }