View Issue Details

IDProjectCategoryView StatusLast Update
0010454Talermerchant backendpublic2025-10-31 19:49
ReporterFlorian Dold Assigned ToChristian Grothoff Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
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.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Christian Grothoff

2025-09-26 17: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 17: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 17:44

manager   ~0026037

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

Issue History

Date ModifiedUsernameFieldChange
2025-09-25 11:43Florian DoldNew Issue
2025-09-25 11:43Florian DoldStatusnew => assigned
2025-09-25 11:43Florian DoldAssigned To => Christian Grothoff
2025-09-26 17:20Christian GrothoffNote Added: 0026035
2025-09-26 17:42Christian GrothoffNote Added: 0026036
2025-09-26 17:44Christian GrothoffStatusassigned => informing
2025-09-26 17:44Christian GrothoffResolutionopen => fixed
2025-09-26 17:44Christian GrothoffFixed in Version => 1.1
2025-09-26 17:44Christian GrothoffNote Added: 0026037
2025-09-26 17:44Christian GrothoffProduct Version => 1.0
2025-10-31 19:49Christian GrothoffStatusinforming => closed