6 Feb
2011
6 Feb
'11
10:24 a.m.
Why does it cause a spin in this usecase?
It goes into a spin, because even if the file was reopened, _recover_state() will end up calling log_proto_buffered_server_apply_state() which will lseek to an offset past EOF. I'm not entirely sure why it will do that, however - there's two scenarios that can happen, and I'm not sure which one we end up in. I'll test it as soon as possible. Anyway, being past EOF will trigger NC_FILE_MOVED again, and we start the whole process again, and again, and again. Come to think of it, the problem is probably an inconsistency in state, but that's just my gut feeling at the moment. I'll have a closer look at this later today. -- |8]