Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • When it is running - run() - it is continuously polling for rpcs by:
    • handleRpc<MasterServer>()
  • In Server.h, handleRpc<>() is hardwired to call dispatch() amongst doing other things.
  • Thus, when an rpc is received:
    • dispatch() -> callHandler<>() -> MasterServer::read()

NOTE about code flow:
When xClient - sendRecv,   ?where x is Coordinator or Master
xServer - handleRpc<>() -> dispatch() -> callHandler<>() -> .. NOTE about code flow:
When xClient - sendRecv,   ?where x is Coordinator or Master
xServer - handleRpc<>() -> dispatch() -> callHandler<>() -> ..

ObjectFinder.cc -> lookup()

  • check client's tabletMap (which is a cache of coordinator's tablet map)
  • if that tablet is recovering or if the obj was not found in any tablet:
    • refresh that cache by:
    • refresher(tabletMap) - hardwired to CoordinatorClient::getTabletMap (in the constructor)
  • finally return the SessionRef

ObjectFinder.cc -> lookup()
check client's tabletMap (which is a cache of coordinator's tablet map)
if that tablet is recovering or if the obj was not found in any tablet:
refresher(tabletMap) - hardwired to CoordinatorClient::getTabletMap - get a new copy of tabletMap
finally return the SessionRef

Some general information:

...