-
Notifications
You must be signed in to change notification settings - Fork 31
Improve AAE fullsync by estimating number of keys #623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
df2eb46
Refactor AAE FS source state transitions for clarity
jtuple 1ba47e8
Add buffer-then-send mode for AAE fullsync repair
jtuple 6b1d4f6
Fix deadlock between AAE fullsync sink/source
jtuple e444a03
Remove non-pipelined AAE fullsync mode
jtuple abdd513
Change AAE FS source to use direct vnode gets
jtuple a2b5941
Added a worker pool for fullsync sinks.
4e2e31b
Changed fullsync_direct to fullsync_direct_limit, stopped "Gathering …
e7a2f09
Merge pull request #618 from branch 'feature/fssink-pool-2.0'
jtuple 916be13
Merge pull request #619 from branch 'feature/pipelined-aae-fullsync-u…
jtuple 86faa77
Merge pull request #620 from basho/feature/pipelined-aae-fullsync-2.0
borshop d1c4130
Merge branch 'miklix_estimate_keys-2.0' into feature/aae-fullsync-est…
jtuple 779c1ec
Remove unused riak_repl_aae_source:replicate_diff/3
jtuple 83dd192
Remove redundant and unnecessary logging
e43257a
Revert some of "Remove redundant and unnecessary logging"
67b9535
Fix xref and dialyzer
38b7b4b
Revert riak_kv deps changes
ce0c1b4
Update logging after review
da47f0a
Cancel directly on not_responsible from remote cluster
6bdc099
handle not_responsible for local partitions
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| %% Fullsync pool to be shared by all sinks. Globally bounded in size in case multiple | ||
| %% fullsyncs are running. | ||
|
|
||
| -module(riak_repl2_fssink_pool). | ||
| -export([start_link/0, status/0, bin_put/1]). | ||
|
|
||
| start_link() -> | ||
| MinPool = app_helper:get_env(riak_repl, fssink_min_workers, 5), | ||
| MaxPool = app_helper:get_env(riak_repl, fssink_max_workers, 100), | ||
| PoolArgs = [{name, {local, ?MODULE}}, | ||
| {worker_module, riak_repl_fullsync_worker}, | ||
| {worker_args, []}, | ||
| {size, MinPool}, {max_overflow, MaxPool}], | ||
| poolboy:start_link(PoolArgs). | ||
|
|
||
| %% @doc Return the poolboy status | ||
| status() -> | ||
| {StateName, WorkerQueueLen, Overflow, NumMonitors} = poolboy:status(?MODULE), | ||
| [{statename, StateName}, | ||
| {worker_queue_len, WorkerQueueLen}, | ||
| {overflow, Overflow}, | ||
| {num_monitors, NumMonitors}]. | ||
|
|
||
| %% @doc Send a replication wire-encoded binary to the worker pool | ||
| %% for running a put against. No guarantees of completion. | ||
| bin_put(BinObj) -> | ||
| Pid = poolboy:checkout(?MODULE, true, infinity), | ||
| riak_repl_fullsync_worker:do_binput(Pid, BinObj, ?MODULE). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could this be switched to
lager:debuglike the other messages instead of being removed outright?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK to just go with this?
2014-10-16 11:26:53.304 [info] <0.1531.0>@riak_repl2_fssource_sup:enable:15 Starting replication fullsync source for 1278813932664540053428224228626747642198940975104 from 'dev1@127.0.0.1' to {{127,0,0,1},10026}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Going with the log entry from riak_repl2_fssource_sup sounds good to me.