Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Replaced GetAvailableServers with GetServer, allowing the Locator to control load-balancing.

...

Locator connection have slightly different behavior from cache server connections.  In version 1 of the protocol, locators are unable to maintain state on connections for round trip communication.  They still need to start off their connection with a NewConnectionClientVersion to identify the connection as protobuf and specify the version, but this must be immediately followed by a locator request operation from below.  If the locator is able to communicate with the given protocol version, it will handle the request operation, send the corresponding response, and then close the connection.  If unable to communicate with the requested version, the locator will just close the connection.

...

GetServer

Description

Returns a list of servers, in the cluster, visible to the clientServer to which the client may connect.  You are allowed to exclude servers that you do not want the locator to consider and you may restrict the set of servers considered by the locator to a specific group.  See "Using Member Groups" in Geode documentation.

Request

This request takes no parameters.

GetAvailableServersRequest 
GetServerRequest
Field NameData typeDescriptionMandatory?   Repeated?
excludedServersServer

one or more servers that should not be considered

by the locator as being suitable for the client

NY
serverGroupString

tells the locator to limit its search to the set of servers

in the given group

NN

Response

 

GetAvailableServersResponseGetServerResponse
Field NameData typeDescriptionMandatory?Repeated?
servers server Server  A list of servers that are available in the cluster to connect to.server to which the client may connectY

Expected Behavior

  • Return a list of all available servers in the cluster that are visible to the client

...

Error CodeError DefinitionError Description  
101NO_AVAILABLE_SERVER

No suitable server could be found. If you excluded some servers

you might want to retry without excluding them.