View Issue Details

IDProjectCategoryView StatusLast Update
0010454Talermerchant backendpublic2025-09-26 19:44
ReporterFlorian Dold Assigned ToChristian Grothoff  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version1.0 
Target Version1.1Fixed in Version1.1 
Summary0010454: adding a donau to the merchant is not idempotent
DescriptionDuring the sandcastle provisioning, we add the donau via

POST [/instances/$INSTANCE]/private/donau

Each re-provisioning adds a new donau instance with exactly the same url and charity_id, resulting in orders like this:

"contractTerms": {
    "version": 1,
    "choices": [
      {
        "amount": "KUDOS:0.1",
        "inputs": [],
        "outputs": [
          {
            "type": "tax-receipt",
            "donau_urls": [
              "http://donau.taler.localhost:4321/",
              "http://donau.taler.localhost:4321/",
              "http://donau.taler.localhost:4321/",
              "http://donau.taler.localhost:4321/"
            ],
            "amount": "KUDOS:0.1"
          }
        ],
        "max_fee": "KUDOS:0"
      }
    ],
TagsNo tags attached.

Activities

Christian Grothoff

2025-09-26 19:20

manager   ~0026035

I've expanded the test_merchant_api test to cover this, found related issues but was unable (!) to produce a double-insertion like the above.
Still working on improving idempotency checking for the request itself.

Christian Grothoff

2025-09-26 19:42

manager   ~0026036

I fundamentally revamped the idempotency check logic in beac1c16..ae71def7 to make sure we actually check before querying donau.
Still not sure it POST should query donau here, but it should be OK for now, doing into only in taler-merchant-donaukeyupdate would be a larger change.
Again, I couldn't reproduce the original issue, but I think this should for sure no longer happen.

Christian Grothoff

2025-09-26 19:44

manager   ~0026037

Florian: I'm calling this resolved, if the issue is still there, please re-open with a reproducer.

Issue History

Date Modified Username Field Change
2025-09-25 13:43 Florian Dold New Issue
2025-09-25 13:43 Florian Dold Status new => assigned
2025-09-25 13:43 Florian Dold Assigned To => Christian Grothoff
2025-09-26 19:20 Christian Grothoff Note Added: 0026035
2025-09-26 19:42 Christian Grothoff Note Added: 0026036
2025-09-26 19:44 Christian Grothoff Status assigned => resolved
2025-09-26 19:44 Christian Grothoff Resolution open => fixed
2025-09-26 19:44 Christian Grothoff Fixed in Version => 1.1
2025-09-26 19:44 Christian Grothoff Note Added: 0026037
2025-09-26 19:44 Christian Grothoff Product Version => 1.0