taler-deployment

Deployment scripts and configuration files
Log | Files | Refs | README

commit 72cc5d7dd1d2536b37dbb33b1838b80ad3b46459
parent 03d11865afe0749f72adc408c310823716e11b03
Author: Florian Dold <florian.dold@gmail.com>
Date:   Mon,  3 Jun 2019 10:57:41 +0200

post mortem

Diffstat:
Apostmortem/2019-06-02-wallet-wire-fees.txt | 34++++++++++++++++++++++++++++++++++
Apostmortem/template.txt | 27+++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/postmortem/2019-06-02-wallet-wire-fees.txt b/postmortem/2019-06-02-wallet-wire-fees.txt @@ -0,0 +1,34 @@ +## Issue Summary + +Users were reporting that payments with the wallet sometimes don't work. The +issue shows as an error message that included the "406" status code from the +merchant. + +Both demo and test was affected. + +## Root Cause + +The merchant rejected payments because the wallet didn't include the correct +wire fee. + +The wallet didn't include the wire fee in the payment, thus the merchant's +response was correct. + +This misbehavior of the wallet was caused by the wallet not correctly parsing +the exchange's /wire response. The JSON validator (checkable.ts) returned +"undefined" for maps, due to a missing return statement. + +This error was introduced when switching from the old wire fee format to the +new "payto://"-based wire response format. + +## Remediation and Prevention + +The error was fixed in the wallet. An updated wallet for Firefox and Chromium +is in the process of being uploaded. + +In the future, headless wallet tests against the real demo/test deployment will +prevent this kind of mistake from making it to production unnoticed. + +We might also switch to a more battle-tested JSON validator, or move our +current one in a separate package and test the code coverage there. The +missing "return" would have been easily discovered by a simple unit test. diff --git a/postmortem/template.txt b/postmortem/template.txt @@ -0,0 +1,27 @@ +# Template for Post Mortem Entries + + +## Issue Summary + +Explain concisely what the issue was, from the perspective of a user. + + +## Issue Details + +Optional. Explain in more detail what happened. + + +## Root Cause + +Explain why it happened. + + +## Remediation and Prevention + +Explain what we did to solve the issue, and how we prevent it from (hopefully) +never happening again. Reference bug numbers for these! + + +## Discussion + +Space for discussion.