View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0009377 | Taler | exchange | public | 2024-12-10 16:59 | 2024-12-17 15:42 |
Reporter | oec | Assigned To | Christian Grothoff | ||
Priority | normal | Severity | feature | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | git (master) | ||||
Target Version | 1.0 | Fixed in Version | 1.0 | ||
Summary | 0009377: [withdraw] refactor error handling | ||||
Description | The current error handling in taler-exchange-httpd_withdraw.c is not well aligned with idempotency-checks. Some error conditions require an additional check for idempotency of the request before actually returning an error to the client. These checks for idempotency are scattered across multiple functions. Future changes will have to take these into account and add additional calls to them. We should refactor error handling in the code and make error its own state, adding the error-condition-specific witness data to the Withdraw context. When handling that state, we can have -if applicable to that error condition- one idempotency check - only once. | ||||
Additional Information | This is preliminary work for 9371 | ||||
Tags | No tags attached. | ||||
|
commit 4f91bada4cc113bd4970e2d2f4a229d1fa3dea0b in branch dev/oec/issue9377 has a complete new structured error handling implemented in src/exchange/taler-exchange-httpd_withdraw.c `make check` in src/testing passes all tests with it. |
|
commit ea640ba2e9aebc71dbf6d368d7764e5ae6f1f3e9 in master has the new error handling. make check in the exchange and merchant (modulo an expected failure in the wallet-harness tests) passed. |
Date Modified | Username | Field | Change |
---|---|---|---|
2024-12-10 16:59 | oec | New Issue | |
2024-12-10 16:59 | oec | Status | new => assigned |
2024-12-10 16:59 | oec | Assigned To | => oec |
2024-12-10 16:59 | oec | Relationship added | child of 0009371 |
2024-12-11 16:39 | oec | Assigned To | oec => Christian Grothoff |
2024-12-11 16:39 | oec | Status | assigned => feedback |
2024-12-11 16:39 | oec | Note Added: 0023859 | |
2024-12-11 17:41 | oec | Note Edited: 0023859 | |
2024-12-17 13:09 | oec | Status | feedback => resolved |
2024-12-17 13:09 | oec | Resolution | open => fixed |
2024-12-17 13:09 | oec | Note Added: 0023888 | |
2024-12-17 15:42 | Christian Grothoff | Fixed in Version | => 1.0 |
2024-12-17 15:42 | Christian Grothoff | Target Version | 1.1 => 1.0 |