[SERVER-61232] Move partitioned.h out of catalog Created: 03/Nov/21 Updated: 13/Dec/21 Resolved: 13/Dec/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Joshua Lapacik (Inactive) | Assignee: | Billy Donahue |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Participants: |
| Description |
|
`partitioned.h` does not belong in the catalog directory. Before SERVER-59680 it was only used by the cursor manager which used to live in `catalog` but has since been moved out. As part of the move it could be useful to refactor the `Partitioned` utility so that it satisfies the C++ AssociativeContainer concept. See this discussion thread. |
| Comments |
| Comment by Billy Donahue [ 13/Dec/21 ] | ||
|
Closing as a "won't do" at least for service arch. Reopen if this becomes an issue? It may be better to not have a Partitioned class template that tries to be a transparent generic associcative container interface. The clients may not really need it to be a "drop in" replacement for the underlying map anyway. This is kind of difficult to do generically since the different types of associative containers are so different from each other. So making this thing generic enough to be useful in util/ would be quite difficult. In the catalog/ where it currently lives, it's serving only a few specific uses and there's not an expectation that it will be correct beyond those instantiations. This might be the right long-term home for it. It's only used in two places:
| ||
| Comment by Blake Oler [ 09/Nov/21 ] | ||
|
All things considered, this change is pretty low-priority, joshua.lapacik. If you'd like to actually see this done in the near future, I'd suggest to make any non-controversial changes yourself and submit to the service arch team for review. |