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