Hallo,
wir haben gerade ein Problem bei der Löschung von zugeordneten Bausteinen und hoffe jemand kann mir helfen.
Folgende Situation:
Ich habe den Baustein Con.2 einem Prozess zugeordnet und möchte diesen jetzt löschen.
Wenn ich das mache, erhalte ich folgende Fehlermeldung:
Aus den Logfiles werde ich leider nicht schlau.
Inhalt der verinice-client.log
2020-01-22 08:26:26,882 ERROR [ModalContext] (ExceptionUtil.java:60) - Fehler beim Löschen von Element.
org.springframework.remoting.RemoteAccessException: Could not deserialize result from HTTP invoker remote service [http://verinice.rz.uni-mannheim.de:8080/veriniceserver/service/commandServiceHttpInvoker
]; nested exception is java.lang.ClassNotFoundException: org.postgresql.util.PSQLException not found from bundle [sernet.springclient]
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.convertHttpInvokerAccessException(HttpInvokerClientInterceptor.java:207)
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:144)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy2.executeCommand(Unknown Source)
at sernet.gs.ui.rcp.main.common.model.CnAElementHome.remove(CnAElementHome.java:274)
at sernet.gs.ui.rcp.main.bsi.actions.DeleteHandler.removeElement(DeleteHandler.java:326)
at sernet.gs.ui.rcp.main.bsi.actions.DeleteHandler$DeleteElements.run(DeleteHandler.java:398)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: java.lang.ClassNotFoundException: org.postgresql.util.PSQLException not found from bundle [sernet.springclient]
Und hier der Inhalt des Logfiles auf dem Server:
2020-01-22 08:26:26,638 WARN [http-bio-8080-exec-6] (JDBCExceptionReporter.java:77) - SQL Error: 0, SQLState: 23503
2020-01-22 08:26:26,638 ERROR [http-bio-8080-exec-6] (JDBCExceptionReporter.java:78) - ERROR: update or delete on table „cnatreeelement“ violates foreign key constraint „fke125c5cf86683f32“ on table „permission“
Detail: Key (dbid)=(256891) is still referenced from table „permission“.
2020-01-22 08:26:26,640 ERROR [http-bio-8080-exec-6] (AbstractFlushingEventListener.java:301) - Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:92)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:222)
at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2484)
at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2702)
at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:77)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:172)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:655)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)Caused by: java.sql.BatchUpdateException: Batch entry 0 delete from cnatreeelement where dbId=256891 was aborted: ERROR: update or delete on table „cnatreeelement“ violates foreign key constraint „fke125c5cf86683f32“ on table „permission“
Detail: Key (dbid)=(256891) is still referenced from table „permission“. Call getNextException to see other errors in the batch.
at org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:148)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2212)
Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table „cnatreeelement“ violates foreign key constraint „fke125c5cf86683f32“ on table „permission“
Detail: Key (dbid)=(256891) is still referenced from table „permission“.
Ich habe bevor das Problem auftrat eine Sicherung der verinice DB wiederhergestellt indem ich die verinicedb gelöscht habe. Anschließend die verinicedb neu angelegt habe und die Sicherung eingespielt habe.
Hätte ich nach dem Anlegen der Datenbank auch wieder die Datenbank optimieren müssen, wie ind er Anleitung angeben?
psql -d verinicedb -f /usr/local/bin/create-indices.sql
Das sollte doch eigentlich in der Datenbank bereits gespeichert sein, oder?
Um Hilfe wäre ich sehr dankbar!
Viele Grüße
Alex