diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepository.java index 09c6a6d4..4e9349c1 100644 --- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepository.java +++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepository.java @@ -703,8 +703,11 @@ public class HSQLDBRepository implements Repository { private ResultSet checkedExecuteResultSet(PreparedStatement preparedStatement, Object... objects) throws SQLException { bindStatementParams(preparedStatement, objects); - if (!preparedStatement.execute()) - throw new SQLException("Fetching from database produced no results"); + // synchronize to block new executions if checkpointing in progress + synchronized (CHECKPOINT_LOCK) { + if (!preparedStatement.execute()) + throw new SQLException("Fetching from database produced no results"); + } ResultSet resultSet = preparedStatement.getResultSet(); if (resultSet == null) @@ -1056,4 +1059,4 @@ public class HSQLDBRepository implements Repository { return DEADLOCK_ERROR_CODE.equals(e.getErrorCode()); } -} \ No newline at end of file +}