[SERVER-26239] Improve handling of WT_CACHE_FULL for inMemory storage engine Created: 22/Sep/16  Updated: 06/Dec/17  Resolved: 27/Apr/17

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: 3.2.9, 3.3.12
Fix Version/s: 3.4.9, 3.5.7

Type: Improvement Priority: Major - P3
Reporter: Daniel Pasette (Inactive) Assignee: Alexander Gorrod
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File in_mem_table_config.patch    
Issue Links:
Backports
Depends
depends on SERVER-28059 Enhance in-memory storage engine conf... Closed
depends on WT-2932 Allow applications to selectively ign... Closed
Related
related to SERVER-24935 Fassert due to WT_CACHE_FULL in faile... Closed
related to SERVER-27014 Disable inmem_full.js test until cach... Closed
related to SERVER-29005 Review cache full handling for in-mem... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v3.4, v3.2
Sprint: Storage 2017-03-27, Storage 2017-04-17, Storage 2017-05-08
Participants:
Linked BF Score: 3

 Description   

There are multiple places in the code where there are problems related to handling WT_CACHE_FULL error returns. Three examples of code paths that need to be changed to handle WT_CACHE_FULL properly are:

  • If an index build would use more space than is available in memory. The particular error is encountered while cleaning up after such a problem, the solution is to retry the cleanup until it succeeds.
  • In WiredTigerSessionCache::releaseSession the call to haveDropsQueued results in a call to syncSizeInfo, which results in an update to the size storer table that can fail.
  • When an index build fails due to cache full, the path to rolling back the index build involves first updating the MongoDB metadata table via KVCollectionCatalogEntry::removeIndex. Since the cache is full, doing the update into the metadata also fails with WT_CACHE_FULL.


 Comments   
Comment by Githook User [ 10/Aug/17 ]

Author:

{'username': 'agorrod', 'email': 'alexander.gorrod@mongodb.com', 'name': 'Alex Gorrod'}

Message: SERVER-26239 Fix lint

(cherry picked from commit 35e96a65e9af9a160d983a57bf8033cfb7141188)
Branch: v3.4
https://github.com/10gen/mongo-enterprise-modules/commit/5f161dd14d7c0352d3fe1d0c4295c4e6428865de

Comment by Githook User [ 10/Aug/17 ]

Author:

{'username': 'agorrod', 'email': 'alexander.gorrod@mongodb.com', 'name': 'Alex Gorrod'}

Message: SERVER-26239 Ignore cache size for metadata tables when in-memory configured.

Required shuffling some callback hooks.

(cherry picked from commit bbbe16366ff7e9451bcac46fcadc09994811302e)
Branch: v3.4
https://github.com/10gen/mongo-enterprise-modules/commit/9c64a8254c4de00b410b35b112a65f3ac54aa741

Comment by Githook User [ 10/Aug/17 ]

Author:

{'username': 'agorrod', 'email': 'alexander.gorrod@mongodb.com', 'name': 'Alex Gorrod'}

Message: SERVER-26239 Improve handling of WT_CACHE_FULL for inMemory storage engine

(cherry picked from commit 8b437e7a762e3ef99848659dc0d68df1e2add0a4)
Branch: v3.4
https://github.com/mongodb/mongo/commit/fad92bef4b8207c5ce392c4402080c0460ccd5ba

Comment by Githook User [ 20/Apr/17 ]

Author:

{u'username': u'agorrod', u'name': u'Alex Gorrod', u'email': u'alexander.gorrod@mongodb.com'}

Message: SERVER-26239 Fix lint
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/35e96a65e9af9a160d983a57bf8033cfb7141188

Comment by Githook User [ 20/Apr/17 ]

Author:

{u'username': u'agorrod', u'name': u'Alex Gorrod', u'email': u'alexander.gorrod@mongodb.com'}

Message: SERVER-26239 Improve handling of WT_CACHE_FULL for inMemory storage engine
Branch: master
https://github.com/mongodb/mongo/commit/8b437e7a762e3ef99848659dc0d68df1e2add0a4

Comment by Githook User [ 20/Apr/17 ]

Author:

{u'username': u'agorrod', u'name': u'Alex Gorrod', u'email': u'alexander.gorrod@mongodb.com'}

Message: SERVER-26239 Ignore cache size for metadata tables when in-memory configured.

Required shuffling some callback hooks.
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/bbbe16366ff7e9451bcac46fcadc09994811302e

Generated at Thu Feb 08 04:11:31 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.