|
There is only one place WiredTiger returns a WT_CACHE_FULL error for the durable storage engine. The error is returned when a session is configured to not wait for more than a certain duration, cache_max_wait_ms, if the application thread is pulled into eviction. Instead, the operation fails, and the application is forced to rollback. The error WiredTiger returns is WT_CACHE_FULL.
WT-8767 is changing that return to a WT_ROLLBACK error, with a rollback reason set that can be queried by WT_SESSION.get_rollback_reason(). This will make the behaviour consistent with other places in WiredTiger, where the application is asked to roll back for other reasons.
A server change will be needed wherever a WT_CACHE_FULL error is processed. Also, a new rollback reason will be added by WT-8767, which will need to be captured and processed by the execution layer.
|