cancel
Showing results for 
Search instead for 
Did you mean: 

File upload larger than 4 GB fails with cmis 1.1 - File too large error

elcamino
Confirmed Champ
Confirmed Champ

Windows 10, 64 bit

Alfresco Community (Build: 201707)
===============================

Contains:
    - Alfresco Platform:    5.2.g
    - Alfresco Share:        5.2.f

   - Alfresco-opencmis-extension v.1.1

alfresco-global.properties

===============================

opencmis.maxContentSize=-1

Hi

1. I tried to upload a file with CMIS but the upload fails for files larger than 4GB

2. Then I mapped an Alfresco network drive & tried to drag & drop 4.1 GB file into mapped Alfresco folder

3. This results in a following error: File too large for the destination file system

4. Right click on the network drive says that destination filesystem is FAT

Question: How to upload files larger then 4 GB with CMIS 1.1 ?

6 REPLIES 6

jayesh_prajapat
Star Contributor
Star Contributor

Hi

Can you also share Alfresco log?

jayesh_prajapat
Star Contributor
Star Contributor

Generally FAT32 file system do not allow upload more then 4 gb file. I just want to be clear if there is anything to do with Alfresco from log. 

Note that uploading files under 4GB works fine!

1. Stopped Alfresco service & database
2. Erased all logs
3. Started services again
4. Mapped a network drive: \\localhost@9090\alfresco\webdav\
5. Tried to drag & drop a 4.1 GB file into mapped drive (FAILED) (Error: file too large)
6. Ran my java CMIS 1.1 code to upload 4.1 GB file (FAILED) (Error attached below)

Log is attached below.

afaust
Legendary Innovator
Legendary Innovator

Please check the documentation. The default configuration limits CMIS uploads to 4 GiB but can be modified in alfresco-global.properties. You have already configured that to ignore any file limit according to your initial post, which makes your problem interesting. The display of the shared network drive (representing Alfresco) as FAT should be of no consequence. There should be no restrictions in file size provided the device where your server's contentstore directory is stored on does not have any file size limitations.

Note that you may also have limits implied by the client, i.e. upload via WebDAV may be limited by Windows' HTTP client implementation and/or intermediary network elements, such as HTTP proxies.

jpotts
World-Class Innovator
World-Class Innovator

Why are you using the Alfresco OpenCMIS Extension JAR? That should not be used unless you are using the old 1.0 CMIS service URL, which you absolutely should not be using.

Something you might be want to try is the "appendContentStream" method (docs). One drawback the last time I used it is that it creates a version on every append. That may rule it out for you, but it is something to consider.

I find uploading "large" files to be so problematic I ended up integrating another tool along with the Bulk File System Import Tool to solve the problem (DevCon presentation).

elcamino
Confirmed Champ
Confirmed Champ

I tried to upload that large file from my desktop to the same machine (localhost) & also to a remote linux redhat server. This resulted in the same issue.

I created a small example Maven project &  instructions how to replicate the issue. It shouldn`t take more than 10 minutes.

Step 1. Download & install the alfresco-community-installer-201707-win-x64.exe from (Alfresco Community Edition | Alfresco )

Step 1.1 Perform default install, set password to: admin

Step 2. Start Alfresco services

Step 3. Generate 4.1 GB file to your desktop for example

Step 3.1 Windows cmd command "fsutil file createnew C:\Users\Administrator\Desktop\4.1GB_file.txt 4402341478"

Step 3.2 On Linux "dd if=/dev/zero of=4.1GB_file.txt count=1024 bs=4299161"

Step 4. Download Alfresco-File-Upload-Test.zip (see the attachment)

Step 4. Extract the zip & Import it as new Maven project into your IDE (I use Spring tool suite, also known as Eclipse IDE)

Step 5. Inside AlfrescoFileUploadTestApplication.java replace String filePath = "C:\\Users\\ElCamino\\Desktop\\4.1GB_file.txt"; to your large file location.

Step 6. Right click on AlfrescoFileUploadTestApplication.java & run as Spring Boot application, or run as java Application.