For the sake of concreteness, what would be an example of the live lock
scenario?

On Tuesday, December 31, 2013, Devin Jeanpierre wrote:

> On Tue, Dec 31, 2013 at 4:40 PM, Jason Fager <jfa...@gmail.com<javascript:;>>
> wrote:
> > About the deadlock scenario, why aren't non-blocking sends sufficient to
> > address that concern? I'd personally argue just as strenuously as for
> > bounded channels that robust systems shouldn't have senders that block
> > indefinitely (nothing like waking up to a production server that's hung
> on a
> > socket someone removed the timeout from).
>
> They are clearly sufficient to eliminate deadlock, since nothing
> blocks anymore. (Livelock is still possible, though.)
>
> > Even if you don't OOM, channels that are too large are themselves a major
> > problem.  If you actually use your hardware you only have so much
> capacity.
> > If your channel's getting backed up it's probably for a reason; when that
> > reason gets resolved you're going to need to go back to handling your
> normal
> > load plus everything you've been back-logging on your unbounded channels.
> > That's one of the main things you tune with bounded channels: how backed
> up
> > can this reasonably be before I just can't catch up anymore?
>
> Such a bound only exists in predictable environments. Most of the time
> I would expect people to ask a different question, like "how backed up
> can this be before I can conclude something has gone wrong?" or "how
> backed up can this be before I just don't care anymore?"
>
> -- Devin
> _______________________________________________
> Rust-dev mailing list
> Rust-dev@mozilla.org <javascript:;>
> https://mail.mozilla.org/listinfo/rust-dev
>
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to