Your question is Debugging an Error in Code. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
You're a software engineer on Sentry's event-ingestion team. This Node.js handler processes incoming error events from SDKs before they're stored, and it has started throwing in production under real traffic.
const counts = {};
function processEvent(event) {
const payload = JSON.parse(event.body);
const key = payload.projectId + ":" + payload.environment;
counts[key]++;
if (counts[key] > event.rateLimit) {
sendResponse(429, "rate limited");
}
if (payload.environment == 0) {
sendResponse(400, "invalid environment");
}
const severity = payload.level === "error" ? "high" : "low";
storeEvent(payload, severity);
sendResponse(200, "ok");
}
function sendResponse(status, message) {
console.log(status, message);
}
function storeEvent(payload, severity) {
console.log("stored", payload.id, severity);
}
Read through the handler and identify every issue you can find that would cause it to behave incorrectly or crash in production, including the specific error that would surface first. Explain what's wrong with each one and what you'd change.