Skip to content

Feat/acronym search 02 redis cache - #5

Open
borkarsaish65 wants to merge 3 commits into
ELEVATE-Project:release-2.1.0from
borkarsaish65:feat/acronym-search-02-redis-cache
Open

Feat/acronym search 02 redis cache#5
borkarsaish65 wants to merge 3 commits into
ELEVATE-Project:release-2.1.0from
borkarsaish65:feat/acronym-search-02-redis-cache

Conversation

@borkarsaish65

Copy link
Copy Markdown

No description provided.

Adds Alembic with a no-op baseline revision for the pre-existing
unmanaged translations table, plus a migration that creates
acronym_mapping (id PK, expansions as JSONB array, description,
composite index on acronym+is_active) and seeds it from
data/acronyms.csv, now the real 599-acronym dataset.
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 48a044fc-4833-4079-98af-7ec29af9bb88

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

get_expansion() checks Redis first, falls back to Postgres on miss,
writes through to cache; warm_cache() pre-populates every active
acronym at startup. Redis pieces (cache_client.py, redis_client.py)
stay acronym-agnostic; only acronym_service.py knows about acronyms,
JSON-encoding the expansions array for the string-only cache layer.
@borkarsaish65
borkarsaish65 force-pushed the feat/acronym-search-02-redis-cache branch from 57ea05e to f160cd7 Compare August 14, 2026 07:36
get_expansion() only handled a cache miss (Redis says "not found"),
not a cache error (Redis unreachable/timing out) — the latter raised
straight out of the function before Postgres was ever tried, so a
Redis outage broke every acronym-detected search instead of just
degrading it. Now both the cache read and the write-through are
guarded: any Redis error logs a warning and falls back to Postgres,
matching the fallback behavior main.py's startup path already
assumes exists.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant