Observability Lab 03 Quiz
Last Updated: September 13, 2026
- What is the order/outbox transaction boundary?
- A) Commit the order then ignore failed messaging.
- B) Both commit or roll back in one DB transaction.
- C) SNS and DB are automatically atomic.
- D) Initialize the DB for every request.
Show answer
Answer: B) Both commit or roll back in one DB transaction.
Validate DB rollback and retention of unpublished outbox records.
- Who owns the payment workload?
- A) Deployment and Rollout simultaneously.
- B) A single Rollout.
- C) KEDA and Rollout compete over replicas.
- D) Grafana.
Show answer
Answer: B) A single Rollout.
Keep controller ownership and Git desired state explicit.
- Why separate notification and analytics queues?
- A) Competing on one queue is fanout.
- B) So each consumer independently receives the same event.
- C) SQS supports only one queue.
- D) It eliminates all duplicates.
Show answer
Answer: B) So each consumer independently receives the same event.
SNS fanout and each consumer’s event-ID dedup are separate responsibilities.
- What happens to an identical repeated synthetic payment?
- A) Always create a new payment.
- B) Reuse the stored result; conflicting values return409.
- C) Charge a real card.
- D) Always succeed even without an order.
Show answer
Answer: B) Reuse the stored result; conflicting values return409.
The lab implements no real payment gateway.
- What if a crash occurs after SNS publication but before the DB mark?
- A) Exactly once is automatic.
- B) Redelivery is possible, so consumers need deduplication.
- C) Delete every outbox row.
- D) Always acknowledge the message.
Show answer
Answer: B) Redelivery is possible, so consumers need deduplication.
External side effects require additional idempotency contracts.
- Which workload scales with SQS backlog?
- A) Always only the API producer.
- B) That queue’s consumer.
- C) The database admin.
- D) The NLB.
Show answer
Answer: B) That queue’s consumer.
KEDA reads queue attributes; it does not consume messages.
- What should the canary success query select?
- A) All stable and canary traffic.
- B) Only the new pod-template revision.
- C) Every namespace.
- D) Only the predeployment average.
Show answer
Answer: B) Only the new pod-template revision.
Do not let large stable traffic hide a failing canary.
- How should empty/NaN/Inf results be treated?
- A) Always100% success.
- B) Do not pass the success condition.
- C) Convert all to zero and pass.
- D) Metrics are unnecessary.
Show answer
Answer: B) Do not pass the success condition.
Check minimum request counts and observability together.
- Which labels belong in metrics?
- A) Every order ID.
- B) Service, bounded route, status and revision.
- C) Customer/card data.
- D) The full request body.
Show answer
Answer: B) Service, bounded route, status and revision.
Unique IDs create cardinality/privacy problems; use trace/log correlation appropriately.
- What does Rollout abort mean?
- A) Git automatically reverts.
- B) It is separate from Git revert or desired-image restoration; restore the source of truth explicitly.
- C) All DB writes roll back.
- D) The new image is permanently deleted.
Show answer
Answer: B) It is separate from Git revert or desired-image restoration; restore the source of truth explicitly.
Do not use direct Helm and ArgoCD as simultaneous owners.