[SERVER-26595] WT fsyncLock implementation opens every table Created: 12/Oct/16 Updated: 12/Oct/16 Resolved: 12/Oct/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | WiredTiger |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Susan LoVerso | Assignee: | Unassigned |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Operating System: | ALL | ||||
| Participants: | |||||
| Description |
|
The WT integration implementation of fsyncLock opens a backup cursor. When not given a specific URI, WiredTiger will setup the backup cursor to walk every table, which results in opening every table. MongoDB doesn't use the backup cursor data. To avoid this side effect, a URI should be passed in to the open_cursor call. |
| Comments |
| Comment by Susan LoVerso [ 12/Oct/16 ] | |
|
This proposed fix does not work. It requires WT internal work and | |
| Comment by Susan LoVerso [ 12/Oct/16 ] | |
|
This change does not fix the problem. Although it avoids opening up all the files, it also does not properly create the right content in the WiredTiger.backup file. I think we're going to need to look at the API change and internal WT modifications to create the correct backup file but not open all the files. | |
| Comment by Susan LoVerso [ 12/Oct/16 ] | |
|
The fix should go into wiredtiger_kv_engine.cpp in beginBackup. The line:
should pass a target URI as the config string. |