-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
namesys/pubsub: pubsub Publisher and Resolver #4047
Conversation
dbfbf81
to
61b2613
Compare
7d7d693
to
a477208
Compare
|
7ee2ec4
to
08b519e
Compare
Updated for changes in the command interface. |
it's not clear why jenkins failed -- all the not ok's are marked as known breakages. |
@vyzo I restarted both the broken travis build and the jenkins build. Both fail, but at different places. Travis:
It looks like Jenkins:
|
wow, that's very unfortunate. I wonder if there is a version of echo that works correctly, otherwise i'll have to use touch with a unique filename.
that's completely unrelated to this PR. |
Changed the sharness test to use |
Another jenkins failure, similar to the first one -- all the |
note that circle and travis were successful. |
@vyzo we use |
@Stebalien could you check out the gx deps here? I think that the go-testutil dep is a bit wonky (other things are importing the old go-testutil) |
Dammit. I did not mean to update that package. Let's try this again from the bottom. |
On the bright side, #4403 should fix that issue. Of course, it'll probably introduce a bunch of ever so fun merge conflicts. |
Commits: namesys: pubsub Publisher and Resolver namesys/pubsub: pacify code climate. namesys/pubsub: timeout for rendezvous namesys/pubsub: filter self in bootstrap connections namesys/pubsub: Publish to the correct topic License: MIT Signed-off-by: vyzo <[email protected]> namesys/pubsub: unit test Commits: namesys/pubsub: test namesys/pubsub_test: pacify code climate namesys/pubsub: update test to use extant mock routing License: MIT Signed-off-by: vyzo <[email protected]> namesys/pubsub: integrate namesys pubsub namesys: integrate pubsub resolvers namesys/pubsub_test: tweak delays - trying to make travis happy. namesys/pubsub: fix duplicate bootstraps - subscription key is topic, not ipnskey. namesys/pubsub: no warning needed on cancellation namesys/pubsub: warning for receive errors - and more informative error messages at that. namesys/pubsub_test: smaller test - make it work with seemingly low fdlimits in travis/macosx. also, more informative test failures. namesys/pubsub: add delay to let pubsub perform handshake namesys/pubsub: update gx imports namesys/pubsub_test: preconnect publisher, reduce delays - preconnects the publisher to the receivers in order to avoid bootstrap flakiness with connectivity problems in travis. reduces sleeps to 1s for flood propagation (3s seems excessive with 5 hosts). namesys/pubsub: drop named return values in resolveOnce - per review comment. namesys/pubsub: check errors namesys/pubsub: store bytes in resolver datastore namesys/pubsub: resolver Cancel - for canceling subscriptions, pre whyrusleeping's request. namesys/pubsub: fix resolution without /ipns prefix - also improve the logging a bit. namesys/pubsub: don't resolve own keys through pubsub namesys/pubsub: signal ErrResolveFailed on resolution failure namesys/pubsub: use sync datastore, resolver lock only for subs namesys/pubsub_test: coverage for Cancel License: MIT Signed-off-by: vyzo <[email protected]> namesys/pubsub: parallelize dht and pubsub publishing Commits: namesys/pubsub: code cosmetics namesys: parallelize publishing with dht and pubsub namesys/pubsub: periodically reprovide topic rendezvous namesys/pubsub: cancelation for rendezvous goroutine namesys/pubsub: log ipns record seqno on publish License: MIT Signed-off-by: vyzo <[email protected]> namesys/pubsub: error checking License: MIT Signed-off-by: vyzo <[email protected]> namesys/pubsub: --enable-namesys-pubsub option and management Commits: package.json: update go-libp2p-blankhost namesys: fix stale package imports update go-testutil namesys/pubsub: reduce bootstrap provide period to 8hr namesys/pubsub: try to extract the key from id first option to enable ipns pubsub: --enable-namesys-pubsub ipfs name pubsub management subcommands corehttp/gateway_test: mockNamesys needs to implement GetResolver pacify code climate License: MIT Signed-off-by: vyzo <[email protected]> namesys/pubsub: pubsub sharness test test/sharness: test for ipns pubsub namesys/pubsub: return boolean indicator on Cancel package.json: remove duplicate entry for go-testutil update gx deps, testutil to 1.1.12 fix jenkins failure: use tabs in t0183-namesys-pubsub t0183: use 4 spaces for tabification License: MIT Signed-off-by: vyzo <[email protected]> namesys/pubsub: update for new command interface License: MIT Signed-off-by: vyzo <[email protected]> namesys/pubsub: fix sharness test for broken MacOS echo echo -n "" should print -n, but hey it's a mac. License: MIT Signed-off-by: vyzo <[email protected]>
230d68d
to
e45df72
Compare
I squashed and rebased, the dependency issues should be fixed now |
Strange ipns related failure on jenkins, copied the failure logs here: https://gist.github.com/whyrusleeping/9f4bef1726577e14a67568b9cd997f5a Any chance this is related to the pubsub changes @vyzo ? cc @Stebalien as maybe this is a known random failure. |
the tests seem to have a 300ms timeout -- maybe that's the cause? |
@whyrusleeping can you rerun jenkins to see if the problem is persistent? |
@victorbjelkholm can you trigger this one to be rebuilt? And also tell me how to do it myself? |
namesys/pubsub: pubsub Publisher and Resolver This commit was moved from ipfs/kubo@66bde41
Implements a namesys publisher and resolver with pubsub.