View Issue Details

IDProjectCategoryView StatusLast Update
0007577Talerexchangepublic2023-01-26 22:53
ReporterFlorian Dold Assigned ToChristian Grothoff  
PrioritynormalSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
Target Version0.9.1Fixed in Version0.9.1 
Summary0007577: purse merge fails with HTTP 500 response from exchange
DescriptionCan be reproduced with

  taler-harness run-integrationtests peer-to-peer-push

This is a taler-harness integration test that *used* to work, but with the most recent version of the exchange it doesn't.
Additional Information2023-01-12T23:49:56.692537+0100 taler-exchange-httpd-613720(4EZ01A2ZJTYY0NFTAYABZFN75G) INFO Got 0 additional transactions for this merge and limit 1673563796690683
2023-01-12T23:49:56.693691+0100 pq-613720(4EZ01A2ZJTYY0NFTAYABZFN75G) ERROR Query `call_purse_merge' failed with result: insert or update on table "purse_merges" violates foreign key constraint "purse_merges_foreign_reserve_pub"/Key (reserve_pub)=(\x33acad32cebe91138a8fe7b35f425bba5d79257573311029259ef79c6f6d2077) is not present in table "reserves"./ERROR: insert or update on table "purse_merges" violates foreign key constraint "purse_merges_foreign_reserve_pub"
DETAIL: Key (reserve_pub)=(\x33acad32cebe91138a8fe7b35f425bba5d79257573311029259ef79c6f6d2077) is not present in table "reserves".
CONTEXT: SQL statement "INSERT INTO exchange.purse_merges
    (partner_serial_id
    ,reserve_pub
    ,purse_pub
    ,merge_sig
    ,merge_timestamp)
  VALUES
    (my_partner_serial_id
    ,in_reserve_pub
    ,in_purse_pub
    ,in_merge_sig
    ,in_merge_timestamp)
  ON CONFLICT DO NOTHING"
PL/pgSQL function exchange_do_purse_merge(bytea,bytea,bigint,bytea,character varying,bytea,bytea,bigint) line 57 at SQL statement
/PGRES_FATAL_ERROR/ERROR: insert or update on table "purse_merges" violates foreign key constraint "purse_merges_foreign_reserve_pub"
DETAIL: Key (reserve_pub)=(\x33acad32cebe91138a8fe7b35f425bba5d79257573311029259ef79c6f6d2077) is not present in table "reserves".
CONTEXT: SQL statement "INSERT INTO exchange.purse_merges
    (partner_serial_id
    ,reserve_pub
    ,purse_pub
    ,merge_sig
    ,merge_timestamp)
  VALUES
    (my_partner_serial_id
    ,in_reserve_pub
    ,in_purse_pub
    ,in_merge_sig
    ,in_merge_timestamp)
  ON CONFLICT DO NOTHING"
PL/pgSQL function exchange_do_purse_merge(bytea,bytea,bigint,bytea,character varying,bytea,bytea,bigint) line 57 at SQL statement

2023-01-12T23:49:56.693708+0100 taler-exchange-httpd-613720(4EZ01A2ZJTYY0NFTAYABZFN75G) WARNING Failed to store merge purse information in database
2023-01-12T23:49:56.693844+0100 taler-exchange-httpd-613720(4EZ01A2ZJTYY0NFTAYABZFN75G) INFO Request for `/purses/5J3E9ABMM5K6NHMMFSVX2H8BQVXMD10J8Q6E8F5C21TWFE6JHJZ0/merge' completed with HTTP status 500 (0)
TagsNo tags attached.

Activities

Christian Grothoff

2023-01-13 10:43

manager   ~0019652

That FK constraint was just wrong. Removed in Git master.

Issue History

Date Modified Username Field Change
2023-01-12 23:52 Florian Dold New Issue
2023-01-12 23:52 Florian Dold Status new => assigned
2023-01-12 23:52 Florian Dold Assigned To => Christian Grothoff
2023-01-13 10:43 Christian Grothoff Status assigned => resolved
2023-01-13 10:43 Christian Grothoff Resolution open => fixed
2023-01-13 10:43 Christian Grothoff Fixed in Version => 0.9.1
2023-01-13 10:43 Christian Grothoff Note Added: 0019652
2023-01-26 22:53 Christian Grothoff Status resolved => closed