Chapter 15: PEP Changes — db-mux Migration
What's Changing in PEP
Migrating from db-proxy to db-mux for:
- Session engine (session blob read/write)
- Sequence number allocator
- ID generators (TEID, SEID)
- Retransmission cache
Why Batching Doesn't Help in PEP
PEP's DB access pattern is fundamentally different from DP:
- Session is stored as one blob (single SET/GET) — already optimal
- Retransmission lookup happens BEFORE session processing — can't batch with session write
- Different sessions use different hash slots — can't MSET across sessions
- Fire-and-forget writes after session completion don't add to end-to-end latency
Benefit: Pure CPU Savings
Even without batching, switching to db-mux saves CPU (zero allocs vs 2-3 per command). For PEP this is less critical (PEP is easier to scale out) but still worthwhile.
Gerrit Changes
PCPB-25616: Use dbmux for session engine and seqno allocatorPCPB-25616: Use dbmux for session engine, id generators, TEID/SEID generatorsUse dbmux in db-id-generator instead of db-proxy(up-common)