View Issue Details

IDProjectCategoryView StatusLast Update
0008752Talerlibeufin-nexuspublic2024-08-28 21:31
ReporterFlorian Dold Assigned ToAntoine A 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 Versiongit (master) 
Target Version0.13Fixed in Version0.13 
Summary0008752: interrupted EBICS upload/download transactions lead to multiple minutes of stalling for that order type
DescriptionAn EBICS upload/download transaction consists of multiple HTTP requests.

If for some reason (network error, exception while processing the payload, ...) not all requests for one EBICS transaction are made, the EBICS server will *refuse* new requests for that order type, until either:
* the remaining requests to upload/download/abort the old transaction are mare
* a timeout (about 10 minutes, implementation-dependent) occurs

To avoid this, we would have to store the status of started EBICS transactions in our database.

This is only possible sometimes, as we need the TransactionID from the request that starts the transaction. If the response to that request is lots, all bets are off and we have to wait for the timeout.

In that case, we should at least log an appropriate error message. We need to experiment which error code we get in that case, as that's not clear from the specification. The error we get from the GLS ebics host is technical=EBICS_OK,bank=EBICS_PROCESSING_ERROR, which doesn't make too much sense.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

has duplicate 0006402 closedAntoine A handle disrupted EBICS transactions 

Activities

Florian Dold

2024-04-17 18:21

manager   ~0022269

Or maybe it *is* actually possible even when the first response gets lost, as the request contains a user-selected nonce that the server might use to check for resumption/idempotency.

Antoine A

2024-07-08 17:16

manager   ~0022798

Fixed in b1d1a04590c18b57668b564fb91feb8af5a7d3c0
Sadly we always get EBICS_PROCESSING_ERROR and we cannot provide a better error message

Issue History

Date ModifiedUsernameFieldChange
2024-04-17 18:12Florian DoldNew Issue
2024-04-17 18:12Florian DoldStatusnew => assigned
2024-04-17 18:12Florian DoldAssigned To => Antoine A
2024-04-17 18:21Florian DoldNote Added: 0022269
2024-05-06 08:07Antoine ATarget Version0.11 => 0.14
2024-07-08 17:16Antoine AStatusassigned => informing
2024-07-08 17:16Antoine AResolutionopen => fixed
2024-07-08 17:16Antoine ANote Added: 0022798
2024-07-09 14:43Christian GrothoffProduct Version => git (master)
2024-07-09 14:43Christian GrothoffFixed in Version => 0.13
2024-07-09 14:43Christian GrothoffTarget Version0.14 => 0.13
2024-07-30 15:24Antoine ARelationship addedhas duplicate 0006402
2024-08-28 21:31Christian GrothoffStatusinforming => closed