Move ETag cache handling to Workhorse?

We see from https://performance.gitlab.net/dashboard/db/events that we use the ETag middleware around 600K/hour:

image

We could reduce a lot of load and free up unicorn if we handled this in Workhorse.

What issues are there with offloading more of this work to Workhorse? Could we just check for cache hit and return Not Modified, or are there user authentication issues we also need to consider?

/cc: @adamniedzielski, @ayufan, @pcarranza

Edited Jun 17, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading