Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing

Cian Butler

๐Ÿ‘ค Speaker
690 total appearances

Appearances Over Time

Podcast Appearances

Rust in Production
Cloudsmith with Cian Butler

One of the bottlenecks I found was we were wasting cycles doing work for connections that had already closed.

Rust in Production
Cloudsmith with Cian Butler

Why is that?

Rust in Production
Cloudsmith with Cian Butler

It's a little to do with our queuing model and a little bit to do with request management in uWhiskey, the process we were using.

Rust in Production
Cloudsmith with Cian Butler

Effectively, if a request had sat in the queue for too long, it would be handed over to uWhiskey.

Rust in Production
Cloudsmith with Cian Butler

uWhiskey would do it and it would time out in the upstream because it had been processing for longer than a minute.

Rust in Production
Cloudsmith with Cian Butler

But there's no way to cancel the request once it's in flow.

Rust in Production
Cloudsmith with Cian Butler

We would benefit from it because we do all the work and cache the result.

Rust in Production
Cloudsmith with Cian Butler

So the request would have been retried and would be in the queue.

Rust in Production
Cloudsmith with Cian Butler

And by the time it gets to the front of the queue, all its results are cached.

Rust in Production
Cloudsmith with Cian Butler

So it was a nasty flow, but we kind of optimized for it.

Rust in Production
Cloudsmith with Cian Butler

But I thought to myself, this feels insane.

Rust in Production
Cloudsmith with Cian Butler

There's no guarantee that that request is going to be cached or it's going to be re-driven.

Rust in Production
Cloudsmith with Cian Butler

Most of the time it is.

Rust in Production
Cloudsmith with Cian Butler

We're dealing with some of the... I think someone recently described some of our clients as some of the best and worst clients in the world because they're designed for public infrastructure since they're all package management clients.

Rust in Production
Cloudsmith with Cian Butler

So they have a lot of retries, but they have a lot of weird formats.

Rust in Production
Cloudsmith with Cian Butler

We're dealing with some of the best and worst clients.

Rust in Production
Cloudsmith with Cian Butler

So we know a lot of things are going to be like retried and attempted again.