On Tue, Dec 31, 2013 at 4:40 PM, Jason Fager <jfa...@gmail.com> 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
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to