[SERVER-16019] Add special WT_CONNECTION::reconfigure command Created: 29/Oct/14  Updated: 17/May/19  Resolved: 18/Nov/14

Status: Closed
Project: Core Server
Component/s: Admin, Storage
Affects Version/s: None
Fix Version/s: 2.8.0-rc1

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

Issue Links:
Documented
is documented by DOCS-4406 Document WT runtime engine-level reco... Closed
Related
is related to SERVER-19483 Allow querying wiredTigerEngineRuntim... Closed
Tested
Participants:

 Description   

Add ability to reconfigure session level options like cache_size, etc.

Command:

This command is surfaced as a setParameter runtime option. It cannot be set at the command line, or via the config file.

{ setParameter : 1, "wiredTigerEngineRuntimeConfigSetting" : "key=value,key=value,..." }

The supported settings are list here in the wired tiger documentation.

Note, we place an additional restriction that we forbid embedded null characters in the string.

{ setParameter : 1, "wiredTigerEngineRuntimeConfigSetting" : "key=value\0,key=value" }

The string will get rejected due to the presence of "\0" (i.e., UTF-8 character 0) in the string.

Results:

On success,

{ ok : 1 } 

On failure,

{ "ok" : 0, "errmsg" : "WiredTiger reconfiguration failed with error code (22): Invalid argument" }

Unfortunately, WiredTiger does not provide a detail error message which we can return to the user. WiredTiger simply returns an error code in their API. The log file contains more information from WiredTiger.

Behavior:

The updated config settings are logged to log file. The settings specified in the command are merged with the current wired tiger settings. If they same key is specified in both the current configuration, and new configuration, the value from the new configuration is chosen.

Caveats

There is no way to query the current settings from WiredTiger. getParameter will always return an empty string when this setting is queried.



 Comments   
Comment by Githook User [ 15/Dec/14 ]

Author:

{u'username': u'kangas', u'name': u'Matt Kangas', u'email': u'matt.kangas@mongodb.com'}

Message: SERVER-16019 parameter name wiredTigerEngineRuntimeConfig

also rename class to WiredTigerEngineRuntimeConfigParameter
Branch: master
https://github.com/mongodb/mongo/commit/9eaafcaff45ac51a1f924e0562ad8e3f21318e34

Comment by Githook User [ 18/Nov/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-16019: Add support to setParameter for WT_CONNECTION::reconfigure
Branch: master
https://github.com/mongodb/mongo/commit/5aedc94e6539773606c8276d192d5342665b7a59

Comment by Githook User [ 18/Nov/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-16019: Add support to setParameter for WT_CONNECTION::reconfigure
Branch: master
https://github.com/mongodb/mongo/commit/7ec1120f79778344a57a6c65fa57cdf6480857ef

Generated at Thu Feb 08 03:39:42 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.