[SERVER-28744] When grouping collections, have createRecordStore/createSortedDataInterface search existing tables to share. Created: 11/Apr/17 Updated: 06/Dec/22 Resolved: 09/Nov/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Daniel Gottlieb (Inactive) | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Assigned Teams: |
Storage Execution
|
||||
| Sprint: | Storage 2017-05-29, Storage 2017-06-19 | ||||
| Participants: | |||||
| Description |
|
Currently wiredTiger always creates a new table for each collection or index. When --groupCollection is enabled, these methods have to search if a "compatible" table exists. The table should only be created if none exist. A table is considered compatible if it's associated with the same database the collection/index belongs to. Note indexes and collections will still be stored in separate tables. Thus each database should have one table for collections and one for indexes. The table name for collections will be records-<database ident> and indexes indexes-<database ident>. Dropping collections/indexes must now refrain from unconditionally dropping the underlying WT table. Instead the underlying table must only be dropped if the last collection/index is being removed from it. The oplog collection must remain exempt from sharing logic. |