The new implementation of slide cannot use only the moment "time" to make decisions of which 1-second files to consider: time must actually go by in 1 second increments (to allow file mtimes to change). So, to simulate the passage of time for EUnit tests, I added the idle_time_passing/3 function. A side-effect of this is adding extra event counts, one per simulated second, so some of the expected counts from the pre-commit tests needed to be increased. Also, the quantile calculations by basho_stats_histogram.erl are clever estimates, but the ranges of 1-100 needed to be increased by a factor of 100 to be able to fall into different histogram summary bins.
where "defined" is *at least* the empty list (non-list values for riak_core.default_bucket_props will cause the test to fail)
…em_monitor event handler
…'s private directory
Just in case duplicate bucket properties have already been set, the lists should be key-sorted (instead of just sorted) to preserve order (since order matters in proplists). *Unique*-keysorting is used to remedy the duplicate property situation while changing other things.
If they're in riak_core.app, they get overwritten by anything in app.config. With them in _app.erl, they can be used to supplement settings specified in app.config.
The stats lib method is 2x faster than using file_sorter method and similar or less amount of RAM and far, far less than slide.erl's original RAM-only implementation. It is quite a bit slower than the RAM-only implementation for actually calculating the percentile stats, but the purpose of this exercise was reducing overall memory required to maintain the percentile stats for slide and reduce the amount of CPU required for slide (by omitting calculations for data that Riak never uses).
…hen handoff has issues
1. Move the central_conf() file out of riak_core_cinfo_basic.erl and into riak_core_cinfo_core.erl, renaming it config_files(). It attempts to find the app.config and vm.args config files, show their last modification times via "ls -l", and dump their output. 2. Change the SASL alarm-handling dump to avoid referring to a Gemini-specific function. Also, include the alarm callback in the module's list of all info callbacks.
A deprecation warning message is printed if old-style settings are used.