2d7c7f2c357440a5174974e83019ad088a0e2c49
Qdrant upserts were failing with 'This operation was aborted' ~32x/2h, so semantic moderation cache entries were silently dropped. Root cause: upsertQdrantPoint ran ensureQdrantCollection() on EVERY call — a GET (and sometimes DELETE+PUT) round-trip — while the request AbortController had only a 10s timeout. Under moderation load Qdrant is busy (the gmw_text_moderation collection is not yet HNSW-indexed, so searches are full-scans), the extra round-trips pushed the upsert past 10s, and the client aborted it. - Memoise ensureQdrantCollection() at module scope so the collection is verified exactly once per process (resetQdrantCollectionCache() for tests / config reload). - Bump the upsert request timeout 10s -> 30s so a transiently busy Qdrant no longer aborts the write. Qdrant server itself is healthy (<100ms for direct upsert; collection is green), so no server-side change is needed. Semantic cache should now populate reliably.
Description
Bete Discord moderation watcher
27 MiB
Languages
TypeScript
96.9%
Nix
1.2%
Shell
0.9%
CSS
0.5%
PLpgSQL
0.5%