View Issue Details

IDProjectCategoryView StatusLast Update
0002230gnunet-gtkgnunet-fs-gtkpublic2013-12-24 20:54
ReporterLRNAssigned ToChristian Grothoff 
Status closedResolutionfixed 
Product Version0.9.3 
Target Version0.10.0Fixed in Version0.10.0 
Summary0002230: No gradual progress updates for directories
DescriptionAt the moment when publishing (for example; applies to downloads too) a directory, GNUnet-FS-GTK will show progress for individual files only. Parent directories of these files receive only one progress message, which updates them from 0% to 100% - once all their children are completed.

Instead GNUnet-FS-GTK (or gnunet-service-fs?) should remember the total number of files in a directory (counting files in subdirectories too), and update its progress every time a file is completed (that is, a directory with 2 subdirectories (1 files in one, 2 files in the other) and 2 files (totalling up 5 files) will be updated to 20%, 40%, 60%, 80% and 100%; subdirectories will be updated 1 (100%) and 2 (50%, 100%) times respectively). While such progress updates won't be very smooth, it's better than what we have now. Doing smooth updates requires calculating size of the whole directory (in bytes), and updating all parents up the chain every time a block is completed. This is possible, but the size-counting part might be error-prone (will fail for directories that have total size larger than 8589934592 gigabytes). Counting files is safer (i doubt that we will ever hit the 2^63 number of files limit).
TagsNo tags attached.


Christian Grothoff

2012-03-20 09:24

manager   ~0005643

Actually, I think this is technically incorrect. The parent directory WILL get more than one progress message if the size of the directory information is >32k. The progress updates are for the directory "file", not the children. Now, *usually* the directory is small and thus you're right that it will then to instantly to 100%.

I'm not sure about the idea of counting files as it might be highly inaccurate (if you have, say, a single very large file and a second tiny file). Also, I don't think we need to worry about users sharing 2^64 bytes anytime soon (even transitive in the directory). After all, it would have to fit into the database and on disk.

Finally, gnunet-service-fs has no notion of files or directories, so that's not a place for you to even look in this context ;-).

Christian Grothoff

2013-09-15 21:49

manager   ~0007456

Well, looking at the GUI, we are clearly not showing any progress for publishing directories on the top level, so this should be fixed.

Christian Grothoff

2013-10-11 16:54

manager   ~0007523

SVN 30153 adds the necessary modifications to the FS API.

Christian Grothoff

2013-10-11 17:00

manager   ~0007524

Implemented in SVN 20154.

Issue History

Date Modified Username Field Change
2012-03-20 02:22 LRN New Issue
2012-03-20 09:24 Christian Grothoff Note Added: 0005643
2012-06-18 22:57 Christian Grothoff Status new => confirmed
2012-06-18 22:57 Christian Grothoff Product Version => 0.9.3
2012-06-18 22:57 Christian Grothoff Target Version => 0.9.5
2012-10-07 14:21 Christian Grothoff Target Version 0.9.5 =>
2013-09-15 21:48 Christian Grothoff Target Version => 0.10.1
2013-09-15 21:49 Christian Grothoff Note Added: 0007456
2013-09-15 21:51 Christian Grothoff Priority low => normal
2013-09-22 17:47 Christian Grothoff Assigned To => Christian Grothoff
2013-09-22 17:47 Christian Grothoff Status confirmed => assigned
2013-10-11 16:54 Christian Grothoff Note Added: 0007523
2013-10-11 16:54 Christian Grothoff Target Version 0.10.1 => 0.10.0
2013-10-11 17:00 Christian Grothoff Note Added: 0007524
2013-10-11 17:00 Christian Grothoff Status assigned => resolved
2013-10-11 17:00 Christian Grothoff Fixed in Version => 0.10.0
2013-10-11 17:00 Christian Grothoff Resolution open => fixed
2013-12-24 20:54 Christian Grothoff Status resolved => closed