Skip to content

Conversation

@DougReeder
Copy link
Contributor

Instead of maintaining folder descriptions itself, uses S3 list and HEAD commands to calculate folder descriptions, which are then cached as S3 blobs. Content-Type, which S3 inexplicably doesn't natively return in list commands, is cached as 0-length blobs next to their content blobs. Once the Content-Type blobs are written, complete folder descriptions can be generated from S3 list commands. When a document is updated, all its ancestor folder description caches are deleted. Thus, restoring or updating many documents is efficient.

This also facilitates integrations with non-RS software — after updating S3 blobs (documents), it just needs to delete the ancestor folder description caches.

Separately, when server is overloaded, Retry-After headers for 503 and 429 are proportional to the overload, giving negative feedback which keeps the server operating at maximum throughput.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants