Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-1420

DBClientPaired issue: checkMaster inlined in .CPP

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 1.4.5, 1.5.5
    • Affects Version/s: 1.4.4, 1.5.0
    • Component/s: Internal Client
    • None
    • Environment:
      Ubuntu 10.1 Linux x86, g++ 4.4.3
    • ALL

      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.

            Assignee:
            eliot Eliot Horowitz (Inactive)
            Reporter:
            m.savy m savy
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: