PageReader implementations can own resources — ColumnChunkPageReader owns decompression / decryption buffers — but the interface has no standard teardown method. Today ColumnChunkPageReadStore.close() calls a package-private releaseBuffers() on the concrete class. Alternative PageReader implementations have no idiomatic way to declare that they own resources.
Have PageReader extend AutoCloseable with a default no-op close(). Rename ColumnChunkPageReader.releaseBuffers() to close().
PageReader implementations can own resources — ColumnChunkPageReader owns decompression / decryption buffers — but the interface has no standard teardown method. Today ColumnChunkPageReadStore.close() calls a package-private releaseBuffers() on the concrete class. Alternative PageReader implementations have no idiomatic way to declare that they own resources.
Have PageReader extend AutoCloseable with a default no-op close(). Rename ColumnChunkPageReader.releaseBuffers() to close().