Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GENERIC storage quota check to the file upload framework. #9361

Closed
landreev opened this issue Feb 2, 2023 · 4 comments · Fixed by #9409
Closed

Add GENERIC storage quota check to the file upload framework. #9361

landreev opened this issue Feb 2, 2023 · 4 comments · Fixed by #9409
Assignees
Labels
D: FixRateLimitingBehaviors Address this collection of issues that impact rate limiting pm.GREI-d-2.1.2 NIH, yr2, aim1, task2: MVP for integration the repository with computation (NERC) Size: 80 A percentage of a sprint. 56 hours.
Milestone

Comments

@landreev
Copy link
Contributor

landreev commented Feb 2, 2023

Several issues have been opened for adding mechanisms for storage quotas. There is some overlap between them, but different kinds of quotas have been requested - per-user, per-dataset, per-collection, per-user-per-day. Some appear to be more urgent than the others. (case in point, the most recent one, #8549, opened by me, is a specific request from our curation team that we wanted to address soon).

(there may be a couple more that are complete duplicates of something requested by one or more of the issues above, those are omitted).

Each one of these issues does require the actual quota check to be present somewhere in the workflow of uploading and creating a file. So this new issue is just for adding that mechanism. Perhaps it can be tested against a single setting that defines the limit for ALL uploads, but once it's there it should be extendable to add more types of quota checks to satisfy the specific cases and scenarios requested in the issues above. It should be programmatically configurable, and it should be enforced everywhere where the application allows a creation of a new file - via the GUI, the API and in the direct upload workflow.

It can be as simple as slightly modifying the individual file size check that's already there; but it should probably be made more programmatic, etc.

@landreev
Copy link
Contributor Author

landreev commented Feb 2, 2023

We may want to consider adding a dedicated command for file creation. Otherwise, file uploads is one area/subsystem that's notoriously resource-intensive, but is completely outside the Command Engine framework and not traceable in the ActionLogRecord.
This would take some careful consideration; it's not clear to me if this is actually viable or practical necessary, especially as the place where we could enforce the quotas.

@scolapasta scolapasta moved this to Dataverse Team (Gustavo) in IQSS Dataverse Project Feb 2, 2023
@scolapasta scolapasta added the Size: 80 A percentage of a sprint. 56 hours. label Feb 7, 2023
@scolapasta scolapasta moved this from Dataverse Team (Gustavo) to ▶ SPRINT READY in IQSS Dataverse Project Feb 7, 2023
@mreekie mreekie moved this from ▶ SPRINT READY to temp in IQSS Dataverse Project Feb 8, 2023
@mreekie mreekie moved this from temp to 🚮Clear of the Backlog in IQSS Dataverse Project Feb 8, 2023
@landreev landreev self-assigned this Feb 9, 2023
landreev added a commit that referenced this issue Feb 23, 2023
landreev added a commit that referenced this issue Feb 23, 2023
landreev added a commit that referenced this issue Feb 24, 2023
@mreekie mreekie added the D: FixRateLimitingBehaviors Address this collection of issues that impact rate limiting label Feb 28, 2023
@mreekie mreekie moved this from Clear of the Backlog to Dataverse Team (Gustavo) in IQSS Dataverse Project Mar 15, 2023
@mreekie
Copy link

mreekie commented Mar 15, 2023

grooming
just a note for self - linked to #9409 which is still on the board.

landreev added a commit that referenced this issue Mar 20, 2023
landreev added a commit that referenced this issue Apr 25, 2023
resolved onflicts:
	src/main/java/edu/harvard/iq/dataverse/util/FileUtil.java
(#9361)
landreev added a commit that referenced this issue Apr 25, 2023
resolved conflicts (again):
	src/main/java/edu/harvard/iq/dataverse/util/FileUtil.java
(#9361)
landreev added a commit that referenced this issue Apr 26, 2023
landreev added a commit that referenced this issue May 9, 2023
Resolved conflicts:
	src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java
 (#9361)
landreev added a commit that referenced this issue May 9, 2023
permissions lookup that allows it to be checked on either the Dataset
or the parent Collection (when files are bing added in the context of
creating a new dataset via the Add Dataset page). #9361
landreev added a commit that referenced this issue May 9, 2023
…nt exceeds the remaining quota; as opposed to accepting it zipped, even if the compressed size under the quota. #9361
landreev added a commit that referenced this issue May 11, 2023
…the uploaded files are saved (when uploading via the page) #9361
landreev added a commit that referenced this issue May 11, 2023
@sbarbosadataverse sbarbosadataverse moved this from Dataverse Team (Gustavo) to Harvard Dataverse Instance (Sonia) in IQSS Dataverse Project Aug 28, 2023
@cmbz cmbz added the pm.GREI-d-2.1.2 NIH, yr2, aim1, task2: MVP for integration the repository with computation (NERC) label Sep 11, 2023
@cmbz cmbz moved this from Harvard Dataverse Instance (Sonia) to NIH GREI Funded Deliverables in IQSS Dataverse Project Sep 11, 2023
@cmbz
Copy link

cmbz commented Sep 11, 2023

2023/09/11

  • Added NIH 2.1.2 label and moved to the NIH GREI column for prioritization.

landreev added a commit that referenced this issue Sep 18, 2023
@cmbz cmbz added this to the 6.1 milestone Sep 25, 2023
@cmbz cmbz moved this from NIH GREI Funded Deliverables to Release 6.1 Proposals in IQSS Dataverse Project Sep 25, 2023
@cmbz
Copy link

cmbz commented Sep 25, 2023

2023/09/25: Added to 6.1 milestone as per conversation during prioritization meeting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
D: FixRateLimitingBehaviors Address this collection of issues that impact rate limiting pm.GREI-d-2.1.2 NIH, yr2, aim1, task2: MVP for integration the repository with computation (NERC) Size: 80 A percentage of a sprint. 56 hours.
Projects
Status: No status
Development

Successfully merging a pull request may close this issue.

4 participants