Hacker News new | ask | show | jobs
by marindez 3180 days ago
It's reasonable they don't want to fix it because it will break existing URLs. Welcome to the ugly world of back compatibility.
2 comments

They could make it configurable on a per bucket basis (perhaps defaulting to the old behaviour if necessary; ideally you would make the conformant behaviour the default, of course).

That way you could opt in to the standard conformant behaviour if you require it, but they can still keep backward compatibility.

I'm not familiar with how S3 works in detail, but I imagine this could require additional API calls in the backend which increases the latency and resource usage of API requests. In the worst case, such a change could easily require Amazon to purchase dozens, if not hundreds of additional servers.
With the rate of AWS growth, they probably bought dozens more servers in the time it took you to write out your response. :)
Likely, but Amazon didn't get where they are by ignoring small costs.
Or use a different domain for the same buckets, and resolve the name correctly on this new domain.
They could compromise by adding a few more lines of code and having '+' resolve to ' ' if and only if the file can't be found with '+', or vice versa.

Immidiatly mark this behaviour as deprecated and switch over to proper '+' == '+' behaviour later.

edit: LiquidFire's idea is better.

That would require synchronisation, potentially between multiple servers. Doing this efficiently, without race conditions could be very tricky at their size.
It also makes lookups ambiguous if you have both. :)