Skip to content
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

Tap on another ring and gets its status #27

Open
wants to merge 283 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
283 commits
Select commit Hold shift + click to select a range
057e343
Fix testpop
dansimau Dec 7, 2015
206c696
Remove Godeps/_workspace
dansimau Dec 8, 2015
c4e5ce6
Update Godeps
dansimau Dec 8, 2015
a1ad746
Run tests with -v
dansimau Dec 8, 2015
14a5e28
Fix broken tests
dansimau Dec 8, 2015
ee596c4
Merge pull request #42 from uber/lazyinit-bugs
dansimau Dec 8, 2015
30b321d
Merge pull request #41 from uber/auto-add-self-to-joinlist
dansimau Dec 8, 2015
ed45c11
Added native thrift forwarding over tchannel to ringpop via generated…
Nov 19, 2015
7d71772
make thrift-gen on travis before starting the test.
Dec 8, 2015
4c561b3
Update thrift-gem and tests for lazy init.
Dec 8, 2015
59c12b9
Add documentation on how to run the generator test during development.
Dec 8, 2015
6b5e7a0
Update pingpong example with newer tchannel files.
Dec 8, 2015
a422a73
Update the pingpong example to make use of the ringpop adapter.
Dec 8, 2015
42e92a5
Incorporated @dansimau ’s feedback.
Dec 8, 2015
6ec6655
Remove testpop .gitignore
dansimau Dec 8, 2015
4e1339b
Merge pull request #31 from uber/feature/thrift-forward-adapter
thanodnl Dec 8, 2015
3bfb55a
Fix bug preventing bootstrapping from file
dansimau Dec 10, 2015
2508ace
Merge pull request #45 from uber/fix-auto-add-self-to-joinlist
dansimau Dec 11, 2015
1c91ce0
Initial validation of available stats in ringpop-go.
Dec 10, 2015
e2382c7
Implement stat ‘changes.disseminate’.
Dec 10, 2015
1ba25f1
Implement stat ‘filtered-change’.
Dec 10, 2015
319ff92
Make tests around stats pass again after changes,
Dec 10, 2015
a28579c
Implement stat ‘join.failed.*’.
Dec 10, 2015
7e5ba54
Implement stat ‘join.succeeded’.
Dec 10, 2015
2263677
Implement stat ‘lookup’.
Dec 10, 2015
7b9fb87
Implement stat ‘make-*’.
Dec 10, 2015
e453b4c
Implement stat ‘membership-set.*’.
Dec 10, 2015
f78ded3
Implement stat ‘membership.checksum-computed’.
Dec 10, 2015
5f8423e
Implement stat ‘not-ready.*’.
Dec 10, 2015
d0de328
Implement stat ‘num-members’.
Dec 10, 2015
3b4e2f0
Implement stat ‘ping-req.other-members’.
Dec 10, 2015
94a620e
Implement stat ‘refuted-update’.
Dec 10, 2015
08c3ec1
Implement stat ‘ring.changed’,
Dec 10, 2015
7e59d4e
Implement stat ‘requestProxy.*’.
Dec 11, 2015
e7f5e92
define Event interface{}.
Dec 14, 2015
3e4b1e3
Changes based on feedback in PR.
Dec 15, 2015
bc70d84
Move the stats documentation changes to ringpop-node.
Dec 15, 2015
21e0aa5
Merge pull request #46 from uber/implement-nodejs-stats
thanodnl Dec 16, 2015
c3f9288
Add godoc for thrift/forwarding code
Dec 16, 2015
dc4a528
v0.2 release
dansimau Dec 16, 2015
14bf7a6
Merge pull request #47 from uber/v0.2-release
dansimau Dec 16, 2015
50a13bd
Add a remote ring app name as an option to tap ring
Dec 18, 2015
fd1789e
Fix some race conditions that were found by go test —race.
Dec 18, 2015
5fc67af
Merge pull request #48 from uber/bugfix/race-in-tests
thanodnl Dec 18, 2015
c258d40
Use prebuild version of thrift-gen.
Dec 28, 2015
5b21891
Vendor all the dependencies.
Dec 28, 2015
c38c846
Bump version of released thrift-gen binary.
Dec 29, 2015
762a902
improve coverage of forward/forward.go
Dec 29, 2015
a74994d
Use mockery for MockSender.
Dec 29, 2015
0792c3a
Add test for error during lookup.
Dec 30, 2015
9c41a0a
Implement and test application errors for json forwarding.
Dec 30, 2015
6470309
Implement test for an error due to an invalid endpoint.
Dec 30, 2015
22801cb
Remove long taking flappy test.
Dec 30, 2015
a246795
create hashring package and move rbtree and hashring.go there
Dec 30, 2015
7566b30
Implement tests for thrift forwarding via forwarder.
Dec 30, 2015
349b633
Fix swim tests
dansimau Dec 29, 2015
2048c27
Merge pull request #52 from uber/bugfix/swim-tests
dansimau Dec 30, 2015
e85c554
use tchannel-go release of thrift-gen
Dec 30, 2015
5c1af95
`godep go test`
Dec 30, 2015
f9d7f65
don’t use godep on travis.
Dec 30, 2015
27c26f7
Merge pull request #53 from uber/ws-move-to-hashring-package
CorgiMan Dec 31, 2015
bfa9777
Use ip from RFC1166 (129.0.2.0/24) for the unreachable test.
Jan 4, 2016
8470f43
Merge pull request #49 from uber/stable-travis-dependencies
thanodnl Jan 6, 2016
47d3ffd
Use port 0 for reachable node.
Jan 6, 2016
691903b
clear the listeners in a central place.
Jan 6, 2016
c648fef
typo in comment.
Jan 7, 2016
27a6005
Merge pull request #55 from uber/tests/forward
thanodnl Jan 7, 2016
f5bea7e
Update README.md
thanodnl Jan 7, 2016
f1b43b8
cleanup red black tree iteration and some renaming
Dec 30, 2015
d3c80d7
Merge pull request #58 from uber/ws-iter-and-rbtree-cleanup
CorgiMan Jan 8, 2016
a89ad76
Improved router test coverage from 66% to 97.1% with 1 untestable lin…
Dec 28, 2015
64ef749
Remove defer closure.
Dec 29, 2015
21838db
Refactoring the router test to use test suite and prevent access to n…
Jan 6, 2016
5a3048e
Merge pull request #50 from uber/tests/router
thanodnl Jan 8, 2016
3a9c96f
Rework hashring locks plus 100% test coverage
Dec 31, 2015
2113fef
Merge pull request #62 from uber/ws-hashring-locks-cleanup
CorgiMan Jan 8, 2016
39d5ba3
Fix a potiental goroutine leak by using buffer channel.
sunzl1989 Jan 9, 2016
52aff2d
Emit event from AddServer and RemoveServer
Jan 10, 2016
a6eaf16
Merge pull request #64 from uber/ws-hashring-emit-add-remove-server-e…
CorgiMan Jan 11, 2016
22ae72c
Merge pull request #63 from uber/goroutine-leak
jwolski2 Jan 11, 2016
a783c11
Cleanup and increased test coverage of swim package
dansimau Jan 5, 2016
503a43c
Merge pull request #59 from uber/tests/swim
dansimau Jan 11, 2016
70860b1
fix lookup bug and adding tests for LookupN
Jan 12, 2016
2629872
Merge pull request #66 from uber/ws-fix-lookup-bug
CorgiMan Jan 12, 2016
2493659
Improve test that verifies correct behavior of a destroyed node durin…
jwolski Jan 13, 2016
6838dbf
Remove lError type from the codebase
jwolski Jan 13, 2016
bd1b651
Merge pull request #67 from uber/destroy-test
jwolski2 Jan 13, 2016
9ef46ae
Dedupe destinations before forwarded request is retried
jwolski Jan 15, 2016
b0703ec
Merge pull request #69 from uber/divergence-fix
jwolski2 Jan 15, 2016
a91be6b
Make it possible to wait for convergence during bootstrapping of swim…
Jan 11, 2016
78ec4b7
Add test that fails if the join handler adds the bootstrapping node t…
Jan 11, 2016
031f9ea
Wait for convergence before comparing the stats.
Jan 18, 2016
aee8391
Don’t start disseminating when you receive a join request.
Jan 11, 2016
9358dda
Add test for the joining member to not show up in the memberlist.
Jan 18, 2016
da0a4a5
Refactor waitForConvergence to its own util function.
Jan 18, 2016
de59b7e
Implemented a timeout while waiting for convergence.
Jan 18, 2016
3d6ddf6
Update changelog for v0.2.2
dansimau Jan 19, 2016
028e5fe
Merge pull request #71 from uber/changelog-0.2.2
jwolski2 Jan 19, 2016
a577327
Dry convergency check, and HasChanges api on Node.
Jan 19, 2016
b00c48d
Rewrite waitForConvergence to tick all the nodes as long as there are…
Jan 19, 2016
f56df70
Update CHANGELOG with v0.2.3 release notes
jwolski Jan 19, 2016
74762d9
Merge pull request #73 from uber/changelog-0.2.3
jwolski2 Jan 19, 2016
5fdba5e
Better explanation of how we wait for convergence of the testNodes.
Jan 19, 2016
9fc539e
Use a labeled loop and continue makes the flow more readable.
Jan 19, 2016
beb0ed6
Merge pull request #65 from uber/feature/dont-disseminate-join
thanodnl Jan 19, 2016
22dcbab
Fix swimCluster leaking channels
dansimau Jan 19, 2016
ad683a8
Merge branch 'fix/swim-test-fd-leak'
dansimau Jan 20, 2016
cd561ac
Introduce exponentially increasing delay after each join attempt
jwolski Jan 11, 2016
b773619
Append _test to mock_logger.go
jwolski Jan 21, 2016
65d75d3
Merge pull request #77 from uber/mock-logger-test-fix
thanodnl Jan 21, 2016
a948bbc
Merge pull request #68 from uber/join-backoff
jwolski2 Jan 22, 2016
438cd75
Add coveralls
dansimau Jan 6, 2016
b6ffc82
Merge branch 'feature/coveralls'
dansimau Jan 25, 2016
e59f123
Run integration tests on CI
dansimau Jan 21, 2016
0b8550a
Merge branch 'integration-tests-ci'
dansimau Jan 25, 2016
854af7f
update README with matching instructions
benfleis Jan 26, 2016
753f531
add ‘setup’ target to make, update README to match
benfleis Jan 25, 2016
65429b2
Merge pull request #80 from uber/feature/setup
benfleis Jan 26, 2016
6c066eb
Ensure non-zero exit on compile fail
dansimau Jan 27, 2016
9fd5f20
Merge branch 'fix/go-test-prettify'
dansimau Jan 27, 2016
7d8141d
Add a clock that is used to generate incarnation numbers. In TestAdmi…
Jan 22, 2016
fd2d425
Merge pull request #78 from uber/ws-flappy-test-fix-on-TertAdminLeave…
CorgiMan Jan 27, 2016
b09e1fd
refactor hard to use sendPingReqs function into easy to use indirectP…
Jan 19, 2016
62e223e
Merge pull request #74 from uber/ws-ping-reqs-bug-fix
CorgiMan Feb 1, 2016
b0d61e1
Group log messages into modules.
Jan 27, 2016
1d33d67
Merge branch 'feature/logger2'
Feb 1, 2016
cc7a8d1
don't disseminate join list - after join clear all non-local changes …
Jan 28, 2016
7348478
Add locks in disseminator.HasChanges method
Feb 1, 2016
6230370
Merge pull request #86 from uber/ws-locks-in-HasChanges-method
CorgiMan Feb 1, 2016
56de5f0
add tests for ChangeByAddress and ChangeCount
Feb 1, 2016
2355d6f
Address feedback
Feb 1, 2016
9335099
address feedback
Feb 1, 2016
f05d0ce
Merge pull request #87 from uber/ws-locks-in-HasChanges-method-fix
CorgiMan Feb 2, 2016
990e552
Merge pull request #85 from uber/ws-dont-disseminate-join-list
CorgiMan Feb 2, 2016
badb18c
don't increase piggyback counter when ping/ping-req fails
Jan 26, 2016
712452b
Merge pull request #82 from uber/ws-defensive-piggybacking
CorgiMan Feb 2, 2016
fc0fbf7
Add test for error on bootstrap
dansimau Jan 27, 2016
cea9fa7
Add proper error for TChannel identity resolver
dansimau Feb 2, 2016
fbdc0fe
issueChanges no longer takes an argument
Feb 2, 2016
f37148e
Update project on 'make setup', install godep
motiejus Feb 2, 2016
f2e1154
Merge pull request #88 from uber/ws-rebase-error-in-test
CorgiMan Feb 2, 2016
a28b9a2
Fix invalid return code on partial compile error
dansimau Feb 2, 2016
03ada4c
Merge branch 'fix/prettify-exit-code-again'
dansimau Feb 2, 2016
c49ea0e
Merge branch 'test/channel-not-listening'
dansimau Feb 2, 2016
611deec
Merge pull request #89 from Motiejus/go_install_deps2
motiejus Feb 3, 2016
4739419
don't remove local member from the changes when adding join list to m…
Feb 5, 2016
f4e384b
Merge pull request #95 from uber/ws-remove-self-on-join-bug-fix
CorgiMan Feb 5, 2016
e7994d4
Run integration tests in serial
dansimau Feb 8, 2016
2f8e4bc
Set a better default for maxP and fix maxP value after bootstrap.
Feb 8, 2016
1f706f3
Use new version of tap-filter so we can see errors
dansimau Feb 9, 2016
fa2d888
add ring.checksum* stats for partition detection
benfleis Feb 5, 2016
c01e42d
Merge branch 'fix/integration-tests'
dansimau Feb 9, 2016
2898719
Merge branch 'master' of github.com:uber/ringpop-go into feature/emit…
benfleis Feb 9, 2016
1156412
Merge pull request #92 from uber/feature/emit-ring.checksum
benfleis Feb 9, 2016
721d9d3
update tchannel-go to v1.0.2
Feb 8, 2016
fdc5c10
1. make the update rules more transparent.
Feb 2, 2016
562a831
Merge pull request #96 from uber/ws-tchan-update
CorgiMan Feb 10, 2016
0859b4a
Merge branch 'fix/maxP'
Feb 10, 2016
6affd85
Merge pull request #94 from uber/ws-leave-status-incno-bugfix
CorgiMan Feb 10, 2016
a8a8abb
Update TChannel to 1.0.3
dansimau Feb 17, 2016
b4fe2ed
add membership.checksum stat, same as ring.chksum
benfleis Feb 18, 2016
e0e3954
Add make lint target
dansimau Feb 8, 2016
331ec55
Install golint
dansimau Feb 9, 2016
54d9d9d
Fix golint errors
dansimau Feb 9, 2016
2ec1865
Fix go vet logging/facility_test.go:62
dansimau Feb 9, 2016
c4ef9ff
Fix lint error options.go:93
dansimau Feb 9, 2016
d93a7c1
Disallow lint failures on Travis
dansimau Feb 9, 2016
b7d2d27
Add lint pre-commit hook
dansimau Feb 9, 2016
b7c5234
Update filters so that examples are included
dansimau Feb 10, 2016
633417b
Changes based on feedback
dansimau Feb 10, 2016
c227e15
Merge pull request #104 from uber/feature/memberlist.checksum-stats
benfleis Feb 19, 2016
1b7c1ac
Update changelog for v0.3
dansimau Feb 19, 2016
8e71c7b
Merge branch 'tchannel-v1.0.3'
dansimau Feb 19, 2016
8b80122
Add ability to turn lint errors into warnings
dansimau Feb 19, 2016
d772b3c
Merge branch 'feature/lint'
dansimau Feb 19, 2016
44b8b3c
Merge branch 'release/v0.3'
dansimau Feb 19, 2016
c5a6379
Fix race in membership and ring consistency
motiejus Feb 23, 2016
784d4e0
Merge pull request #112 from uber/bug/membership-race2
motiejus Feb 23, 2016
3fcfb7f
Add log messages that are used in convergence measurement.
Jan 20, 2016
97156ea
Use info logging for measurement messages.
Jan 22, 2016
243eb11
Move the convergence logs to the call-sites.
Feb 24, 2016
58683e4
bark is bark and not log.
Feb 24, 2016
813d5b8
Remove unused event.
Feb 25, 2016
325fb17
Removed commented out nodejs code.
Feb 25, 2016
aaed166
Merge pull request #116 from uber/feature/convergence-logs
thanodnl Mar 1, 2016
3cc9e19
Remove `Hosts` and `File` bootstrapOptions
motiejus Feb 26, 2016
c8f2ad4
Merge pull request #120 from uber/feature/use_discover_providers
motiejus Mar 2, 2016
99b1219
Refactoring the 'suspicion protocol' to a generic module for timebase…
Feb 23, 2016
6fc7d84
Merge pull request #114 from uber/feature/reaping
thanodnl Mar 4, 2016
3b21384
Add Go 1.6 to Travis tests
dansimau Feb 24, 2016
2e5c48c
Add additional excludes for 1.6 vet on travis
dansimau Feb 25, 2016
580357c
Make errors vs warnings clearer
dansimau Feb 25, 2016
1825917
Merge branch 'test/travis-go-1.6'
dansimau Mar 10, 2016
68524b2
Implemented reaping faulty nodes.
Mar 4, 2016
9054c26
Merge pull request #123 from uber/feature/rfn
thanodnl Mar 10, 2016
b7cfee4
Implemented two new Events in ringpop for which users can listen to h…
Mar 9, 2016
bdc60bc
Merge pull request #125 from uber/feature/notify-state-change
thanodnl Mar 11, 2016
07a28fd
Merge branch 'dev' into release-v0.4.0
dansimau Mar 11, 2016
24fb6c2
Update changelog for v0.4.0
dansimau Mar 11, 2016
7fbf9f5
Merge branch 'release-v0.4.0'
dansimau Mar 14, 2016
6e836b4
Revert "Merge pull request #123 from uber/feature/rfn"
Mar 14, 2016
d8f2460
remove unnecessary concurrency in waitForConvergence
Mar 23, 2016
f73b011
add stats for tree construction time
Mar 23, 2016
e2d8b5a
make discover provider part of the node and no longer part of the joi…
Mar 23, 2016
1a63df8
add sendPingWithChanges and sendJoinRequest method
Mar 23, 2016
7419b8f
refactor MakeCall to easier to understand sendJoinRequest/sendPing
Mar 24, 2016
68ba04e
address feedback
Mar 24, 2016
517cdcd
AddJoinListEvent, and stat at the correct place in the code
Mar 24, 2016
34e4e90
Merge pull request #130 from uber/ws-refactor-calls-discoProvider-wai…
CorgiMan Mar 25, 2016
a63584b
bi-directional full syncs
Mar 23, 2016
4c2a96a
Merge pull request #134 from uber/ws-bidirectional-full-sync
CorgiMan Apr 1, 2016
20e0c84
Fix mocks not being generated on Travis
dansimau Apr 12, 2016
42fdb26
Update last known good
dansimau Apr 12, 2016
b009e2e
Merge branch 'fix/upstream-mockery-change'
dansimau Apr 13, 2016
8de97d4
Check for race conditions on Travis
dansimau Apr 13, 2016
8496ff2
Merge branch 'test-race-conditions-travis'
dansimau Apr 14, 2016
4a65614
Partition healing (#135)
CorgiMan Apr 15, 2016
196dd58
Feature/reaping faulty nodes (#132)
thanodnl Apr 22, 2016
1967955
Release notes for ringpop-go v0.5.0.
Apr 29, 2016
542a093
Add extra release notes about rolling out the upgrade within 24 hours.
Apr 29, 2016
7b3c865
fix a typo.
Apr 29, 2016
2496491
Add 1-buffer for error channels
motiejus Apr 28, 2016
a0b489d
Add 1-buffer for error channels (#140)
motiejus May 2, 2016
01cba41
Merge remote-tracking branch 'origin/motiejus-buffered-errchan-0.5' i…
May 2, 2016
11080bd
add #140 to changelog.
May 2, 2016
5b29775
Extra information about rollbacks and tombstones.
May 3, 2016
87447b9
Merge pull request #139 from uber/release-v0.5.0
thanodnl May 3, 2016
67f5ed4
Merge remote-tracking branch 'origin/master' into dev
May 3, 2016
f739dac
Support headers forwarding (#141)
severb May 12, 2016
1c882c8
Don’t change the hostlist in place to prevent race conditions when a …
thanodnl May 17, 2016
5ac47e8
add suspect, faulty and tombstone period flags (#148)
CorgiMan May 31, 2016
a83893b
Install pre-commit hook (#149)
mennopruijssers Jun 8, 2016
3b513c7
When creating the change for reincarnation use your self as the sourc…
thanodnl Jun 9, 2016
039bdd5
Emit lookup and lookupn stat and add a lookupn-event (#152)
mennopruijssers Jun 10, 2016
40235ee
Update testpop to emit stats to network or file (#144)
severb Jun 10, 2016
100218b
Fix double reincarnation (#153)
thanodnl Jun 13, 2016
ecab2d3
go fmt testpop.go (#154)
CorgiMan Jun 22, 2016
ededf80
Move ringpop-go to glide (#151)
motiejus Jun 25, 2016
6a071f7
Release notes for ringpop-go v0.6.0. (#155)
motiejus Jun 27, 2016
d9cda87
Local changes
Jun 27, 2016
fb337ad
Refresh to master
Jun 27, 2016
6575440
Tap on another ring and gets its status
Nov 13, 2015
ea5a76f
Add an example to use the new tapping feature
Nov 13, 2015
39c6c3d
Add a remote ring app name as an option to tap ring
Dec 18, 2015
ff8e9a0
Local changes
Jun 27, 2016
9a1c38e
Refresh to master
Jun 27, 2016
1018d64
Merge remote-tracking branch 'origin/ring_tapping' into ring_tapping_…
Jul 21, 2016
c253d10
local resolution
Jul 21, 2016
82026e5
Fix and resolve conflicts
Jul 21, 2016
1bf8421
Remove swap file which was included accidentally
Jul 21, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.DS_Store
testpop
hosts.json
coverage.out
lint.log
/vendor/
35 changes: 35 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
language: go
go:
- 1.6
- 1.5

install:
- go get -u github.com/Masterminds/glide
- go get github.com/axw/gocov/gocov
- go get github.com/mattn/goveralls
- go get golang.org/x/tools/cmd/cover
- go get github.com/golang/lint/golint
- ./scripts/travis/get-thrift.sh
- ./scripts/travis/get-thrift-gen.sh
- make setup

env:
- RUN="make lint"
- RUN="make test-unit"
- RUN="make test-integration"
- RUN="make test-race"

matrix:
allow_failures:
- env: RUN="make test-race"
fast_finish: true

script:
- test/travis

after_success:
- test/update-coveralls

cache:
directories:
- $HOME/.glide/cache
190 changes: 190 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
ringpop-go changes
==================

v0.6.0
------------

* Fix: add 1-buffer for error channels, prevents leaking goroutines. #140
* Feature: support forwarding headers. #141
* Feature: testpop takes an additional -stats-udp or -stats-file flag that can
be used to emit statsd messages to a file or over the network. #144
* Fix: race condition when loading hostlist in discover provider. #145
* Testing: add suspect, faulty and tombstope period command-line flags to
testpop. #148
* Fix: use oneself as a source when creating a change for reincarnation. #150
* Maintainability: move from godep to Glide. #151
* Maintainability: emit lookup and lookupn stats and add a lookupn-event. #152.
* Fix: do not reincarnate twice unnecessarily. #153

v0.5.0
------

* Feature: Automatic healing of fully partitioned rings that could be cause by
temporary network failure. #135 #128 #129
* Fix: Fullsyncs are now executed in both directions to prevent persistent
asymmetrical partitions. #134
* Fix: Overcome protocol incompatibilities in the dissemination of tombstones
for the reaping of faulty nodes. #133 #132
* Fix: Leaking goroutines on an error response after a timeout. #140
* Maintainability: Refactor of internal use of the Discovery Provider. #130
* Testing: Pin mockery to a specific version for testing stability. #136
* Testing: Add Go race detector on CI. #137

### Release notes

#### Deploying from older versions

It is advised to complete the deployment of this version within 24 hours after
the first node is upgraded. Since the reaping of faulty nodes is added to this
release a node that upgraded to this version will mark all the faulty members of
the ringpop cluster as tombstones (the new state introduced for the reaping of
faulty nodes) 24 hours after the deploy. If older versions of ringpop run in a
cluster that starts declaring these `tombstones` the cluster will jump in endless
fullsyncs mode. Ringpop operates normally under these conditions but extra load
on both network and CPU are in effect during this time. The fullsyncs will
automatically resolve as soon as all members are upgraded to this version. Same
might happen during a partial rollback that operates for a longer period of time.

v0.4.1
------

* Reverting reaping faulty nodes feature temporarily while investigate backwards
compatibility issues.

v0.4.0
------

* Feature: Faulty nodes are now automatically reaped from nodes' membership
lists after (24 hours by default). #123
* New options for controlling suspect and reaping times. #123
* Add new `Ready` and `Destroyed` events to ringpop. #125
* Add additional logging to bring ringpop-go on par with ringpop-node log
messages. #116
* Fix bug where Ringpop automatically added itself to the bootstrap hosts for
host-based bootstrapping, but not other bootstrapping methods. #120
* Fix race condition where membership and hashring could be inconsistent with
each other. #112
* Remove `File` and `Host` options from bootstrap options in favor of
`DiscoverProvider` interface. #120
* Add Go 1.6 to testing on CI

### Release notes

#### Version incompatibility in protocol

Since 0.4.0 introduces a new node/member state, 0.4.0 is not backwards-compatible with previous versions.

Note rolling upgrades with older versions do work, but undefined behaviour will occur if two versions run in parallel for longer than the `FaultyPeriod` (default 24 hours).

#### Changes to Bootstrap

This release contains a breaking change to the options provided to the
`ringpop.Bootstrap` call.

`BootstrapOptions.File` and `BootstrapOptions.Hosts` have been replaced with
`BootstrapOptions.DiscoverProvider`. `DiscoverProvider` is an interface which
requires a single method:

```go
type DiscoverProvider interface {
Hosts() ([]string, error)
}
```

Ringpop comes with DiscoverProviders for the previous `File` and `Hosts`
options out of the box.

To upgrade if you were previously using `File`:

```diff
+ "github.com/uber/ringpop-go/discovery/jsonfile"
...
- bootstrapOpts.File = *hostfile
+ bootstrapOpts.DiscoverProvider = jsonfile.New(*hostfile)
```

For static `Hosts`:

```diff
+ "github.com/uber/ringpop-go/discovery/statichosts"
...
- bootstrapOpts.Hosts = []string{"127.0.0.1:3000", "127.0.0.1:3001"}
+ bootstrapOpts.DiscoverProvider = statichosts.New("127.0.0.1:3000", "127.0.0.1:3001")
```


v0.3.0
------

* Fix "keys have diverged" forwarding error for retries #69
* Fix possible race in disseminator #86
* Fix possible issue with leave state not being applied correctly #94
* Fix issues where unnecessary full syncs could occur #95, #97
* Improvements to join:
* Join retries now have exponential backoff #68
* Improved resilience to possible partitions at startup #65
* Reduce network chatter on join #85
* Hashring performance improvements (see discussion on [#58](https://github.com/uber/ringpop-go/pull/58#issuecomment-169653883)) #58
* Revamped logging; new logger options #83
* New stats to aid partition detection #92, #104
* Improved test coverage across the board
* Update and test with latest TChannel (v1.0.3) #103
* Various fixes and improvements to test infrastructure


v0.2.3
------

* Fix retry mechanism for forwarded requests. When multiple keys are forwarded
and a retry is attempted, the retry would fail with a "key destinations have
diverged" error.


v0.2.2
------

* Fix goroutine leakage on forwarded requests that time out


v0.2
----

* Add Thrift forwarding support #31
* Add `Ringpop.Ready()` #32
* Add `Ringpop.GetReachableMembers()` and `Ringpop.CountReachableMembers()` #29
* Add `Ringpop.Forward()` #26
* Lazy initialization and identity autodetection #40
* Improve stats and bring them in-line with those emitted by ringpop-node #46
* Automatically add self to bootstrap list #41
* Improve HashRing API #38
* Improve tests #35
* Improve constructor options pattern for Ringpop #33
* Disable TChannel retries and zipkin tracing #28
* Fix headers sent with forwarded requests #22

### Release notes

There are a significant number of breaking changes in this release:

* Ringpop constructor has been renamed from `Ringpop.NewRingpop` to `ringpop.New(app string, opts ...Option)` and now accepts optional functional arguments. See the [package documentation](https://godoc.org/github.com/uber/ringpop-go#Option) for a list of options.
* `ringpop.Bootstrap` now accepts `swim.BootstrapOptions`. `ringpop.BootstrapOptions` has been removed.
* Many public methods now return an error if they are called before the ring is bootstrapped. Signatures for the changed methods are:
* `Bootstrap(opts *swim.BootstrapOptions) ([]string, error)`
* `Checksum() (uint32, error)`
* `Lookup(key string) (string, error)`
* `LookupN(key string, n int) ([]string, error)`
* `Uptime() (time.Duration, error)`
* `WhoAmI() (string, error)`
* Removed public method `ringpop.Destroyed()`. Use the new `ringpop.Ready()` to determine if the ring is ready or not.
* Events moved to `ringpop.events` package. This includes:
* `EventListener`
* `RingChangedEvent`
* `RingChecksumEvent`
* `LookupEvent`
* The behaviour of creating a single-node cluster has changed. Calling `Bootstrap()` with no bootstrap file or hosts will now cause Ringpop to create a single-node cluster.


v0.1
----

* Initial public release
35 changes: 32 additions & 3 deletions Godeps/Godeps.json

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

5 changes: 0 additions & 5 deletions Godeps/Readme

This file was deleted.

2 changes: 0 additions & 2 deletions Godeps/_workspace/.gitignore

This file was deleted.

This file was deleted.

8 changes: 0 additions & 8 deletions Godeps/_workspace/src/github.com/Sirupsen/logrus/.travis.yml

This file was deleted.

41 changes: 0 additions & 41 deletions Godeps/_workspace/src/github.com/Sirupsen/logrus/CHANGELOG.md

This file was deleted.

21 changes: 0 additions & 21 deletions Godeps/_workspace/src/github.com/Sirupsen/logrus/LICENSE

This file was deleted.

Loading