Compute cache - swr oddness?

We use compute services a bit. But we’ve noticed something a little odd, when there’s an object in the http cache for an origin request, but it’s stale it seems that we wait for the revalidation request to complete before the cached object is delivered to the compute code; despite the swr config implying that it should be possible to use the stale object.

This seems to be different from the VCL behaviour and what the docs say.

This means that we get a repeated pattern of slow requests around the time of the ttl running out. And because of request collapsing, we might have quite a few other request also waiting on the first one to populate the cache and complete, so we get a few slow requests.

This seems to defeat the purpose of swr.