basho/riak_cs — pull request #804 by kellymclaughlin (2014-02-11 00:25:16+00:00)
Title: Performance optimization for object listing requests using a prefix

* Use prefix in start key calculation when appropriate to avoid
iterating over unnecessary keys that lexicographically sort less
than the prefix. The make_start_key_from_marker function in
riak_cs_list_objects_fsm_v2 is renamed to
make_start_key_from_marker_and_prefix.
* Terminate processing early when a prefix is specified and a key is
reached that lexicographically sorts greater than the prefix, but
does not begin with the prefix. The results come back in sorted key
order so it can be assumed that once any keys that begin with the
prefix are processed it is appropriate to cease processing without
requesting any more data. This is accomplished by the addition of
the reached_end-of_keyspace/4 function to the
riak_cs_list_objects_fsm_v2 module.
* Silence extraneous console logging in riak_cs_list_objects_fsm_v2_eqc test