setting missing from riak_core.schema #418

Closed
joedevivo opened this Issue Oct 9, 2013 · 19 comments

Comments

Projects
None yet
5 participants
Contributor

joedevivo commented Oct 9, 2013

As noticed by @jrwest during the review of #417, there are some mappings missing from the riak_core.schema

Things missing include (but are not limited to) transfer-limit, vnode_rolling_start and all the different timers.

This should be addressed before release.

Contributor

joedevivo commented Mar 24, 2014

transfer_limit has made it in.

jrwest added this to the 2.0-RC milestone Mar 24, 2014

Contributor

jrwest commented Mar 24, 2014

since the other items have still not been addressed/decided on, marking this as 2.0-RC.

Contributor

engelsanchez commented May 13, 2014

@joedevivo would it be possible to add a specific list of items missing? It's hard to know when this can be closed if we don't know for sure what needs to be done.

Contributor

macintux commented May 23, 2014

ping @joedevivo

Contributor

joedevivo commented May 23, 2014

This will actually need some kind of audit to know what's missing. I'll dig in, see what I find this afternoon.

Contributor

joedevivo commented May 23, 2014

looks like the following can't be configured via riak.conf

{cluster_name,"default"},
{gossip_interval,60000},
{target_n_val,4},
{wants_claim_fun,{riak_core_claim,default_wants_claim}},
{choose_claim_fun,{riak_core_claim,default_choose_claim}},
{vnode_inactivity_timeout,60000},
{disable_http_nagle,true},
{dist_send_buf_size,393216},
{dist_recv_buf_size,786432}]}]}.
Contributor

seancribbs commented May 23, 2014

{disable_http_nagle, true} should no longer apply since Webmachine support was moved to riak_api.

Contributor

joedevivo commented May 24, 2014

@seancribbs fwiw, there's a protobuf.nagle setting in the riak_api.schema, but there is not one for HTTP.

Contributor

seancribbs commented May 24, 2014

@joedevivo Yes, Nagle has been disabled for a while on HTTP, see here and here. Those are essentially unchanged from 1.4 IIRC, just moved to riak_api.

Contributor

jrwest commented May 27, 2014

@joedevivo what did you use to audit the repo. Looking for app_helper:get_env I found several others missing, including: handoff_timeout, handoff_receive_timeout handoff_status_interval, metadata_hashtree_timer, metadata_exchange_timeout.

also, while kind of on the subject of handoff configuration:

why do we have transfer_limit but then handoff.port, and handoff.ssl.*?

Contributor

joedevivo commented May 27, 2014

I got the above from the app.src

The original audit was on a wiki pages of the riak_config repo, but don't bother looking for that repo, we nuked it a while back.

Contributor

joedevivo commented May 27, 2014

@jrwest moving transfer_limit makes sense to me. also which of those settings do you think customers will actually touch?

Contributor

jrwest commented May 27, 2014

re: transfer_limit, if I may shed a bike: transfers.port, transfers.limit, transfers.sender_timeout, transfers.receiver_timeout, etc.

re: other settings, perhaps none, I expect all would be {level, advanced}. I was mostly pointing out there are way more settings than those listed so far (including my list).

Contributor

joedevivo commented May 27, 2014

hrm, take handoff out completely? could be done. would have some documentation impact.

Contributor

jrwest commented May 27, 2014

its a color of paint in the end. i prefer the transfers one all around.

Contributor

joedevivo commented May 27, 2014

Here's a list I found of settings in riak_core though a manual audit. I then removed any entries we already have schema mappings for. If a line had a comment, that commented value is the default.

we'll get confbal back together to review these next week.

$App.override_capability
riak_core.$Timer
riak_core.auth_mods
riak_core.broadcast_mods %%[riak_core_metadata_manager]
riak_core.broadcast_start_exchange_limit  %% 1
riak_core.bucket_fixups
riak_core.bucket_validators
riak_core.capability_tick
riak_core.choose_claim_fun
riak_core.claimant_tick
riak_core.cluster_name
riak_core.delayed_start
riak_core.disable_inbound_handoff
riak_core.disable_outbound_handoff
riak_core.dist_recv_buf_size
riak_core.dist_send_buf_size
riak_core.enable_dist_mon %% true
riak_core.enable_health_checks %% true
riak_core.exit_when_tainted %% false
riak_core.force_reclaim
riak_core.forced_ownership_handoff %% ?DEFAULT_OWNERSHIP_TRIGGER
riak_core.gossip_interval
riak_core.gossip_limit
riak_core.handoff_acksync_threshold %% 25
riak_core.handoff_batch_threshold %% 1024*1024
riak_core.handoff_concurrency
riak_core.handoff_ip
riak_core.handoff_receive_timeout %% ?RECV_TIMEOUT
riak_core.handoff_status_interval %% ?STATUS_INTERVAL
riak_core.handoff_timeout %% ?TCP_TIMEOUT
riak_core.health_checks
riak_core.metadata_exchange_timeout %% 60000
riak_core.metadata_hashtree_timer %% 10000
riak_core.permissions
riak_core.platform_data_dir
riak_core.registered_capabilities
riak_core.stat_cache_ttl %% ?REFRESH_RATE
riak_core.stat_mods
riak_core.target_n_val
riak_core.vnode_check_interval %% ?DEFAULT_CHECK_INTERVAL
riak_core.vnode_check_request_interval
riak_core.vnode_inactivity_timeout %% ?DEFAULT_TIMEOUT
riak_core.vnode_management_timer %% 10000
riak_core.vnode_modules
riak_core.vnode_overload_threshold %%  ?DEFAULT_OVERLOAD_THRESHOLD
riak_core.vnode_parallel_start %% 2
riak_core.vnode_rolling_start %% ?DEFAULT_VNODE_ROLLING_START
riak_core.wants_claim_fun
Contributor

jrwest commented May 27, 2014

@joedevivo did you get these by calling get_all_env? Most of them look correct but at least one or two look like appenv keys that are abused to store info about "registered" riak_core apps. Those keys should not be configurable via the .conf.

EDIT: ones I suspect, auth_mods, vnode_modules, bucket_validators, bucket_fixups, health_checks, stat_mods, cluster_name, registered_capabilities

Contributor

joedevivo commented May 27, 2014

Yeah, this was just looking through source. I'm ok with reviewing them and saying "that's a shocking abuse of application context!" on a case by case basis. I'm just putting them all here so maybe somebody looks at them while I'm gone. hint hint. :P

joedevivo self-assigned this Jun 3, 2014

Contributor

joedevivo commented Jun 4, 2014

@jmshoffs0812, @seancribbs, and I looked these missing settings over yesterday and decided that they should all be in the advanced.config only.

joedevivo closed this Jun 4, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment