[SERVER-1822] Eliminate duplicate symbols between mongod and mongos files Created: 21/Sep/10 Updated: 06/Dec/22 Resolved: 25/Jan/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Alberto Lerner | Assignee: | [DO NOT USE] Backlog - Sharding Team |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Assigned Teams: |
Sharding
|
||||||||||||
| Participants: | |||||||||||||
| Description |
|
Currently it is not possible to link an executable before it decides if it wants to be a mongod or a mongos. The underlying reason is that some symbols are implement in one way in a mongod and in a different way in a mongo's. There are three reasons I can list for that (I'll attach a list of symbols after this; I just want to get a JIRA number for this now.) Implications of this approach are several, the one that motivated this JIRA in particular is that writing dbtest for mongos code is a bit tricky today, perhaps possible, but with too many link-related pitfalls. A suggestion here is to address 1-3 above, in particular making it easier to enrich the dbtest/ directory as we go. |
| Comments |
| Comment by auto [ 01/Oct/10 ] |
|
Author: {'login': 'alerner', 'name': 'Alberto Lerner', 'email': 'alerner@10gen.com'}Message: |
| Comment by auto [ 01/Oct/10 ] |
|
Author: {'login': 'alerner', 'name': 'Alberto Lerner', 'email': 'alerner@10gen.com'}Message: |
| Comment by auto [ 01/Oct/10 ] |
|
Author: {'login': 'alerner', 'name': 'Alberto Lerner', 'email': 'alerner@10gen.com'}Message: |
| Comment by Alberto Lerner [ 21/Sep/10 ] |
|
The windows linker's output detects instances of the three cases. Here are the ones I bumped into (but there may be others): 1. Commands (dbcommands.cpp and s/commands_admin.cpp, when not otherwise noted) 2a. No-ops in mongod (in s/s_only.cpp and ...) 2b. Noops in mongos (in s/d_util.cpp and...) 3. Double symbol inclusion |
| Comment by auto [ 21/Sep/10 ] |
|
Author: {'login': 'alerner', 'name': 'Alberto Lerner', 'email': 'alerner@10gen.com'}Message: allow dbtests for sharded code as well (revert SConstruct manually, defer to |