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