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

So we started encoding, we said, oh, this is encoding Trio 7s as, it's saying these Trio 7s have a content length of 200 megabytes or whatever the eventual image size is going to be.

Rust in Production
Cloudsmith with Cian Butler

Let's not do that.

Rust in Production
Cloudsmith with Cian Butler

That's what's breaking this.

Rust in Production
Cloudsmith with Cian Butler

Let's respond with actual valid HTTP and say the content length is zero.

Rust in Production
Cloudsmith with Cian Butler

So we did that, and Docker freaked out.

Rust in Production
Cloudsmith with Cian Butler

It started... Well, actually, we ran tests, and they were working.

Rust in Production
Cloudsmith with Cian Butler

We were like, great, our end-to-end tests are still working in this.

Rust in Production
Cloudsmith with Cian Butler

This is fine.

Rust in Production
Cloudsmith with Cian Butler

And then one of our developers came in and said, hey, I can't get my local dev to start.

Rust in Production
Cloudsmith with Cian Butler

So we started debugging it.

Rust in Production
Cloudsmith with Cian Butler

And it turned out that their local dev was getting the wrong metadata.

Rust in Production
Cloudsmith with Cian Butler

And my local dev was working completely fine.

Rust in Production
Cloudsmith with Cian Butler

And that's where it became really weird.

Rust in Production
Cloudsmith with Cian Butler

I was using BuildX and they were not using BuildX for building their Docker images and running their Docker images.

Rust in Production
Cloudsmith with Cian Butler

And that's when we realized it was very specific clients were doing stuff differently.

Rust in Production
Cloudsmith with Cian Butler

Some of them were checking the metadata from the header and some of them were doing the maths themselves and putting it in there.

Rust in Production
Cloudsmith with Cian Butler

We rolled back the change of the header.

Rust in Production
Cloudsmith with Cian Butler

We then moved, we then, and we moved the logic around.

Rust in Production
Cloudsmith with Cian Butler

We moved the validation of the content length out to the edge network.

Rust in Production
Cloudsmith with Cian Butler

So we could do some like after our load balancers had done all their work and hyper had changed.