Ticket #235 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

dTa nigthly skips duplicate files, but too late

Reported by: JimmY2K Assigned to:
Priority: critical Milestone: 1.0
Component: Downloads Version: 1.0
Keywords: Cc:
Operating System: All

Description (Last modified by JimmY2K)

If dTa is set to skip duplicate file names, it doesn't skip them as soon as it starts the task, but at the end of download. So the file is downloaded and then is skipped.

Change History

2007-07-02 22:51:44 changed by JimmY2K

  • description changed.

2007-07-03 00:31:12 changed by MaierMan

I know, but didn't address this yet. Because I didn't know how to do it best.
I don't really like the way the release version does it, far too many checks IMO.

I'd propose to do checks in 2 instances only:

  • When the name is settled (i.e. after we sniffed all headers). Provide Rename, Skip, Overwrite there. Check the list of currently running download + filesys.
  • Right before the file is placed into the destination (like it is now). Provide Rename, Delete, Overwrite there. Only check the filesys.

I really don't like e.g. having to make choices for a bunch of downloads named img.php to later have those changes voided because the script provided another (probably unique) filename. ;)

Other points we have to take care of:

  • It is bad to have multiple Choice-Dialogs pop up at the same time (as this creates races). This really needs to be addressed; I consider this a bug.
  • The dialog shouldn't stop further processing (only for the affected download(s)). Or else it is impossible to have choice and do over-night downloads.

I'm thinking of an asynchronous message queue here that will notify the download once the choice is made.
This will also prevent blocking issues (think of the special code to reset the last-activity timestamps in order to prevent timeouts arising from this blocking; or servers cutting the connection).

2007-07-04 09:59:55 changed by JimmY2K

Yes, I agree with your points.

2007-07-08 20:26:50 changed by MaierMan

  • status changed from new to closed.
  • resolution set to fixed.

Fixed by diff:@481:487