cryptomator / cryptofs

Java Filesystem Provider with integrated encryption
GNU Affero General Public License v3.0
94 stars 35 forks source link

Feature: Do not recursively update cache #181

Closed infeo closed 11 months ago

infeo commented 12 months ago

Closes #180.

I applied the workaround described in Caffeine wiki. Additonally, i checked all other spots where we use a Cache or LoadingCache for recursive updates:

None of the above do such recursive updates, hence i left them untouched.

infeo commented 11 months ago

Can we be sure they are effectively atomic (maybe due to path-based locking?)

With external path based locking, they are "atomic" from the outside. Unfortunately, we modify the filesystem by resolving conflicts when listing dirs. Hence, we could at the same time list a directory and get the attributes of a contained conflicting resource, which might lead to wrong data or IOErrors.