4 ms·
Design decisions are not the "why"s. Commits are point in time checkpoints why development took a certain path. Let's take an example. If a what looks like thi
by xorcist 4y ago
Design decisions are not the "why"s. Commits are point in time checkpoints why development took a certain path. Let's take an example.
If a what looks like this: Store user full name in session table
The why can look something like this:
The full name is authoritatively stored in the user database and should be looked in using the user name. However, during deploys of the Raticate system, the cache gets invalidated and we need to quickly refresh it. This leads to a thundering herd system, as in incident 5244. By caching the full name in the session table we sidestep this problem entirely.
The reason why the Redis cache was not chosen for this data is because the session object is handed to the checkout system for processing, which can for security reasons, as described in document 7745, not access Redis.
- ilyt 4y agoAnd why that should not be in the docs or comments but in some random commit that people will only read when it shows up in git blame ?