View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004822 | Taler | obsolete component | public | 2016-11-28 23:39 | 2017-06-06 12:18 |
| Reporter | Florian Dold | Assigned To | Marcello Stanisci | 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 | high | Severity | minor | Reproducibility | have not tried |
| Status | closed | Resolution | fixed | ||
| Product Version | git (master) | ||||
| Target Version | 0.3 | Fixed in Version | 0.3 | ||
| Summary | 0004822: bank does not run financial transactions in database transactions | ||||
| Description | ... django requires decorators for that. | ||||
| Tags | No tags attached. | ||||
| Florian, can you elaborate a bit more on that? | |
| Sure, see: https://docs.djangoproject.com/en/1.10/topics/db/transactions/#autocommit-details When we do a wire transfer, we of course have to touch multiple accounts. But these write operations are currently not run within a DB transaction, due to Django's autocommit behavior. | |
| Shall I wait your refactoring to be complete to work on this one? | |
| From [1], it seems that no decorators are needed. Just setting your DB as "atomic" should make it. [1] https://docs.djangoproject.com/en/1.9/topics/db/transactions/#tying-transactions-to-http-requests | |
| OTOH, [2] is better, as you're not forced to be in a view to have transactions. [2] https://docs.djangoproject.com/en/1.9/topics/db/transactions/#controlling-transactions-explicitly | |
| According to the recent refactoring, there might be few or no places where this fix should be done. | |
| 3ae843c. The fix occurred at user registration and in wire_transfer(). | |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2016-11-28 23:39 | Florian Dold | New Issue | |
| 2016-11-28 23:39 | Florian Dold | Status | new => assigned |
| 2016-11-28 23:39 | Florian Dold | Assigned To | => Marcello Stanisci |
| 2016-11-28 23:45 | Marcello Stanisci | Note Added: 0011551 | |
| 2016-11-28 23:49 | Florian Dold | Note Added: 0011552 | |
| 2016-12-22 16:10 | Marcello Stanisci | Note Added: 0011608 | |
| 2017-01-31 13:59 | Marcello Stanisci | Note Added: 0011682 | |
| 2017-01-31 14:03 | Marcello Stanisci | Note Added: 0011683 | |
| 2017-02-04 09:54 | Marcello Stanisci | Priority | normal => high |
| 2017-02-04 09:54 | Marcello Stanisci | Note Added: 0011689 | |
| 2017-02-06 20:36 | Marcello Stanisci | Status | assigned => informing |
| 2017-02-06 20:36 | Marcello Stanisci | Resolution | open => fixed |
| 2017-02-06 20:36 | Marcello Stanisci | Note Added: 0011699 | |
| 2017-02-13 12:46 | Christian Grothoff | Product Version | => git (master) |
| 2017-02-13 12:46 | Christian Grothoff | Fixed in Version | => 0.3 |
| 2017-02-13 12:46 | Christian Grothoff | Target Version | => 0.3 |
| 2017-06-06 12:18 | Christian Grothoff | Status | informing => closed |
| 2022-08-23 18:26 | Christian Grothoff | Category | bank (demonstrator) => py bank (demonstrator, obsolete) |
| 2023-12-03 00:23 | Christian Grothoff | Category | py bank (demonstrator, obsolete) => obsolete componet |
| 2023-12-11 19:08 | Florian Dold | Category | obsolete componet => obsolete component |