[Udpcast] Confusing, troubling UDPcast results

Kyle Cordes kyle at kylecordes.com
Wed Oct 29 20:38:13 CET 2008


I'm using the latest (20080914) UDPcast, which I compiled from source on 
Ubuntu 8.04 on x64 (xeon). I get the same results I describe here, when 
I use the ancient (2004) UDPCast available in the Ubuntu packaging 
system. I also get the same results I describe here, whether I use 
"--file" or >file.

I am transmitting data about 51GB in size from one machine to several 
others; it is a database backup that I pipe from pg_dump with something 
like this:

pg_dump yadayada | udp-sender --no-kbd --autostart 90

and I receive it on 3 other machines with this:

udp-receiver --portbase 10200 --file filenamehere


On the sender, the output ends like so:

bytes= 54 682 988 148 re-xmits=0166670 (  0.4%) slice=0032  73 709 551 
615 -   2
Transfer complete.
Disconnecting #0 (ip-address-redacted)
Disconnecting #1 (ip-address-redacted)
Disconnecting #2 (ip-address-redacted)


On receiver 1, it ends like so:

bytes= 54 682 988 148  (123.12 Mbps) 54 682 848 884
Transfer complete.

the file is 54682848884 bytes long.


On receiver 2, it ends like so:

bytes= 54 682 988 148  (123.11 Mbps) 54 682 848 884
Transfer complete.

the file is 54682848884 bytes long.


On receiver 3, it ends like so:

bytes= 54 682 988 148  (123.13 Mbps) 54 682 938 996
Transfer complete.

the file is 54682938996 bytes long.


On this particular run, I got "lucky" in that two of the 3 receivers got 
the same file length; most of the time, 3 receivers end up with files of 
3 different lengths.  I think the correct length is 54 682 988 148, 
meaning that 0 of the 3 got the file delivered correctly.  In the 
output, udp-receiver appears to know both the correct length and the 
actual written length, yet not be bothered by them being different (!!).

I find this quite surprising and rather disturbing... I had planned to 
wrap an md5 mechanism around UDPcast somehow as an end-to-end check of 
the contents, but it's pointless to do that if it doesn't even get the 
correct *length* of the data.

Any help much appreciated, as I find UDPcast to be a fantastic idea and 
nicely implemented tool, aside from this problem.

Could there be some issue in which udp-receiver is confused between what 
go to the file/stdout (data payload) vs to stderr (absolutely everything 
else) ?

-- 
Kyle Cordes
http://kylecordes.com



More information about the Udpcast mailing list