Owncloud windows client (5.3.x) not checking for quota before upload?

Hi there, we had a windows client today that kept trying to upload a folder with a lot of big files (5+gb) while having only 2gb left of space quota. What was happening is that the windows client tried to upload the file, and after finishing the transfer received the over quota error message (and put the file in a black list with a small timer like 20 seconds or so). It then moved to the next file. Eventually, while the user worked on other files, the retry interval expired and the upload started again. Is this an expected behaviour? This way a lot of bandwidth is used for no reason. Is there a way to force a quota check before the client try to upload the file?
Thanks in advance
Piero

Server configuration

Operating system: Ubuntu 22.04 lts
Web server: apache 2.4
Database: mariadb 10.11
PHP version: php 7.4
ownCloud version: 10.15.0.2 community edition

Client configuration

Client version: 5.3.1
Operating system: Windows 10
OS language: Italian

I put your request through Perplexity Ai. This should at least give you a place to start.

The ownCloud Windows client’s behavior of not checking quota before uploading large files is expected in version 5.3.x, due to how quota validation interacts with chunked uploads. Here’s the technical breakdown and workarounds:


Why This Happens

  1. Chunked Uploads:
    The client splits large files into smaller chunks (default 10MB) and uploads them sequentially[1][3]. Quota is only checked:

    • At the start of a sync cycle (cached value)
    • After full file transfer, during final server-side assembly[4]
  2. Quota Calculation Limitations:

    • External storage/shares aren’t included in client-side quota calculations by default[4][5]
    • Server responds with 507 Insufficient Storage only after the final chunk[1][3]
  3. Retry Logic:
    Failed uploads enter a 15-30 second backoff timer before retrying[4], causing repeated attempts until space is freed.


Workarounds

For Admins:

// In config.php - Include external storage in quotas (if applicable)
'quota_include_external_storage' => true[5]

For Users:

  1. Manual Pre-Check:
    Right-click system tray icon → AccountOpen Browser → Check quota in web UI before large uploads.

  2. Adjust Sync Frequency:
    Go to SettingsNetwork → Reduce Local file detection interval to 5-10 minutes for more frequent quota updates.

  3. Selective Sync:
    Exclude folders with large files until quota is increased.


Recommended Upgrades

This issue is partially addressed in later versions:

  1. ownCloud Server ≥10.14.1: Better quota tracking for shared folders[5]
  2. Desktop Client ≥5.4:
    • Adds pre-upload size estimation for unsynced files
    • Implements smarter retry logic with exponential backoff[4]

For enterprise deployments, consider implementing a pre-upload quota check via the dav/files/ API endpoint before initiating client-side transfers.