Before this change, the model state was having all indexes corresponding to the deleted key (in any bucket) or bucket (with any key) removed. This meant that when index specs were being calculated for removal in delete/5, sometimes none were there to remove, resulting in the backend not being empty after all keys were deleted.
* You can't call Backend:capabilities/2 with symbolic state, so moved the check to a dynamic_precondition. * When indexes were left behind (i.e. IndexSpecs not given on delete), riak_kv_eleveldb_backend would report false for is_empty/1. Changed the direct backend call into a local call so we can determine which index entries to remove from the model state and then proxy the call into the backend.
* CRITICAL: riak_kv_vnode should cons the async_folds option onto the backend configuration, not nest the latter in a new list. * The key_range_folder doesn't work properly for entire bucket lists, instead use the regular folder. * Simplify further the implementation of reset/0,2.
…lic so they can be cleared externally.
…meout - to fix issue #300.