|
There isn't a clearly defined behavior of how modifications done to an UnorderedFastKeyTable will affect what values a scanning iterator will observe. SERVER-32532 is an example of where the iterator is expecting to observe all items in the map, but due to underlying function calls erasing and adding items back in, the required behavior is not achieved.
I apologize that this ticket isn't proposing a complete specification, but I believe at the very least, moving and accessing an iterator should cause a crash (debug mode only?) if the underlying map has had items both removed and added since the iterator's creation. That would have been sufficient for surfacing SERVER-32532.
|