mikebridge commented on PR #41824:
URL: https://github.com/apache/superset/pull/41824#issuecomment-4897852942

   Final validation round pushed in `beeb91ac83` — two independent validators 
beyond the review panels:
   
   **Independent second-model review (OpenAI Codex, adversarial)** found one 
real race the panels missed — introduced by round 3's own optimization: the 
key-based prune could drop a **freshly re-registered same-key entry** (a 
concurrent `store_result` re-executing the same query re-registers the same 
canonical value key with a live value). Fixed by pruning on **entry identity** 
(frozen dataclass, timestamp included) — zero-backend-calls-under-lock 
preserved — and pinned by a deterministic choreography test that fails under 
the key-based mutation. Its three smaller items are also in: the single-attempt 
stale-break retry is now pinned by a test, the staleness boundary is pinned 
with frozen time (`>`→`>=` now fails), and the docstring names the third 
best-effort window (plain TTL expiry of a stalled critical section).
   
   **Live-Redis validation** (real `cachelib.RedisCache` against the dev-stack 
Redis — the protocol had only ever run against in-memory fakes):
   - **8 threads × 40 contended updates on one bucket → 320/320 entries, zero 
losses, zero skips**, 0.65 s
   - A genuine TTL-less SETNX orphan (created via cachelib's own serializer, 
verified `TTL == -1`) broken and recovered by the next writer
   - The release fence declining a real foreign token; a fresh foreign lock 
skipped in 0.6 ms without being broken; the acquired lock carrying a real 2 s 
Redis TTL
   
   Suite: **390 passing** — twelve dedicated lock-protocol/concurrency tests, 
every one validated to fail under the exact mutation or pre-fix code it guards.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to