IQSS / IQSS/dataverse

Direct S3 upload through UI ignores collection storage quota precheck and fails silently after upload

Open
#12,645 2 comments 1 reaction 1 assignee View on GitHub

@sriramkanakam87 is already working on this.

Since Aug 27, 2026.

Type: Bug
Dominant language
Java
Stars
1.1k
Forks
564
Avg merge
2d 2h
Merged PRs (30d)
29

Description

What steps does it take to reproduce the issue?

  1. Enable direct S3 upload for the dataset storage backend.
  2. Enable storage quota enforcement:- :UseStorageQuotas = true
  3. Create or use a collection with a storage quota.
  4. Use a dataset under that collection so that the dataset has a smaller remaining quota than the file you will upload.
  5. Open the classic JSF upload page:- editdatafiles.xhtml?datasetId=&mode=UPLOAD
  6. Confirm the page shows the remaining quota, for example:- Storage quota: 20.0 MB remaining.
  7. Upload a file larger than the remaining quota through the browser upload widget, for example a 25 MB file.
  • When does this issue occur?
    It occurs when uploading a file through the classic Dataverse web UI with direct S3 upload enabled, if the file is larger than the dataset’s effective remaining storage quota.

  • Which page(s) does it occurs on?
    On a page where we upload to a dataset in a collection that is constrained by storage quota.

  • What happens?

  • The upload page shows the remaining quota, but still starts a direct S3 upload for an oversized file.
  • The file uploads to S3 successfully.
  • No visible error is shown in the UI.
  • After the upload completes, the file is not attached to the dataset and does not appear in the dataset’s file list.
  • To whom does it occur (all users, curators, superusers)?
  • I reproduced it with a superuser account: dataverseAdmin.
  • Based on the behavior, it appears tied to the upload flow itself rather than superuser-specific permissions, so it is likely to affect any user who has permission to upload files to a quota-limited dataset through this page.
  • What did you expect to happen?
  • I expected Dataverse to reject the oversized upload before any S3 transfer started.
  • The UI should show a clear error saying the file exceeds the remaining storage quota.
  • No presigned S3 upload URL should be issued, and no upload should begin.

Which version of Dataverse are you using?
Dataverse 6.10.1

Any related open or closed issues to this bug report?
Couldn't find any.

Screenshots:

Image Image Here you can see the dataset G3BYSO having multiple entries for 40MB files while it already has an 80MB file.

Are you thinking about creating a pull request for this issue?
Help is always welcome, is this bug something you or your organization plan to fix?
Yes, we will provide the fix.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.