inception icon indicating copy to clipboard operation
inception copied to clipboard

INCEpTION 39.0 fails with PostgreSQL

Open torgeirl opened this issue 3 weeks ago • 2 comments

After an in-place upgrade (switching jars, etc) from 38.6 to 39.0 INCEpTION fails to start, with the following error message in the application logs:

WARN [SYSTEM] SqlExceptionHelper - SQL Error: 0, SQLState: 25006
ERROR [SYSTEM] SqlExceptionHelper - ERROR: cannot execute UPDATE in a read-only transaction
ERROR [SYSTEM] boot - Error while processing event [LoggedEvent [created=2025-09-12 14:32:44.752, event=ProjectStateChangedEvent, user=<SYSTEM>, project=2, details={"state":"NEW"}]]
org.hibernate.exception.GenericJDBCException: JDBC exception executing SQL [update "project" p1_0 set "state_updated"=? where p1_0."id"=?] [ERROR: cannot execute UPDATE in a read-only transaction] [n/a]
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:63)
(...)
Caused by: org.postgresql.util.PSQLException: ERROR: cannot execute UPDATE in a read-only transaction
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2736)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2421)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)
        at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:525)
        at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:435)
        at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:196)
        at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:157)
        at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
        at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
        at org.hibernate.sql.exec.internal.StandardJdbcMutationExecutor.execute(StandardJdbcMutationExecutor.java:90)
        ... 85 more
WARN [SYSTEM] AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'StateUpdatedFieldsMigration' defined in class path resource [de/tudarmstadt/ukp/inception/documents/config/DocumentServiceAutoConfiguration.class]: Failed to instantiate [de.tudarmstadt.ukp.inception.documents.cli.StateUpdatedFieldsMigration]: Factory method 'StateUpdatedFieldsMigration' threw exception with message: Transaction silently rolled back because it has been marked as rollback-only

Server is running on RHEL9.7 with openjdk 17 while the database server is running PostgreSQL 17.

A rollback by switching back to the 38.6 jar seems to have worked (not extensively tested).

torgeirl avatar Dec 10 '25 09:12 torgeirl

Good to know that you are actually using PostgreSQL.

reckart avatar Dec 10 '25 13:12 reckart

Good to know that you are actually using PostgreSQL.

We are; settings.properties contains the following DB settings:

# POSTGRESQL
database.url=jdbc:postgresql://psql-server.domain.com:5432/db-name
database.username=db_user
database.password=my_secret_password

We have been running PostgreSQL since it was added as an option, in October last year I believe.

torgeirl avatar Dec 10 '25 13:12 torgeirl