Storing the RecordId in the KeyString on unique indexes causes our namespaces to become corrupted on highly parallel workloads such as the jstest/core/bench_test3.js.
The area of concern is when the collection is initially empty and two different threads attempt to insert the same document with the same value on a unique index. Since each thread is working in its own snapshot, it will not see the insert made by the other thread and if we use the RecordId in the KeyString, then upon merging, we will not have a conflict since both of the documents would have differing RecordIds. So for unique indexes, we shouldn't store the RecordId in the KeyString but in the value pointed to with the KeyString.