-
Type: Bug
-
Status: Resolved
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 4.0.0
-
Fix Version/s: 4.3.0
-
Component/s: Synchronizer
Issue
Sentry Issue: NUXEO-DRIVE-283
TypeError: getattr(): attribute name must be string File "nxdrive\engine\processor.py", line 270, in _execute File "nxdrive\engine\processor.py", line 1178, in _synchronize_remotely_created File "nxdrive\engine\processor.py", line 1245, in _create_remotely File "nxdrive\engine\processor.py", line 1000, in _download_content File "nxdrive\client\remote_client.py", line 629, in stream_content File "nxdrive\client\remote_client.py", line 332, in download File "nxdrive\client\remote_client.py", line 365, in check_integrity File "nxdrive\utils.py", line 1117, in compute_digest File "lib\site-packages\nuxeo\utils.py", line 60, in get_digest_hash
Analyze
This is happening when syncing emails. They have the notInBinaryStore digest.
The issue is already fixed server side by NXP-25841, but only starting with 11.1. So the issue may happen a lot.
Fix
- A simple check on the digest should be done before that line: https://github.com/nuxeo/nuxeo-drive/blob/ae0102fd6051c1faf56bc3ea33c41a46dff210c0/nxdrive/utils.py#L1132. If no digest_func, then raise UnknownDigest.
- Add a test to ensure the download is removed physically and from the database, and that the document s in error.
- is related to
-
NXDRIVE-1374 Mailbox synchronization fails in Nuxeo Drive
- Resolved
-
NXDRIVE-1258 Better handle unknown digest algorithms
- Resolved
-
NXP-25841 Ignore files not present in binary store
- Resolved