basho/bitcask — pull request #143 by engelsanchez (2014-03-05 02:03:58+00:00)
Title: Simplify find entry snapshot use

The find entry function's semantics were a bit trippy.
If passed in MAX_TIME, it would still never access entries from the
pending hash. It could also get confused if it found something in the
regular hash, but not corresponding to the snapshot time given.
This simplifies it so that it only indicates found if a value for the
given snapshot was found. The value could be a tombstone.
If passed a large enough snapshot time, it could find entries in the
pending hash.

To keep old semantics, iteration should never take into account values
in the pending hash, which may change during the iteration.
To do that with the new clean find operation, the folds will use a read
time capped at the time the pending hash was created. This should
translate well to the upcoming changes that use a time independent epoch
instead, while being compatible with the old fold on frozen semantics.