View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0006686 | Taler | merchant backend | public | 2021-01-11 15:33 | 2024-01-12 13:04 |
| Reporter | Florian Dold | Assigned To | Florian Dold | Resolution deadline | |
| Implementer | Reviewer | ||||
| Release signed by | Deployed by | ||||
| Verifier | Communicator | ||||
| Data protection authority notification required | No | ||||
| CSIRT notification required | No | ||||
| Estimated effort (hours) | Actual effort (hours) | 0 | |||
| Fast-track | No | ||||
| Work package | none | ||||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | closed | Resolution | fixed | ||
| Target Version | 0.8 | Fixed in Version | 0.8 | ||
| Summary | 0006686: merchant doesn't have timeouts for requests to /wire and /keys, and becomes unusable once such a request hangs | ||||
| Description | There 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. | ||||
| Tags | No tags attached. | ||||
| 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. | |
| 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! | |
| Fixed in exchange.git 8f887a215e115d7e5f10a558b465521a6da0133c | |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2021-01-11 15:33 | Florian Dold | New Issue | |
| 2021-01-11 15:33 | Florian Dold | Status | new => assigned |
| 2021-01-11 15:33 | Florian Dold | Assigned To | => Christian Grothoff |
| 2021-01-12 11:14 | Florian Dold | Note Added: 0017336 | |
| 2021-01-12 11:32 | Florian Dold | Assigned To | Christian Grothoff => Florian Dold |
| 2021-01-12 12:47 | Florian Dold | Note Added: 0017337 | |
| 2021-01-12 14:15 | Florian Dold | Status | assigned => informing |
| 2021-01-12 14:15 | Florian Dold | Resolution | open => fixed |
| 2021-01-12 14:15 | Florian Dold | Note Added: 0017338 | |
| 2021-07-30 11:56 | Christian Grothoff | Fixed in Version | => 0.8 |
| 2021-07-30 11:59 | Christian Grothoff | Target Version | => 0.8.1 |
| 2021-07-30 12:01 | Christian Grothoff | Target Version | 0.8.1 => 0.8 |
| 2021-08-24 14:23 | Christian Grothoff | Status | informing => closed |
| 2024-01-12 13:04 | Christian Grothoff | Category | merchant backend API (C) => mechant backend |
| 2025-03-22 13:09 | Christian Grothoff | Category | mechant backend => merchant backend |