[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Mldonkey-bugs] [bug #1722] file gets downloaded more than 100% - false
From: |
nobody |
Subject: |
[Mldonkey-bugs] [bug #1722] file gets downloaded more than 100% - false chunks received |
Date: |
Tue, 26 Aug 2003 04:53:47 -0400 |
User-agent: |
Mozilla/5.0 Galeon/1.2.5 (X11; Linux i686; U; ) Gecko/20020623 Debian/1.2.5-0.woody.1 |
=================== BUG #1722: LATEST MODIFICATIONS ==================
http://savannah.nongnu.org/bugs/?func=detailbug&bug_id=1722&group_id=1409
Changes by: Anonymous user Date: mar 26.08.2003 à 04:53
------------------ Additional Follow-up Comments ----------------------------
Last time I looked at the officiel eMule sources, ICH implementation was
actually much more simple than that. When corruption is found, chunk is
invalidated (but data not cleared).
Download starts over, overwriting previous data as it arrives; But md4 hash is
recomputed each time, so eventually the chunk may get validated before being
fully redownloaded...
=================== BUG #1722: FULL BUG SNAPSHOT ===================
Soumis par: Loial Projet: mldonkey, a free e-Donkey client
Signalé le: ven 15.11.2002 à 09:14
Category: Core Severity: 5 - Major
Bug Group: None Resolution: None
Assigned to: None Status: Open
Release: 2.00 Release:
Platform Version: Linux i386-i686 Binaries Origin: Compiled From CVS
Summary: file gets downloaded more than 100% - false chunks received
Original Submission: I'm having difficulty downloading some files correctly
because I download more than 100% of the file.
This is what I think happens:
I download a file,
e.g.ed2k://|file|Need_For_Speed_Hot_Pursuit_2.DEVIANCE.ShareReactor.bin|739678128|CEDEDC2F223B6FC7A9B0AC651A686FBD|/
but someone seems to have some incorrect chunks, because the downloaded size is
bigger than the original file size. Pressing 'Verify chunks' removes the
incorrect data en leaves me with a file that is e.g. 95% downloaded. This is
good. However the incorrect chunks are downloaded again, so I again have a file
that is not correct and I have to press 'Verify chunks' again. This keeps
repeating itself.
The problem is, I think, that the incorrect chunk is downloaded from the same
user(s) again. It would be better though if the username is remembered as
having that incorrect part, so the part is downloaded from someone else.
Problem might be that during transmission of the original correct chunk the
data got corrupted, resulting in the now incorrect chunk and then it would not
be wise to remember that user as having an incorrect chunk. Or is this no
problem, because it is already taken care of by the transmission protocol?
It can be said that there isn't a real problem here, because eventually the
missing part will be downloaded from someone else and then the chunk will be
correct and the file will be finished. However at the moment I am downloading
at 100kb/s for half a day already and I still only have the same 90% of the
file that I had this morning. This is ofcourse a big waste of network bandwith
and should therefor be prevented.
I hope I could make myself clear :)
Goodluck and thanx
Follow-up Comments
*******************
-------------------------------------------------------
Date: mar 26.08.2003 à 04:53 By: None
Last time I looked at the officiel eMule sources, ICH implementation was
actually much more simple than that. When corruption is found, chunk is
invalidated (but data not cleared).
Download starts over, overwriting previous data as it arrives; But md4 hash is
recomputed each time, so eventually the chunk may get validated before being
fully redownloaded...
-------------------------------------------------------
Date: jeu 21.11.2002 à 19:30 By: None
I could not find a specification of the ICH (Intelligent Corruption Handling)
protocol extension, but it looks rather simple.
With standard edonkey protocol, you fetch chunks (9.5Mb) md4 hashes before
downloading, then each time you complete a chunk, you use its reference hash to
validate the chunk. If it doesn't match, the whole chunk is invalidated.
With ICH, when corruption is detected, you ask for md4 hashes of zones (180Kb)
inside the chunk to another peer, and individually validate or invalidate
zones, then only refetch corrupted zones...
-------------------------------------------------------
Date: mar 19.11.2002 à 10:05 By: Loial
Yesterday the download finished. It took me quite a while to get the last few
percent. I have no idea how much false chunks I've downloaded, although I have
seen the downloaded percentage wrap around and display a negative number once
or twice ;-)
I do not know what you mean with 'the eMule's ICH Protocol extension', so I
can't comment on that.
-------------------------------------------------------
Date: dim 17.11.2002 à 10:17 By: None
I tried downloading this file (giving the whole ed2k URL wasn't very wise; next
time, if you really need to, only give MD4 hash and size, it's enough)
Download went to 101.6% or so, and the file completed normally, without my
intervention...
-------------------------------------------------------
Date: sam 16.11.2002 à 15:11 By: None
IP packets are checksummed, so corruption during transfer should be detected;
But they're other sources of corruption (disk, memory,... of a peer)
The problem is that a given chunk doesn't usually come from just one source,
but from several sources, so mldonkey would have to keep a list of involved
sources for each chunk...
Another solution would be to implement the eMule's ICH protocol extension (or a
similar extension).
La liste CC est vide
Il n'y a aucun fichier attaché actuellement
For detailed info, follow this link:
http://savannah.nongnu.org/bugs/?func=detailbug&bug_id=1722&group_id=1409
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Mldonkey-bugs] [bug #1722] file gets downloaded more than 100% - false chunks received,
nobody <=