|
Is this just an optimization, or is this required to be "perfect"? I.e: if the transaction is not proactively aborted, must it be guaranteed for the applyOps oplog entry to be less than 16MB?
An `applyOps` document has additional overhead because of the other fields it contains in addition to the the "keys" being numeric strings. Calculating the size a series of oplog entries would combine into is hard without actually performing the serialization.
Edit After rereading, I can now see this check should be in addition to failing at commit time due to the oplog size. I didn't realize the motivation for this ticket was preventing resource exhaustion.
|