In order to achieve concurrency, we have introduced instantiation of ExecutorService in several places in cuvs-lucene. The current pattern of using the ExecutorService doesn't handle releasing resources correctly and needs to be replaced. JDK 25 introduces a class that does exactly what we need here: StructuredTaskScope. So, after we move to JDK 25, we should address this issue.
Depends on #2517
In order to achieve concurrency, we have introduced instantiation of ExecutorService in several places in cuvs-lucene. The current pattern of using the ExecutorService doesn't handle releasing resources correctly and needs to be replaced. JDK 25 introduces a class that does exactly what we need here: StructuredTaskScope. So, after we move to JDK 25, we should address this issue.
Depends on #2517