Code RoomPayment processes twice
HardPrep Room Coding #2162

Payment processes twice

Code reviewNetworking & APIsSenior–Staff~22 min

Review this Node consumer that processes payment events from an at-least-once queue.

What a strong answer looks like

Separate real bugs from style. Rank issues by severity, point at the root cause rather than the symptom, and suggest a concrete fix, specific and kind.

0:00 of about 22 min
Mark a line and say what kind of problem it is.0 findings
1async function handle(msg) {
2 const { paymentId, amount, userId } = JSON.parse(msg.body);
3 await db.query(
4 "UPDATE accounts SET balance = balance + $1 WHERE id = $2",
5 [amount, userId]
6 );
7 await ledger.insert({ paymentId, amount, userId });
8 await msg.ack();
9}
Which questions mattered is sealed until you submit. Telling you now would just be handing over the edge cases.