diff --git a/src/main/java/com/avaje/ebeaninternal/server/autotune/service/DefaultAutoTuneService.java b/src/main/java/com/avaje/ebeaninternal/server/autotune/service/DefaultAutoTuneService.java index 328393128..9a6ec63b2 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/autotune/service/DefaultAutoTuneService.java +++ b/src/main/java/com/avaje/ebeaninternal/server/autotune/service/DefaultAutoTuneService.java @@ -252,6 +252,8 @@ public class DefaultAutoTuneService implements AutoTuneService { } Thread.sleep(waitMillis); } catch (InterruptedException e) { + // restore the interrupted status + Thread.currentThread().interrupt(); logger.warn("Error while sleeping after System.gc() request.", e); } } diff --git a/src/main/java/com/avaje/ebeaninternal/server/query/QueryFutureList.java b/src/main/java/com/avaje/ebeaninternal/server/query/QueryFutureList.java index 179bf4f46..74779df8c 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/query/QueryFutureList.java +++ b/src/main/java/com/avaje/ebeaninternal/server/query/QueryFutureList.java @@ -47,8 +47,12 @@ public class QueryFutureList extends BaseFuture> implements FutureLis public List getUnchecked() { try { return get(); + } catch (InterruptedException e) { + // restore the interrupted status (so client can check for that) + Thread.currentThread().interrupt(); throw new PersistenceException(e); + } catch (ExecutionException e) { throw new PersistenceException(e); } @@ -58,8 +62,12 @@ public class QueryFutureList extends BaseFuture> implements FutureLis public List getUnchecked(long timeout, TimeUnit unit) throws TimeoutException { try { return get(timeout, unit); + } catch (InterruptedException e) { + // restore the interrupted status (so client can check for that) + Thread.currentThread().interrupt(); throw new PersistenceException(e); + } catch (ExecutionException e) { throw new PersistenceException(e); }