[ANNOUNCE] memcached 1.2.4
Tomash Brechko
tomash.brechko at gmail.com
Thu Dec 6 20:58:00 UTC 2007
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"));
--
Tomash Brechko
More information about the memcached
mailing list