-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
There are some features within riak_core, that are rarely or never used. Should these features simply be removed going forward.
riak_core_bg_manager
- Used potentially in three places: riak_repl fullsync (
riak_repl.fullsync_use_background_manager); riak_kv handoff (riak_kv.handoff_use_background_manager); riak_kv hashtree aae (riak_kv.aae_use_background_manager). - In all three cases by default the use of background manager is configured to
off.
riak_core_throttle
- Used only within
riak_kv_entropy_manager.
riak_core_table_owner
- Used only by
riak_core_throttle(see above).
gen_nb_server
- Used in
riak_core_handoff_listener, and inriak_apiinriak_api_pb_listener. - Reason why a specific non-block server for TCP handling is required unknown.
- Was previously used in riak_repl, but since replaced by use of ranch.
- Question whether dedicated
riak_core_handoff_listeneris needed, with improvements to Erlang Distribution Protocol that may help with potential issues with inter-node traffic being overwhelmed with handoff data? - An alternative may be to use approach in
nextgenrepli.e. make handoff part of the API, and use the riak erlang client for handoff as this helps with issues with maintaining SSL/TLS compatability.
process_proxy
- Used only in
riak_core_handoff_listener. - Reasons unclear as to why it is required.
bloom
- Not used anywhere.
riak_replusesebloom.
riak_core_tracer|riak_core_dtrace
riak_core_traceronly used in riak_kv, withinriak_kv_get_fsmeunit test.- Do real-world Riak users use this?
riak_core_gen_server
- Taken from LShift/RabbitMQ originally - adds a priority queue in-front of the standard process mailbox. The RabbitMQ code still includes gen_server2 which appears to be an updated version of this.
- Used only in
riak_core_handoff_receiverand within riak_repl inriak_repl_fullsync_helper, but no use of priority. - Related PR for vernemq
riak_core_priority_queue
- Used only within
riak_core_gen_server(see above).
hmmr
Metadata
Metadata
Assignees
Labels
No labels