Spike [Bulk-Edit]: temporary files operations optimization

RolePersonComments
Solution Architect
Java Lead.
UI Lead
Product Owner


MODEXPW-234 - Getting issue details... STATUS  - Spike [Bulk-Edit]:  temporary files operations optimization

Optimized operations

  • BulkEditErrorService should append errors directly to remote storage
  • BulkEdit jobs should be saved to use both local and remote storages as it is already implemented
  • Avoid files creation in services, write/append directly to remote storage (excl. spring batch operations)
  • Avoid writing content as byte arrays, streams should be used
  • Files should be saved in the separate directories with format bucket/{jobId}/{filename}
  • Writers hierarchy should be refactored as following:

FOLIO S3-storage client

  • S3-client should be moved as separate library
  • S3-client should support both AWS and Minio Server
  • InputStream should be used instead of byte[]
  • append() should work with using buffer to reduce number of write operations
  • Storages should aggregate corresponding S3Client