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

Remove fuse mechanism #97

Closed
arnecls opened this issue Apr 20, 2017 · 1 comment
Closed

Remove fuse mechanism #97

arnecls opened this issue Apr 20, 2017 · 1 comment
Assignees
Projects
Milestone

Comments

@arnecls
Copy link
Contributor

arnecls commented Apr 20, 2017

We introduced a fuse mechanism some time ago.
The idea was to have a circuit break mechanism in place that allows producers to stop consumers from pushing new messages into the system. Producers ought to "burn" a fuse in certain high pressure situations and "replace" it when pressure has been removed from the system.

In practices we saw several problems with that approach

  1. Producers have to identify situations where it makes sense to burn a fuse. This turned out to be a tricky question and most plugin authors simply ignore that feature probably because of this
  2. Consumer need to react on burned fuses. Fuses cannot be integrated well into the core because consumers need to react differently on a burned fuse.
  3. Fuses tend to convert non-blocking consumers into blocking consumers potentially breaking systems further up (i.e. the systems sending data to gollum)

So in short: Developers were either not aware of the feature and/or it was to confusing to use. It introduced unwanted side effects and missed the purpose in many situations.

As of this I would rather see this feature being removed and maybe replaced by another system that is more dynamic like reactive streams.

@arnecls arnecls added this to the v0.5.0 milestone Apr 20, 2017
@arnecls arnecls added this to Backlog in v0.5.0 Apr 24, 2017
@ppar ppar self-assigned this May 3, 2017
arnecls added a commit that referenced this issue May 5, 2017
@ppar
Copy link
Contributor

ppar commented May 5, 2017

Done in #109

@ppar ppar closed this as completed May 5, 2017
@arnecls arnecls moved this from Backlog to Done in v0.5.0 May 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

2 participants