-
Type: Bug
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: 4.4.4
-
Fix Version/s: 4.4.4
-
Component/s: Direct Transfer
-
Epic Link:
-
Tags:
-
Sprint:nxDrive 11.2.1
-
Story Points:1
Issue
Scenario:
- Start a Direct Transfer.
- When all chunks are uploaded, and just after having called the FileManager operation: the network connection is lost.
- The request being started, it has a 6 hours timeout.
- But the document was created on the server because the call has been made.
- Finally, after 6 hours, the network was restored in the meantime, but the FileManager will throw a 404 error because the batchId was already consumed.
- The transfer will be displayed in the Direct Transfer window, but nothing more will be done.
Here are revelant logs:
2020-07-09 08:51:55 2972 13904 DEBUG nuxeo.client Response from 'https://nxdev-webui-11.beta.nuxeocloud.com/nuxeo/api/v1/upload/batchId-770b2560-6712-4db4-8d04-98b2b32bbddd/0/execute/FileManager.Import' [404]: '<no content>' with headers {...} and cookies <...> 2020-07-09 08:51:55 2972 13904 WARNING nxdrive.engine.processor The document or its parent does not exist anymore: <DocPair[43298] local_path=WindowsPath('C:/Users/rgrasland/Downloads/fichiers_drive/fichiers/50000/48966.txt'), local_parent_path=WindowsPath('.'), remote_ref='', local_state='direct', remote_state='unknown', pair_state='direct_transfer',> 2020-07-09 08:51:55 2972 13904 DEBUG nxdrive.engine.processor Soft unlocking WindowsPath('c:/users/rgrasland/downloads/fichiers_drive/fichiers/50000/48966.txt') 2020-07-09 08:51:55 2972 13904 DEBUG nxdrive.engine.dao.sqlite Released processor 13904 2020-07-09 08:51:55 2972 13904 DEBUG nxdrive.engine.workers Thread END
And here is my understanding from the logs:
02:51:55 call FileManager.Import 02:51:59 network lost 02:59:41 network again 05:01:28 last file uploaded, 08:51:55 response from FileManager.Import
The time between the call and the response is exactly 6 hours: this is the request timeout.
Fix
When the FileManager returns a 404 error, just remove void transfers, as it is done for sync items.
- is related to
-
NXDRIVE-2065 [Direct Transfer] Leverage the FileManager
- Resolved
- Is referenced in