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


##########
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:
   Resolved, somewhat.  Clients can still be removed and closed but only if 
their total number has reached an excessive number, not because of any 
configured expiry time.  A warning that trouble has begun is logged.  Note that 
if the clients were not removed and closed and no warning was logged then 
trouble would nevertheless have begun because the application was heading the 
road to getting killed for leaking resources.



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