This branch significantly improves scribe sync time and scaling by doing the following:
Previously, RevertableOps would be verified (they they don't delete something that doesn't exist or put onto an existing value unexpectedly) as they were staged, this meant lots of single get lookups against the db, potentially redundantly if a key is touched multiple times. Now they are accumulated on a per-transaction basis before being verified in bulk using the multi_get api, which can be improved upon further.
Adds FutureEffectiveAmountPrefixRow column family to the db to eliminate needing to do an intensive iterate scan for one of the values needed to calculate takeovers.
Fully switches scribe to using batched lookups on EffectiveAmountPrefixRow and FutureEffectiveAmountPrefixRow for internal pending effective amount calculations instead of having looped iterate scans.
Bug fixes:
Fixes a number of takeover / activation related edge case bugs that had not previously surfaced due to not having test coverage and them not causing integrity errors, upon adding the effective amounts indexes these bugs would cause them to underflow (go negative) where it should not be possible.
This branch significantly improves scribe sync time and scaling by doing the following:
get
lookups against the db, potentially redundantly if a key is touched multiple times. Now they are accumulated on a per-transaction basis before being verified in bulk using themulti_get
api, which can be improved upon further.FutureEffectiveAmountPrefixRow
column family to the db to eliminate needing to do an intensiveiterate
scan for one of the values needed to calculate takeovers.EffectiveAmountPrefixRow
andFutureEffectiveAmountPrefixRow
for internal pending effective amount calculations instead of having loopediterate
scans.Bug fixes:
Deprecated:
--elastic_host
,--elastic_port
,--elastic_notifier_host
,--elastic_notifier_port
arguments toherald
New features:
--elastic_services
, which is comma separated and defaults to--elastic_services=127.0.0.1:9200/127.0.0.1:19080
.--db_disable_integrity_checks
flag toscribe
to make initial sync much faster.