julianhyde commented on code in PR #2698:
URL: https://github.com/apache/calcite/pull/2698#discussion_r847300161


##########
elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchSchemaFactory.java:
##########
@@ -53,6 +60,24 @@
 
   private static final Logger LOGGER = 
LoggerFactory.getLogger(ElasticsearchSchemaFactory.class);
 
+  // RestClient objects allocate system resources and are thread safe. Here, we
+  // cache them using a key derived from the hashCode()s of the parameters that
+  // define a RestClient.
+  private static Cache<Integer, RestClient> REST_CLIENTS = 
CacheBuilder.newBuilder()

Review Comment:
   What are the consequences of a key collision?
   * if there are no consequences (I.e. a client can serve several servers) 
maybe we should use a pool or a singleton. 
   * if the consequences are bad maybe we should not be using a hash key. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to