Comment 20 for bug 379264

Revision history for this message
MadMatt (yonkovim) wrote :

Ahhhhhh, its not thread safe...

Memcached set (via disk read): Block: 3a05:1:63ca : tmpkey: 63ca : Thread : 1077635408 time:433 settime: 1243554853 : 211071
Memcached miss: Block: 3a05:1:875d : Thread : 1077635408 time:39
Disk Read: Block: 3a05:1:875d : Thread : 1077635408 time:5905
Memcached set (via disk read): Block: 3a05:1:875d : tmpkey: 875d : Thread : 1077635408 time:6026 settime: 1243554853 : 217150
Memcached miss: Block: 3a05:9:3 : Thread : 1077635408 time:49
Memcached miss: Block: 3a05:9:1 : Thread : 1077635408 time:43
Disk Read: Block: 3a05:9:1 : Thread : 1077635408 time:11414
Memcached set (via disk read): Block: 3a05:9:1 : tmpkey: 1 : Thread : 1077635408 time:11541 settime: 1243554853 : 237219
Disk Read: Block: 3a05:9:1 : Thread : 1077635408 time:19482
Memcached set (via disk read): Block: 3a05:9:1 : tmpkey: 3 : Thread : 1077635408 time:19600 settime: 1243554853 : 237342
Memcached miss: Block: 3a05:9:2 : Thread : 1077635408 time:38
Disk Read: Block: 3a05:9:2 : Thread : 1077635408 time:316
Memcached set (via disk read): Block: 3a05:9:2 : tmpkey: 2 : Thread : 1077635408 time:437 settime: 1243554853 : 237828

Two calls to memcached happen at the same time, since the "key" is set per thread... one overwrite the other. THe tmpkey above is the actual block->offset that the page should be saved under! See its pushed to 1, but really its got 3's data.