[ANNOUNCE] memcached 1.2.4

dormando dormando at rydia.net
Fri Dec 7 00:30:44 UTC 2007


Tomash Brechko wrote:
> On Thu, Dec 06, 2007 at 12:40:28 -0800, dormando wrote:
>> Those tests ended up being nondeterministic. I had a report of someone 
>> running a VM with very little memory allocated to it, and the tests 
>> failed with the results flipped. If he allocated more memory, they 
>> flipped back.
>>
>> In looking at it, I can only see it working if you do something to 
>> ensure memcached received the first command before the second one... 
>> Otherwise tcp magic could get them flipped.
> 
> Got it.  Didn't notice two different sockets at first, yes, nothing
> enforces the order of two commands.
> 
> Then this piece:
> 
>   print $sock "cas foo1 0 0 6 $result[0]\r\nbarva2\r\n";
>   print $sock2 "cas foo1 0 0 5 $result2[0]\r\napple\r\n";
> 
>   is(scalar <$sock>, "STORED\r\n", "cas success, set foo1");
>   is(scalar <$sock2>, "EXISTS\r\n", "cas failed for foo1");
> 
> should probably be
> 
>   print $sock "cas foo1 0 0 6 $result[0]\r\nbarva2\r\n";
>   print $sock2 "cas foo1 0 0 5 $result2[0]\r\napple\r\n";
> 
>   my $res1 = scalar <$sock>;
>   my $res2 = scalar <$sock2>;
>   ok(($res1 eq "STORED\r\n" and $res2 eq "EXISTS\r\n") or
>      ($res1 eq "EXISTS\r\n" and $res2 eq "STORED\r\n"));

So this is testing ... cas failure?



More information about the memcached mailing list