throws Exception {
ClientPartitionServiceImpl partitionService = (ClientPartitionServiceImpl) client.getClientPartitionService();
int partitionId = partitionService.getPartitionId(key);
final Address owner = partitionService.getPartitionOwner(partitionId);
if (owner != null) {
final ClientConnection connection = connectionManager.tryToConnect(owner);
final ClientCallFuture future = new ClientCallFuture(client, request, handler);
sendInternal(future, connection, partitionId);
return future;
}
return invokeOnRandomTarget(request);