Stability bugfixes for online delete SHAMapStore

The correct ledger age is necessary for checking health status, and the previous behavior caused the online deletion process to abort if the process took too long.

The tuning parameter added and the parameter whose default was modified both minimize impact of SQL DELETE operations by decreasing the default batch size for deletes and for increasing the backoff period between deletion batches. These parameters decrease contention for the SQLite and I/O with the trade-off of longer processing time for online delete. Online-delete is not a time-critical function, so a little slowness in wall-clock time is not harmful.

Reviewers: @miguelportilla @ximinez
Yeah, I guess that makes sense.
On Dec 1, 2014 4:39 PM, "Mark Travis" <notifications@github.com> wrote:

> In src/ripple/app/misc/SHAMapStoreImp.cpp:
>
> >
> > +    std::int32_t age = ledgerMaster_->getValidatedLedgerAge();
> >      if (mode != NetworkOPs::omFULL || age >= ageTooHigh_)
> >      {
> >          journal_.warning << "server not healthy, not deleting. state: "
>
> Here's the header comments for health():
>
> // If rippled is not healthy, defer rotate-delete.
> // If already unhealthy, do not change state on further check.
> // Assume that, once unhealthy, a necessary step has been
> // aborted, so the online-delete process needs to restart
> // at next ledger.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/ripple/rippled/pull/742/files#r21121643>.
>