PostgreSQL error observed since the update to Nexus v3.84 Community Edition - Sonatype Nexus Repository - Sonatype Community
PostgreSQL error observed since the update to Nexus v3.84 Community Edition
post by eraimbau on Sep 24, 2025
Since upgrading to v3.84.0 (on RHEL8), the following error appears several times a day in the nexus.log file.
This error seems non-blocking, but do you have any idea on its origin and how to try to fix it, please?
2025-09-24 07:22:48,290+0200 ERROR [periodic-10-thread-6] *SYSTEM org.sonatype.nexus.scheduling.internal.PeriodicJobServiceImpl - Periodic job threw exception
org.sonatype.nexus.datastore.api.DataAccessException:
### Error updating database. Cause: org.postgresql.util.PSQLException: ERROR: syntax error at or near "LIMIT"
Position: 151
### The error may exist in com/sonatype/nexus/pro/systemchecks/heartbeat/internal/NodeHeartbeatDAO.xml
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: DELETE FROM node_info_data WHERE heartbeat_id NOT IN (SELECT DISTINCT heartbeat_id FROM node_heartbeat) LIMIT 1000 ;
### Cause: org.postgresql.util.PSQLException: ERROR: syntax error at or near "LIMIT"
Position: 151
at org.sonatype.nexus.datastore.mybatis.DataAccessSqlSession.unwrapMyBatisException(DataAccessSqlSession.java:125)
at org.sonatype.nexus.datastore.mybatis.DataAccessSqlSession.update(DataAccessSqlSession.java:86)
at org.apache.ibatis.session.defaults.DefaultSqlSession.delete(DefaultSqlSession.java:212)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:72)
at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
at jdk.proxy2/jdk.proxy2.$Proxy321.removeInfoStale(Unknown Source)
at com.sonatype.nexus.pro.systemchecks.heartbeat.internal.NodeInfoStoreImpl.removeStale_aroundBody4(NodeInfoStoreImpl.java:68)
at com.sonatype.nexus.pro.systemchecks.heartbeat.internal.NodeInfoStoreImpl$AjcClosure5.run(NodeInfoStoreImpl.java:1)
at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:164)
at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:58)
at org.sonatype.nexus.transaction.TransactionAspect.proceedWithTransaction(TransactionAspect.java:57)
at org.sonatype.nexus.transaction.TransactionAspect.invoke(TransactionAspect.java:48)
at org.sonatype.nexus.pro.systemchecks.heartbeat.internal.NodeInfoStoreImpl.removeStale(NodeInfoStoreImpl.java:66)
at org.sonatype.nexus.pro.systemchecks.heartbeat.NodeHeartbeatManagerImpl.clearStale(NodeHeartbeatManagerImpl.java:323)
at org.sonatype.nexus.scheduling.internal.PeriodicJobServiceImpl.lambda$3(PeriodicJobServiceImpl.java:143)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.currentThread().getName);
Caused by: org.postgresql.util.PSQLException: ERROR: syntax error at or near "LIMIT"
Position: 151
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2725)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2412)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:371)
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:502)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:419)
at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:194)
at org.postgresql.jdbc.PgPreparedStatement.execute(PgPreparedStatement.java:180)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75)
at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
at org.sonatype.nexus.datastore.mybatis.EntityExecutor.update(EntityExecutor.java:74)
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
at org.sonatype.nexus.datastore.mybatis.DataAccessSqlSession.update(DataAccessSqlSession.java:83)
... 20 common frames omitted
post by mpiggott on Sep 24, 2025
I believe the fix for this is included in the 3.85 release which should be soon.