No primary key value for foreign key 'fk_zObjectInfo_objectUID' in table 'zObjectInfo'

  • 3487347
  • 24-Feb-2008
  • 30-Apr-2012

Environment

Novell ZENworks 10 Configuration Management

Situation

[Failed to save status data because of Exception: com.novell.zenworks.datamodel.exceptions.InternalDataModelException: org.hibernate.exception.ConstraintViolationException: could not insert:
...
Caused by: java.sql.SQLException: [[Sybase]][[ODBC Driver]][[SQL Anywhere]]No primary key value for foreign key'fk_zObjectInfo_objectUID' in table 'zObjectInfo'

Resolution

The error can indicate that the bundle was deleted prior to the status updates were received, and in that case, can be ignored.
As the agent is processing a bundle or policy, it records a status event for the various phases of processing (system requirements validation, bundle install, bundle launch, policy application). These status events are rolled up to the server and the zenloader inserts the information into the database. In the case of these error messages, the database rejects the status event because the bundle or policy UID in the status event does not reference a valid bundle or policy.

Additional Information

The simplest way to make this error to happen is to create a bundle, assign it to some devices, refresh the devices then delete the bundle. By the time the zenloader processes the status events from the agents, the bundle is gone so the database insertion will fail.

[DEBUG] [2/12/08 9:12:33 AM] [] [Loader.Status Storer Module] [Failed to save status data because of Exception: com.novell.zenworks.datamodel.exceptions.InternalDataModelException: org.hibernate.exception.ConstraintViolationException: could not insert: [[com.novell.zenworks.datamodel.objects.status.ObjectInformation]]] [Failed to save status data because of Exception: com.novell.zenworks.datamodel.exceptions.InternalDataModelException: org.hibernate.exception.ConstraintViolationException: could not insert: [[com.novell.zenworks.datamodel.objects.status.ObjectInformation]]] [] []
[DEBUG] [2/12/08 9:12:33 AM] [] [Loader.Status Storer Module][com.novell.zenworks.datamodel.exceptions.InternalDataModelException: org.hibernate.exception.ConstraintViolationException: could not insert: [[com.novell.zenworks.datamodel.objects.status.ObjectInformation]]
at com.novell.zenworks.datamodel.utils.hibernate.AbstractDatabaseTypeHelper.newStandardDataModelException(AbstractDatabaseTypeHelper.java:298)
at com.novell.zenworks.datamodel.utils.hibernate.sqlanywhere.SQLAnywhereHelper.newStandardDataModelException(SQLAnywhereHelper.java:262)
at com.novell.zenworks.datamodel.utils.hibernate.AbstractDatabaseTypeHelper.throwStandardDataModelException(AbstractDatabaseTypeHelper.java:287)
at com.novell.zenworks.datamodel.session.hibernate.AbstractHibernateSessionImpl.handleException(AbstractHibernateSessionImpl.java:175)
at com.novell.zenworks.datamodel.session.hibernate.AbstractHibernateSessionImpl.simpleSave(AbstractHibernateSessionImpl.java:331)
at com.novell.zenworks.datamodel.session.hibernate.HibernateBasicSession.simpleSave(HibernateBasicSession.java:895)
at com.novell.zenworks.datamodel.services.status.StatusImpl.saveStatusEvent(StatusImpl.java:312)
at com.novell.zenworks.loader.modules.statusstorer.StatusStorerModule.processStatus(StatusStorerModule.java:211)
at com.novell.zenworks.loader.modules.statusstorer.StatusStorerModule.run(StatusStorerModule.java:136)
at com.novell.zenworks.loader.ZENModuleThread.run(ZENModuleThread.java:111)
Caused by: org.hibernate.exception.ConstraintViolationException: could not insert: [[com.novell.zenworks.datamodel.objects.status.ObjectInformation]]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2140)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2503)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:51)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:988)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:337)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at com.novell.zenworks.datamodel.session.hibernate.HibernateTransactionImpl._commit(HibernateTransactionImpl.java:42)
at com.novell.zenworks.datamodel.session.hibernate.AbstractHibernateTransactionImpl.commit(AbstractHibernateTransactionImpl.java:46)
at com.novell.zenworks.datamodel.session.hibernate.AbstractHibernateSessionImpl.simpleSave(AbstractHibernateSessionImpl.java:320)
... 5 more
Caused by: java.sql.SQLException: [[Sybase]][[ODBC Driver]][[SQL Anywhere]]No primary key value for foreign key'fk_zObjectInfo_objectUID' in table 'zObjectInfo'
at ianywhere.ml.jdbcodbc.IIPreparedStatement.executeUpdate(Native Method)
at ianywhere.ml.jdbcodbc.IPreparedStatement.executeUpdate(IPreparedStatement.java:177)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2120)
... 18 more
] [com.novell.zenworks.datamodel.exceptions.InternalDataModelException: org.hibernate.exception.ConstraintViolationException: could not insert: [[com.novell.zenworks.datamodel.objects.status.ObjectInformation]]
at com.novell.zenworks.datamodel.utils.hibernate.AbstractDatabaseTypeHelper.newStandardDataModelException(AbstractDatabaseTypeHelper.java:298)
at com.novell.zenworks.datamodel.utils.hibernate.sqlanywhere.SQLAnywhereHelper.newStandardDataModelException(SQLAnywhereHelper.java:262)
at com.novell.zenworks.datamodel.utils.hibernate.AbstractDatabaseTypeHelper.throwStandardDataModelException(AbstractDatabaseTypeHelper.java:287)
at com.novell.zenworks.datamodel.session.hibernate.AbstractHibernateSessionImpl.handleException(AbstractHibernateSessionImpl.java:175)
at com.novell.zenworks.datamodel.session.hibernate.AbstractHibernateSessionImpl.simpleSave(AbstractHibernateSessionImpl.java:331)
at com.novell.zenworks.datamodel.session.hibernate.HibernateBasicSession.simpleSave(HibernateBasicSession.java:895)
at com.novell.zenworks.datamodel.services.status.StatusImpl.saveStatusEvent(StatusImpl.java:312)
at com.novell.zenworks.loader.modules.statusstorer.StatusStorerModule.processStatus(StatusStorerModule.java:211)
at com.novell.zenworks.loader.modules.statusstorer.StatusStorerModule.run(StatusStorerModule.java:136)
at com.novell.zenworks.loader.ZENModuleThread.run(ZENModuleThread.java:111)
Caused by: org.hibernate.exception.ConstraintViolationException: could not insert: [[com.novell.zenworks.datamodel.objects.status.ObjectInformation]]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2140)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2503)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:51)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:988)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:337)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at com.novell.zenworks.datamodel.session.hibernate.HibernateTransactionImpl._commit(HibernateTransactionImpl.java:42)
at com.novell.zenworks.datamodel.session.hibernate.AbstractHibernateTransactionImpl.commit(AbstractHibernateTransactionImpl.java:46)
at com.novell.zenworks.datamodel.session.hibernate.AbstractHibernateSessionImpl.simpleSave(AbstractHibernateSessionImpl.java:320)
... 5 more
Caused by: java.sql.SQLException: [[Sybase]][[ODBC Driver]][[SQL Anywhere]]No primary key value for foreign key'fk_zObjectInfo_objectUID' in table 'zObjectInfo'
at ianywhere.ml.jdbcodbc.IIPreparedStatement.executeUpdate(Native Method)
at ianywhere.ml.jdbcodbc.IPreparedStatement.executeUpdate(IPreparedStatement.java:177)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2120)
... 18 more
] [] []