Failing UDP mode test

Brad Fitzpatrick brad at danga.com
Thu Sep 7 07:43:07 UTC 2006


Wonderful, thanks!

And disregard the 14 vs. 10:  I've made no attempt to declare the right
number of tests yet, since I was just trying to get something to work.

I'll finish up the UDP tests now to test all possible cases.

- Brad


On Wed, 6 Sep 2006, Steven Grimm wrote:

> This is failing because of the change in the semantics of the rcurr and
> rbuf members of the conn structure that happened when the Facebook code
> was merged into the mainline. The rcurr pointer wasn't getting reset to
> the start of the packet properly on UDP requests.
>
> I've checked in a fix.
>
> Now the UDP test is failing in a different way, though, that doesn't (as
> far as I can tell) seem to be due to the server: it is reporting 14
> successful tests out of 10! I am unfamiliar with the Perl test framework
> you're using so I can't immediately see what's going wrong.
>
> -Steve
>
>
> Brad Fitzpatrick wrote:
> > Stephen,
> >
> > Can you help me with me t/udp.t test in rev 376+ ?
> >
> > I can send a single response and get an answer, but the server doesn't
> > reply after that....
> >
> > 05:25:19.481731 IP localhost.37400 > localhost.49176: UDP, length: 17
> >         0x0000:  4500 002d 6d13 4000 4011 cfaa 7f00 0001  E..-m. at .@.......
> >         0x0010:  7f00 0001 9218 c018 0019 fe2c 00a1 0000  ...........,....
> >         0x0020:  0001 0000 6765 7420 666f 6f0d 0a         ....get.foo..
> > 05:25:19.482198 IP localhost.49176 > localhost.37400: UDP, length: 36
> >         0x0000:  4500 0040 0000 4000 4011 3cab 7f00 0001  E.. at ..@. at .<.....
> >         0x0010:  7f00 0001 c018 9218 002c fe3f 00a1 0000  .........,.?....
> >         0x0020:  0001 0000 5641 4c55 4520 666f 6f20 3020  ....VALUE.foo.0.
> >         0x0030:  360d 0a66 6f6f 7661 6c0d 0a45 4e44 0d0a  6..fooval..END..
> > 05:25:19.483596 IP localhost.37400 > localhost.49176: UDP, length: 17
> >         0x0000:  4500 002d 6d14 4000 4011 cfa9 7f00 0001  E..-m. at .@.......
> >         0x0010:  7f00 0001 9218 c018 0019 fe2c 00a2 0000  ...........,....
> >         0x0020:  0001 0000 6765 7420 666f 6f0d 0a         ....get.foo..
> >
> >
> > There, my two requests are identical, except one has 'a1' request ID,
> > and the second has 'a1' request ID.
> >
> > I've also tried with the same request ID:
> >
> > 05:29:05.030998 IP localhost.42683 > localhost.42659: UDP, length: 17
> >         0x0000:  4500 002d c52e 4000 4011 778f 7f00 0001  E..-.. at .@.w.....
> >         0x0010:  7f00 0001 a6bb a6a3 0019 fe2c 00a1 0000  ...........,....
> >         0x0020:  0001 0000 6765 7420 666f 6f0d 0a         ....get.foo..
> > 05:29:05.031248 IP localhost.42659 > localhost.42683: UDP, length: 36
> >         0x0000:  4500 0040 0000 4000 4011 3cab 7f00 0001  E.. at ..@. at .<.....
> >         0x0010:  7f00 0001 a6a3 a6bb 002c fe3f 00a1 0000  .........,.?....
> >         0x0020:  0001 0000 5641 4c55 4520 666f 6f20 3020  ....VALUE.foo.0.
> >         0x0030:  360d 0a66 6f6f 7661 6c0d 0a45 4e44 0d0a  6..fooval..END..
> > 05:29:05.032610 IP localhost.42683 > localhost.42659: UDP, length: 17
> >         0x0000:  4500 002d c52f 4000 4011 778e 7f00 0001  E..-./@. at .w.....
> >         0x0010:  7f00 0001 a6bb a6a3 0019 fe2c 00a1 0000  ...........,....
> >         0x0020:  0001 0000 6765 7420 666f 6f0d 0a         ....get.foo..
> >
> >
> > Still no answer the second time.
> >
> > I'd read try_read_udp() --- nowhere does it skip a packet if it's
> > lower than my previous request ID or sequence number.  In fact, it'd
> > only drop it if my sequence number were not zero.
> >
> > So I'm lost, and don't want to spend time debugging.
> >
> > For now, expect t/udp.t to fail, but it shouldn't.
> >
> > I don't want to do an official release until this is either fixed or
> > better documented.
> >
> > Thanks!
> >
> > - Brad
> >
> >
> >
>
>


More information about the memcached mailing list