-
Type: Bug
-
Status: Resolved
-
Priority: Critical
-
Resolution: Fixed
-
Affects Version/s: NoFixVersionApplicable
-
Fix Version/s: 5.0.0
-
Component/s: Synchronizer
-
Release Notes Summary:Handle documents with non-standard digest
-
Release Notes Description:
-
Epic Link:
-
Tags:
-
Sprint:nxDrive 11.1.34, nxDrive 11.1.35, nxDrive 11.2.8, nxDrive 11.2.13
-
Story Points:5
Error
This is error is in the same style as NXDRIVE-1973.
Currently, when a document is non-folderish, has a digest set but no digest algorithm set, we try to guess the algorithm. This may have worked sometimes for some documents. But there a documents, typically Live Connect ones, that have a digest that will make the guess wrong, for instance here is a document from the intranet:
{ "id": "defaultFileSystemItemFactory#default#4b61d5ed-4b04-4ce8-bd68-43ca44b3b02f", "parentId": "defaultSyncRootFolderItemFactory#default#024a0234-9131-486f-b387-884e4bb010b6", "name": "Nuxeo Cloud Presentation.pptx", "folder": false, "creator": "jallouch", "lastContributor": "jallouch", "creationDate": 1585921066534, "lastModificationDate": 1585921066534, "canRename": true, "canDelete": true, "lockInfo": null, "path": "/org.nuxeo.drive.service.impl.DefaultTopLevelFolderItemFactory#/defaultSyncRootFolderItemFactory#default#024a0234-9131-486f-b387-884e4bb010b6/defaultFileSystemItemFactory#default#4b61d5ed-4b04-4ce8-bd68-43ca44b3b02f", "userName": "gcarlin", "downloadURL": "nxfile/default/4b61d5ed-4b04-4ce8-bd68-43ca44b3b02f/blobholder:0/Nuxeo%20Cloud%20Presentation.pptx", "digestAlgorithm": null, "digest": "9e25dad57bbcd7b08a0adf91e701b0cc", "canUpdate": true }
Here, the algorithm guess will return "MD5" as the digest is 32 hexadecimal characters. But this is not good and the document will never be synced, it will be errored because of the integrity check failures.
Fix
Handling those documents will be possible after NXP-30044 will be done.
Actions:
- Documents without valid digests are currently skipped. Search for UnknownDigest occurrences in the code.
- Instead of skipped them, we need to add them in the database just as other documents, but with a transient state: we cannot sync them, we just need to keep a track in the database.
- When the server will send the blobDigestUpdated event, that will tell us the digest is available and the document can be synced then.
- Update the digest in the database and sync the document.
- depends on
-
NXP-30044 Async blob digest computation
- Resolved
- is duplicated by
-
NXDRIVE-2418 Content is not downloaded when S3 Direct upload enabled
- Resolved
-
NXDRIVE-2493 Enable app-to-local sync of ARW/PSB/PSD/CR2/NEF files on Web UI using S3
- Resolved
- is related to
-
NXDRIVE-1973 Do not sync non-folderish documents without known digest algorithm
- Resolved
-
NXDRIVE-2512 Store dates as integers to keep the server precision
- Open
- Is referenced in
- links to