Skip to content

Commit 5eeb448

Browse files
committed
do not try to acquire RW lock for termination
fixes #3783
1 parent 358cabb commit 5eeb448

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

opengrok-web/src/main/java/org/opengrok/web/api/v1/suggester/provider/service/impl/SuggesterServiceImpl.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,6 +412,10 @@ public void waitForInit(long timeout, TimeUnit unit) throws InterruptedException
412412
/** {@inheritDoc} */
413413
@Override
414414
public void close() {
415+
if (suggester != null) {
416+
suggester.terminate();
417+
}
418+
415419
lock.writeLock().lock();
416420
try {
417421
scheduler.shutdownNow();

suggester/src/main/java/org/opengrok/suggest/Suggester.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -603,13 +603,19 @@ public List<Entry<BytesRef, Integer>> getSearchCounts(
603603
return data.getSearchCountsSorted(field, page, pageSize);
604604
}
605605

606+
/**
607+
* Do not allow more suggester rebuilds.
608+
*/
609+
public void terminate() {
610+
terminating = true;
611+
}
612+
606613
/**
607614
* Closes opened resources.
608615
*/
609616
@Override
610617
public void close() {
611618
executorService.shutdownNow();
612-
terminating = true;
613619
projectData.values().forEach(f -> {
614620
try {
615621
f.close();

0 commit comments

Comments
 (0)