Skip to content

[Experimental] Memberlist singleton and support for multiple codecs #2016

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 29 commits into from
Feb 12, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
d788adc
Added codec ID, to be used between memberlist clients.
pstibrany Jan 15, 2020
8e4e8d8
Separated memberlist.Client from memberlist.KV.
pstibrany Jan 20, 2020
65b1a61
Replaced custom serialization with protobuf serialization.
pstibrany Jan 20, 2020
d279c92
Codec ID is now part of the message exchanged between memberlist nodes.
pstibrany Jan 21, 2020
80a0c15
Added tests for multi-codecs KV.
pstibrany Jan 21, 2020
fd6f816
Fixed client creation.
pstibrany Jan 21, 2020
13a3b3d
Removed Stop method from kv.Client interface.
pstibrany Jan 21, 2020
bd9f797
Memberlist KV is now top-level component.
pstibrany Jan 21, 2020
1893c53
All codecs are registered to memberlist KV at the beginning.
pstibrany Jan 21, 2020
cd7159c
Report unknown codec errors as invalid messages.
pstibrany Jan 21, 2020
9a07c27
Updated CHANGELOG.md
pstibrany Jan 21, 2020
3c62bbe
Typos
pstibrany Jan 21, 2020
cfc07cd
Comments.
pstibrany Jan 21, 2020
448e70e
Fixes
pstibrany Jan 21, 2020
55d0f04
Added yaml tag to ignore function.
pstibrany Jan 21, 2020
c9d6011
Fixed unintended import reorder.
pstibrany Jan 21, 2020
b510414
Comments.
pstibrany Jan 21, 2020
5133bc8
Comments.
pstibrany Jan 21, 2020
5aae6eb
Return error
pstibrany Jan 22, 2020
fd1fe3f
Updated docs
pstibrany Jan 22, 2020
1d3aa66
Improved comments in LocalState and MergeRemoteState
pstibrany Feb 12, 2020
1be6245
Allow ruler and distributor use memberlist.KV for their internal rings.
pstibrany Feb 12, 2020
de08cc4
Added test to verify that Memberlist works in single-binary mode,
pstibrany Feb 12, 2020
7f05293
Updated CHANGELOG.md, moved to CHANGE because of protocol break.
pstibrany Feb 12, 2020
91fe063
Use "memberlist" in YAML config.
pstibrany Feb 12, 2020
bca87c2
Updated comment.
pstibrany Feb 12, 2020
7dbf90f
Updated comments and messages.
pstibrany Feb 12, 2020
11ff1a5
Fixed config.
pstibrany Feb 12, 2020
fb4f211
Compactor can now also use memberlist KV store.
pstibrany Feb 12, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Codec ID is now part of the message exchanged between memberlist nodes.
Codec is now stored in the client, while KV has a registry of codecs that are used
when receiving values.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>
  • Loading branch information
pstibrany committed Feb 12, 2020
commit d279c92f30fa62aa58d2f7ea55cd34d73a7c78bf
73 changes: 65 additions & 8 deletions pkg/ring/kv/memberlist/kv.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions pkg/ring/kv/memberlist/kv.proto
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,7 @@ message KeyValueStore {
message KeyValuePair {
string key = 1;
bytes value = 2;

// ID of the codec used to write the value
string codec = 3;
}
Loading