[SERVER-1420] DBClientPaired issue: checkMaster inlined in .CPP Created: 14/Jul/10 Updated: 12/Jul/16 Resolved: 14/Jul/10 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Client |
| Affects Version/s: | 1.4.4, 1.5.0 |
| Fix Version/s: | 1.4.5, 1.5.5 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | m savy | Assignee: | Eliot Horowitz (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Ubuntu 10.1 Linux x86, g++ 4.4.3 |
||
| Operating System: | ALL |
| Participants: |
| Description |
|
in /client/dbclient.cpp DBClientConnection& DBClientPaired::checkMaster() (ln 918), function is set as inline. This causes the checkMaster() function to be omitted from mongodbclient.a, the inline should be on the prototype in the header. The knock on effect of this is that it is impossible to use DBClientPaired without a linking error. Furthermore with a short amount of testing, (after removing the inline and rebuilding), I have been unable to use DBClientPaired successfully, as it seems to attempt to send data to the slave instead of the master. In fact I wonder why it requires the addresses of both members of the pair. Surely it should only require one, and transparently consult the server to determine which address the master is residing at? I will investigate this further later to see if I can add anything useful. |
| Comments |
| Comment by auto [ 14/Jul/10 ] |
|
Author: {'login': 'erh', 'name': 'Eliot Horowitz', 'email': 'eliot@10gen.com'}Message: don't inline in cpp |
| Comment by Eliot Horowitz (Inactive) [ 14/Jul/10 ] |
|
The reason you need to give both is that if one is done, how do you find the other? With replica sets, you'll be able to give a seed set and it'll find the others as long as 1 is up. |
| Comment by auto [ 14/Jul/10 ] |
|
Author: {'login': 'erh', 'name': 'Eliot Horowitz', 'email': 'eliot@10gen.com'}Message: don't inline in cpp |