Describe the enhancement requested
When getFlightInfo reports a list of endpoints, the driver internally creates a FlightClient for each endpoint that reports a Location. These clients can benefit from being cached/pooled since a server will likely re-use endpoints for subsequent queries. This should likely be a configuration option.
The driver should also check if the Location at an endpoint is the same as the original location used when calling getFlightInfo and avoid creating a new FlightClient in this case.
Investigate using https://github.com/ben-manes/caffeine for caching.
Component(s)
FlightRPC, Java