Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Content:

Table of Contents


PURPOSE:

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMDEXP-90

...

Store file with UUIDs in the AWS S3 bucket.

 Advantages:          

  1. This approach required not a lot of changes in code:

             - save the file with UUIDs in S3 bucket instead of the file system;

...

         1. Create a lifecycle configuration for the folder in the bucket at the AWS side. The disadvantage disadvantages of this method, that : we will not have any information that files successfully removed, and when I tried to create these configs in my S3 bucket, looks like it may cost money.

...

  1. This approach required a lot of changes, for example: creating a table in DB, provide an endpoint to upload change code to save the file with UUIDsthere;
  2. Need to upgrade the periodic cleaning job mechanism to remove old objects from DB;If the cleaning job, for some reason, will be stuck, the table will full of useless data. Apart from that, we will save temporary and . In the feature, we are planning to provide a rerun mechanism for jobs, so this step will be removed;
  3. We will save possibly large files to the DB, which can negatively affect the overall performance of the database instance a little bit.

Solve the issue at the infrastructure layer.

It means, that the hoster will make create a configuration, that will make some folders sharable between modules. For example, if the hoster will deploy our folio application in the Kubernetes environment, then sharable folders can be configured by Persistance Volumes.

There is a discussion about this approach, we can use it only if the folio community will approve it. You can find the description of this approach in this draft document.

Advantages:

       1. We do not need to do any code changes, just indicate which folder should be sharable, and the performance is better than in the first 2 options.

Disadvantages:

  1. The hoster should make the folder sharable between modules.

...

If the folio community will agree with the third option, we will use it, otherwise, we will use the approach with saving the files in DB.