)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ad49d0261e0697f4343d6f9295a4ae4da74b613e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c234d290_ef551167","updated":"2025-11-06 16:11:47.000000000","message":"less warnings seems better than more warnings I think?\n\nI\u0027m probably not going to change the name to `DebugMemcacheRing` but I think it might be slightly more idiomatic and descriptive?  What do you think!?","commit_id":"8a09a2a966735d5878c92e2511fae91a1d103e92"}],"test/unit/__init__.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ad49d0261e0697f4343d6f9295a4ae4da74b613e","unresolved":true,"context_lines":[{"line_number":479,"context_line":"del track"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"class CaptureMemcacheRing(memcached.MemcacheRing):"},{"line_number":483,"context_line":"    \"\"\""},{"line_number":484,"context_line":"    Real MemcacheRing that captures calls before forwarding them to the super"},{"line_number":485,"context_line":"    class, and supports injectable errors for testing concurrent scenarios."}],"source_content_type":"text/x-python","patch_set":1,"id":"8505f69b_cafc6773","line":482,"updated":"2025-11-06 16:11:47.000000000","message":"oic, we have all the `(set|incr|get|del)_calls.append` code - so this is a `CapturingAndInjectableMemecacheRing`\n\nit\u0027s too bad - I think `Testable` was actually a really good name and I can\u0027t think of a better one; my goto would be Fake/Mock/Stub and none of those apply.\n\nMaybe just `DebugMemcacheRing` in that we use it to make sure we don\u0027t write bugs and to see WTH is going on with our memcache calls!?  It would match `DebugLogger`?","commit_id":"8a09a2a966735d5878c92e2511fae91a1d103e92"}]}
