Comment 1 for bug 1408061

Revision history for this message
paul luse (paul-e-luse) wrote :

So I guess one thing we could do is lock the part dir throughout the process such that anyone trying to land an object here would get an error and go try the next handoff. Or, we can look at some of the work I'm doing on the EC version of this and once that's fully baked look at applying the same kind of scheme here. On the EC side we're not killing the entire part dir at once, we're actually removing .data files as they're sync'd (for a totally different reason) and then once we're done we attempt to remove the dir but if its not empty we just move on. The reason it wouldn't be empty isn't because of the race mentioned here, its because it could be a normal case where multiple fragment indexes are stored in the same place however that logic would eliminate the issue called out there of accidentally deleting something that landed because we could contact all the primaries and therefore made the assumption that the proxy could also... I kinda like the latter option (put this on hold til the reconstructor is done and then borrow)