[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 SERVER-1420
http://github.com/mongodb/mongo/commit/ede2c74ab4333ade62f1e476ab55c0f1df512e7d

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 SERVER-1420
http://github.com/mongodb/mongo/commit/360628a253785d99ab0fc62d673ff74e1b6a7800

Generated at Thu Feb 08 02:56:58 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.