8460: Tolerate None where dicts are expected in events.
[arvados.git] / services / fuse / arvados_fuse / __init__.py
index 4c1731f319e231a5ea26ddab2c8c1b0f6be5c38a..51b0a57a7fe11e573361e242eb80d324a540dfda 100644 (file)
@@ -377,7 +377,7 @@ class Operations(llfuse.Operations):
         if 'event_type' not in ev:
             return
         with llfuse.lock:
-            new_attrs = ev.get("properties", {}).get("new_attributes", {})
+            new_attrs = (ev.get("properties") or {}).get("new_attributes") or {}
             pdh = new_attrs.get("portable_data_hash")
             # new_attributes.modified_at currently lacks
             # subsecond precision (see #6347) so use event_at
@@ -391,7 +391,7 @@ class Operations(llfuse.Operations):
                 else:
                     item.update()
 
-            oldowner = ev.get("properties", {}).get("old_attributes", {}).get("owner_uuid")
+            oldowner = ((ev.get("properties") or {}).get("old_attributes") or {}).get("owner_uuid")
             newowner = ev.get("object_owner_uuid")
             for parent in (
                     self.inodes.inode_cache.find_by_uuid(oldowner) +