View Issue Details

IDProjectCategoryView StatusLast Update
0006686Talermerchant backend API (C)public2021-08-24 16:23
ReporterFlorian Dold Assigned ToFlorian Dold  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Target Version0.8Fixed in Version0.8 
Summary0006686: merchant doesn't have timeouts for requests to /wire and /keys, and becomes unusable once such a request hangs
DescriptionThere is a per-request timeout for POST /pay, but different POST /pay requests can share an exchange lookup request, which doesn't have a timeout.

Thus as soon as we have one hanging request to /wire or /keys, the merchant won't be able to accept payments until the request gets a TCP reset (if ever ...).

We should either have a timeout in the merchant's exchange management logic, or libtalerexchange should have some sane default timeout.
TagsNo tags attached.


Florian Dold

2021-01-12 12:14

manager   ~0017336

I think that the timeout logic should be part of the exchange management logic, as this allows the timeout to be increased for retries.

That means that even for a high-latency connection to the exchange, the request will succeed eventually.

Florian Dold

2021-01-12 13:47

manager   ~0017337

Actually after reviewing the libtalerexchange API, it makes more sense for the timeouts to be handled there, due to the cert_cb being potentially called multiple times. That makes it really hard to have the timeout in the layer above!

Florian Dold

2021-01-12 15:15

manager   ~0017338

Fixed in exchange.git 8f887a215e115d7e5f10a558b465521a6da0133c

Issue History

Date Modified Username Field Change
2021-01-11 16:33 Florian Dold New Issue
2021-01-11 16:33 Florian Dold Status new => assigned
2021-01-11 16:33 Florian Dold Assigned To => Christian Grothoff
2021-01-12 12:14 Florian Dold Note Added: 0017336
2021-01-12 12:32 Florian Dold Assigned To Christian Grothoff => Florian Dold
2021-01-12 13:47 Florian Dold Note Added: 0017337
2021-01-12 15:15 Florian Dold Status assigned => resolved
2021-01-12 15:15 Florian Dold Resolution open => fixed
2021-01-12 15:15 Florian Dold Note Added: 0017338
2021-07-30 13:56 Christian Grothoff Fixed in Version => 0.8
2021-07-30 13:59 Christian Grothoff Target Version => 0.8.1
2021-07-30 14:01 Christian Grothoff Target Version 0.8.1 => 0.8
2021-08-24 16:23 Christian Grothoff Status resolved => closed