digiwf-core icon indicating copy to clipboard operation
digiwf-core copied to clipboard

Prüfung der Gesamtgröße bei der Verarbeitung von Dateien in Integrationen

Open markostreich opened this issue 1 year ago • 1 comments

Is your feature request related to a problem? Please describe.

Als Sachbearbeiter möchte ich mehrere Dateien mit einer Gesamtgröße von über 100 MByte mit einer Integration verarbeiten können, ohne dass es zu einem Abbruch des Vorgangs kommt. Derzeit kommt es bei einer bestimmten Gesamtgröße zu einem "out of memory"-Fehler, da alle Dateien zunächst als Batch in den Heap geladen werden.

Describe the solution you'd like

Dateien werden erst aus dem S3 abgeholt, wenn sichergestellt ist, dass es nicht zu einem "out of memory"-Fehler kommt.

Die Gesamtgröße der Dateien wird vorher überprüft. Wenn eine Grenze überschritten wird, werden keine Dateien in den Heap geladen. Dateien, die alleine schon eine konfigurierte Größe überschreiten, werden von der Integration abgelehnt, und es wird ein BpmnError ausgelöst.

Describe alternatives you've considered

Acceptance Criteria

  • [ ] Dateien, die eine konfigurierte Größe bereits einzeln überschreiten, werden abgelehnt und es wird ein BpmnError geworfen. Die Prüfung wird über die S3-Client-Library geregelt.
  • [ ] Es wird verhindert, dass ein Upload startet, obwohl nicht alle Dateien die geforderte Maximalgröße unterschreiten.
  • [ ] Es wird verhindert, dass ein Upload startet, ob wohl die Gesamtgröße der Dateien eine geforderte Maximalgröße überschreiten.
  • [ ] Zusätzlich: Es gibt in DigiWF ein Limit, das für Datenspeicher ein Limit für Dateigrößen festsetzt. (Z. B. 100 MB) Es wird dafür eine neue Property der S3-Integration genutzt.
  • [ ] Parallele Message Verabeitung bei den Integrationen, die Dateien verarbeiten wird durch sequenzielle Verabeitung ersetzt. Idealerweise Einschränkung bei nur beim Consumer, der Dateien verarbeitet.

Additional context

Betroffene Integrationen:

  • DMS-Integration
  • E-Mail-Integration
  • Ticket-Integration

markostreich avatar Mar 14 '24 08:03 markostreich

Sollte man vrmtl. zusammen mit #1442 umsetzen.

simonhir avatar Mar 14 '24 12:03 simonhir

Die Beschreibung wurde angepasst. Die Userstory entsprach noch nicht der im Planing besprochenen Lösung.

markostreich avatar Jul 22 '24 09:07 markostreich