-
Notifications
You must be signed in to change notification settings - Fork 110
pubsub makes no guarantee on Windows and with go-ipfs #188
Conversation
@richardschneider this looks like an incorrect assessment. The tests have shown only that go-ipfs misses delivering messages to itself (having the same node be the publisher and the subscriber) only on Windows which tells us that there might be some real issue and not just a protocol design. There have been more users that reported the same. |
Took a look at
Duplicate sequence number can be produced
|
@richardschneider added a check to see if the test is being run with go-ipfs. However, we should also check if it is Windows given that the issue only happens there. We can't use the |
@diasdavid Maybe aegir could set an environment variable like |
@diasdavid The issue was not really Windows related but was related to the resolution of the system clock; see issue libp2p/go-libp2p-pubsub#52. The fix is in the pipe-line. So it should be resolved in the next go release. Let's merge this but raise an issue to re-test when next go release is available. |
@Stebalien ETA for the next go-ipfs release? |
@diasdavid @Stebalien still waiting on the next go release, any estimate? |
"soon", unfortunately, this is a very big release. We need to get ipfs/kubo#4610 merged first, then test it, and then fix any fallout. |
@richardschneider let's do a skip on Windows + go-ipfs for these tests and add a |
@diasdavid Code to skip if RTM |
Tested with js-ipfs (Linux) and js-ipfs-api (Linux, Windows). |
js/src/pubsub.js
Outdated
@@ -13,6 +13,11 @@ const whilst = require('async/whilst') | |||
const each = require('async/each') | |||
const hat = require('hat') | |||
|
|||
let isWindows = false | |||
if (process.platform && process.platform === 'win32') { |
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.
const isWindows = process.platform && process.platform === 'win32'
Doesn't standard warn you here that this is a uneccessary conditional?
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.
Good catch. I didn't get a warning but fixed it nonetheless.
Skip some tests because pubsub,
go floodsub
, does not make any guarantee on message delivery.First reported in ipfs-inactive/js-ipfs-http-client#648