Rclone serve docker only the remote is different, but fingerprinting behaves differently

I've been using a dockerized application with rclone docker volume plugin, with gdrive, for long time. The application indexing, the media files, and detects if there is a change, recognizes file renames, and moves too.

It worked ok in google drive, if i did a re-scan with the application, detected only the changes and updated it in its DB.

Now after i synced everything to other, S3 compatible cloud service (idrive e2), i changed the remote of rclone volume to that. Everything works ok, except that if i do a scan with the application, it detects the file fingerprints are changed, all of them, so does a hash check again.
This wouldn't be a problem once, as the date handling could be different between gdrive and idrive e2. If i scan again, the application shows no change, as it shoult. BUT if i restart the dockerized application, and scan again, again detects fingerprints are changed.
So for some reason, with gdrive remote the file fingerprints remain the same if not changed, but S3 idrive e2 remote, something (probably modtime) changes with every restart of the application.

Docker plugin (rclone:latest) is set like this: docker plugin set rclone args="--buffer-size=256M --vfs-fast-fingerprint -v"
but i've also tried the S3 remote with
docker plugin set rclone args="--buffer-size=256M --no-modtime --fast-list -v"
and
docker plugin set rclone args="--buffer-size=256M --use-server-modtime --fast-list -v"
but no difference.

Now after a lots of fiddling, i checked the volume creation section in the docker-compose for the app:
This was the original:

volumes:
  jivol:
    driver: rclone
    driver_opts:
      remote: 'gdriveremote:things'
      allow_other: 'true'
      dir-cache-time: '12h'
      no-modtime: 'true'
      vfs-cache-mode: 'full'
      vfs-read-chunk-size: '16Mi'

this was after migrating, and with the fingerprinting problem above:

volumes:
  jivol:
    driver: rclone
    driver_opts:
      remote: 'e2remote:things'
      allow_other: 'true'
      dir-cache-time: '12h'
      no-modtime: 'true'
      vfs-cache-mode: 'full'
      vfs-read-chunk-size: '16Mi'

So tried to comment out no-modtime: 'true' option, and then it works! Still detects change in fingerprint, but only the first time, not matter if i restart the container.

Seems to be strange, and not self-explanatory how to solve such problem. --no-modtime option behaves differently

If you want consistent times, you don't want --no-modtime

You could use --use-server-modtime instead which will make the times constant with less overhead.

What about --vfs-fast-fingerprint? I couldnt find much documentation about that.
What is the purpose of that? Is it s combination of other switches?

how about
https://github.com/rclone/rclone/blob/01877e5a0fc0ccfe36316435bed836845ec78a93/vfs/help.go#L188

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.