View Issue Details

IDProjectCategoryView StatusLast Update
0002230gnunet-gtkgnunet-fs-gtkpublic2013-12-24 19:54
ReporterLRN Assigned ToChristian Grothoff Due Date
PrioritynormalSeverityfeatureReproducibilityalways
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.

Activities

Christian Grothoff

2012-03-20 08: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 19: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 14:54

manager   ~0007523

SVN 30153 adds the necessary modifications to the FS API.

Christian Grothoff

2013-10-11 15:00

manager   ~0007524

Implemented in SVN 20154.

Issue History

Date ModifiedUsernameFieldChange
2012-03-20 01:22LRNNew Issue
2012-03-20 08:24Christian GrothoffNote Added: 0005643
2012-06-18 20:57Christian GrothoffStatusnew => confirmed
2012-06-18 20:57Christian GrothoffProduct Version => 0.9.3
2012-06-18 20:57Christian GrothoffTarget Version => 0.9.5
2012-10-07 12:21Christian GrothoffTarget Version0.9.5 =>
2013-09-15 19:48Christian GrothoffTarget Version => 0.10.1
2013-09-15 19:49Christian GrothoffNote Added: 0007456
2013-09-15 19:51Christian GrothoffPrioritylow => normal
2013-09-22 15:47Christian GrothoffAssigned To => Christian Grothoff
2013-09-22 15:47Christian GrothoffStatusconfirmed => assigned
2013-10-11 14:54Christian GrothoffNote Added: 0007523
2013-10-11 14:54Christian GrothoffTarget Version0.10.1 => 0.10.0
2013-10-11 15:00Christian GrothoffNote Added: 0007524
2013-10-11 15:00Christian GrothoffStatusassigned => resolved
2013-10-11 15:00Christian GrothoffFixed in Version => 0.10.0
2013-10-11 15:00Christian GrothoffResolutionopen => fixed
2013-12-24 19:54Christian GrothoffStatusresolved => closed