Commit 4762b2c
fix: use deterministic hash for ETag generation
Python's built-in hash() is salted by default (PYTHONHASHSEED),
producing different values across processes. This causes ETags to
change on service restart or differ between backends behind a load
balancer, invalidating the cache unexpectedly.
Replace hash() with hashlib.md5() which produces consistent values.
MD5 is used for speed since this is for caching, not security.
Fixes #400
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>1 parent b2143ef commit 4762b2c
1 file changed
Lines changed: 13 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
1 | 2 | | |
2 | 3 | | |
3 | 4 | | |
| |||
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
69 | 80 | | |
70 | 81 | | |
71 | 82 | | |
| |||
199 | 210 | | |
200 | 211 | | |
201 | 212 | | |
202 | | - | |
| 213 | + | |
203 | 214 | | |
204 | 215 | | |
205 | 216 | | |
206 | 217 | | |
207 | 218 | | |
208 | 219 | | |
209 | | - | |
| 220 | + | |
210 | 221 | | |
211 | 222 | | |
212 | 223 | | |
| |||
0 commit comments