Please describe what you are doing to trigger the bug:
duplicacy prune -exhaustive -d
with S3 storage driver targeting an idrive e2 bucket.
Please describe what you expect to happen (but doesn’t):
The command returns doing nothing.
Please describe what actually happens (the wrong behaviour):
Output of Found redundant chunk ...
floor(# of chunks / 1000) times. If dry run is not selected the chunks will be deleted. This seems to be happening because the S3 driver requests chunk listings in batches of 1000. It appears there is a bug with the idrive s3 implementation that causes it to return the marker object entry rather than start with the entry after the marker as documented by Amazon. The prune code believes this is a redundant chunk and deletes it when in reality it was the only one.
This is a bug with idrive but my understanding is they are somewhat slow, poorly responsive. Perhaps a workaround should be placed in duplicacy since this causes data loss.
Perhaps it may be enough to use ListObjectsV2 API call, though I have not tested this yet.
Edit: After initial testing, ListObjectsV2 has the same problem (even though the parameter is called start after). Skipping the first element on subsequent ListObjects calls does appear to avoid the problem.