|
When WiredTiger is under a certain extreme level of dirty cache pressure, it will roll back a candidate longest-running transaction and output a message oldest pinned transaction ID rolled back for eviction
Today, when this occurs, it is translated into a WriteConflictException, which retries the operation almost immediately. This can result in a situation, particularly where CPU is scarce, where the system live-locks retrying operations forever and never making progress, if the operations themselves are CPU-intensive.
Ideally, for this specific type of rollback, the retry loop would pause a (relatively long, say multiple seconds) amount of time before retrying.
|