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

Enable pubsub by default #6621

Closed
1 of 3 tasks
alanshaw opened this issue Sep 4, 2019 · 10 comments
Closed
1 of 3 tasks

Enable pubsub by default #6621

alanshaw opened this issue Sep 4, 2019 · 10 comments
Labels
epic kind/enhancement A net-new feature or improvement to an existing feature
Milestone

Comments

@alanshaw
Copy link
Member

alanshaw commented Sep 4, 2019

In js-ipfs we're integrating gossipsub and moving pubsub out of "experimental" status. There are some changes we want to make to support this:

  1. Enable pubsub by default
    • This will add a small overhead to normal operation of the node but is worth it to allow people to pubsub without having to jump through hoops
  2. Add a config option Pubsub.Enabled that will allow power users to disable pubsub if necessary (done: feat: enabling pubsub and ipns-pubsub via config flags #8510)
  3. Deprecate --enable-pubsub-experiment flag for ipfs daemon
    • In js-ipfs we will just remove this, but I understand if you want to continue to support it for a period
@alanshaw alanshaw added the kind/enhancement A net-new feature or improvement to an existing feature label Sep 4, 2019
@Stebalien
Copy link
Member

@aschmahmann think you could tackle this?

@aschmahmann
Copy link
Contributor

@Stebalien No problem. Any thoughts on deprecating vs removing the experimental flag? Should we deprecate in 0.5.0 and remove and 0.6.0?

@Stebalien
Copy link
Member

Stebalien commented Sep 4, 2019

I'd leave it and hide it for now (maybe issue a warning). We can clean it up eventually.

alanshaw pushed a commit to ipfs/js-ipfs that referenced this issue Sep 5, 2019
As discussed, we will remove the pubsub flags from the js daemon and will use the config as the way to disable it (will be enabled by default now!)

Needs:

- [x] [ipfs/js-ipfsd-ctl#366](ipfs/js-ipfsd-ctl#366)

Reference:

- [ipfs/kubo#6621](ipfs/kubo#6621)

BREAKING CHANGE: pubsub is now enabled by default and the experimental flag was removed
@Stebalien
Copy link
Member

Also:

  1. Use pubsub's new built-in discovery system instead of literally putting a block advertising our interest in the topic into the blockstore.
  2. Manage pubsub topics. This may involve changing the API. At the moment, calling pubsub publish will "join" the topic permanently.
  3. Pass pubsub.WithReadyness(pubsub.MinTopicSize(1)) on publish so we don't publish into the void. We can pass a context with a short (1-10s) timeout to avoid blocking forever.
  4. Use the non-deprecated topic.Publish function so we can actually pass in a context.

@Stebalien
Copy link
Member

@lidel
Copy link
Member

lidel commented Jan 20, 2021

Note for later:

Many people run --enable-pubsub-experiment (or --enable-namesys-pubsub)
and we cannot break their infra when experiment becomes the default.

Right now (go-ipfs 0.8.0), when a flag is removed, go-ipfs returns hard error:

$ ipfs daemon --removed-fla
Error: unknown option "removed-flag"

@Stebalien
Copy link
Member

Stebalien commented Jan 20, 2021 via email

@FledgeXu
Copy link

Any progress about this?

@lidel
Copy link
Member

lidel commented Dec 6, 2021

Quick update:

I created #8591 for tracking IPNS-over-pubsub chunk separately.
Let's keep this one around pubsub alone.

Are there any other blockers?

@Jorropo
Copy link
Contributor

Jorropo commented Mar 10, 2023

This require too much out of goal work so we are gonna kill it in 0.20: #9717

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic kind/enhancement A net-new feature or improvement to an existing feature
Projects
No open projects
Archived in project
Development

No branches or pull requests

7 participants