View Issue Details

IDProjectCategoryView StatusLast Update
0008190Talerlibeufin-nexuspublic2024-02-13 08:19
ReporterAntoine A Assigned ToAntoine A  
PrioritynormalSeverityminorReproducibilityN/A
Status resolvedResolutionfixed 
Target Version0.9.5 
Summary0008190: Error recovery strategy when ingesting EBICS files
DescriptionWhen ingesting EBICS files, we may encounter errors, such as a loss of connection to the database. As some EBICS documents are ephemeral, the bank will only serve them once. When an EBICS download is requested, we need to acknowledge receipt with a status code that can be used to signal our inability to process these files.
We need to check whether not sending the acknowledgement or responding with an error code will consume the ephemeral files or whether we need another solution on our side, and use this logic to stop losing them as we are doing now.
TagsNo tags attached.

Relationships

child of 0008365 assignedChristian Grothoff package and upload libeufin 0.9.5 to ftp and stable Debian/Ubuntu server 

Activities

Antoine A

2024-01-31 11:39

developer   ~0021111

Last edited: 2024-01-31 14:36

The response with an error code consumes ephemeral files.
Not sending a confirmation of receipt puts our session in a special state where we get EBICS_PROCESSING_ERROR until the end of the EBICS transaction, but the ephemeral files are not consumed. If we can handle this error state by aborting the transaction, we might have a good primitive for handling errors.

Antoine A

2024-02-12 18:18

developer   ~0021256

The old plan was to run a special fetch once a day with a specified start range to recover missed files in the event of failure. This doesn't work for ephemeral files, but could still be useful for notification files.

Antoine A

2024-02-12 19:02

developer   ~0021258

Erattum: returning status code 1 in the receipt message prevent consumption of ephemeral files. I was led astray because we support both EBICS 2.5 and 3 and I only changed the status code for EBICS 3 whereas we only retrieve HACs using EBICS 2.5.

Receipt message status code seems to be the cleanest solution.

Antoine A

2024-02-13 08:19

developer   ~0021268

Fixed in 5837035a2e5679f529196ae85bc041d695a69176

Issue History

Date Modified Username Field Change
2024-01-22 14:52 Antoine A New Issue
2024-01-22 14:52 Antoine A Status new => assigned
2024-01-22 14:52 Antoine A Assigned To => Antoine A
2024-01-22 15:12 Antoine A Target Version 0.9.5 => 0.9.4
2024-01-22 17:55 Christian Grothoff Target Version 0.9.4 => 0.9.5
2024-01-31 11:39 Antoine A Note Added: 0021111
2024-01-31 14:36 Antoine A Note Edited: 0021111
2024-02-10 00:27 Christian Grothoff Relationship added child of 0008365
2024-02-12 18:18 Antoine A Note Added: 0021256
2024-02-12 19:02 Antoine A Note Added: 0021258
2024-02-13 08:19 Antoine A Status assigned => resolved
2024-02-13 08:19 Antoine A Resolution open => fixed
2024-02-13 08:19 Antoine A Note Added: 0021268