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


##########
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> restClients = 
CacheBuilder.newBuilder()
+      .maximumSize(1000)

Review Comment:
   @zabetak thank you, that is indeed a mistake.  The ElasticsearchSchema must 
either be made to either only obtain a rest client from the cache (remove its 
own reference) or the cache expiry should be set to "never" which is the 
approach in the Cassandra adapter.  Which is preferred?



-- 
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