mbari-org / vars-annotation

Video Annotation Application for MBARI's Media Management (M3) software stack
https://docs.mbari.org/vars-annotation/
Apache License 2.0
16 stars 6 forks source link

Cannot delete concepts from Knowledgebase #111

Closed NancyJS closed 5 years ago

NancyJS commented 5 years ago

Hi Brian,

1) I am unable to delete concepts from the KB and to do a global replacements (when applicable). Now that the new database is set up, can this bug be fixed? See error below.

2) Are you receiving the error reports I'm sending from KB?

Thanks, ~njs

Caused by: javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.4.v20160829-44060b6): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Failed to update database "VARS" because the database is read-only. Error Code: 3906 Call: UPDATE Observation SET ConceptName = ?, LAST_UPDATED_TIME = ? WHERE ((id = ?) AND (LAST_UPDATED_TIME = ?)) bind => [4 parameters bound] Query: UpdateObjectQuery(ObservationImpl ([id=2200659] conceptName=Tritonia tetraquetra, observer=linda, observationDate=Tue Jul 17 23:00:35 UTC 2007))
org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:159) vars.jpa.DAO.endTransaction(DAO.java:99) vars.knowledgebase.ui.actions.ApproveHistoryTask$ADeleteChildConceptTask.approve(ApproveHistoryTask.java:306) vars.knowledgebase.ui.actions.ApproveHistoryTask.approve(ApproveHistoryTask.java:138) vars.knowledgebase.ui.actions.ApproveHistoryTask.doTask(ApproveHistoryTask.java:159) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:54) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:29) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:980) org.bushe.swing.event.SwingEventService.publish(SwingEventService.java:78) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:920) org.bushe.swing.event.EventBus.publish(EventBus.java:65) vars.knowledgebase.ui.EditConceptTreePopupMenu.triggerRemoveAction(EditConceptTreePopupMenu.java:220) vars.knowledgebase.ui.EditConceptTreePopupMenu$2.actionPerformed(EditConceptTreePopupMenu.java:86) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) javax.swing.AbstractButton.doClick(AbstractButton.java:376) javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842) com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157) javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886) java.awt.Component.processMouseEvent(Component.java:6539) javax.swing.JComponent.processMouseEvent(JComponent.java:3324) java.awt.Component.processEvent(Component.java:6304) java.awt.Container.processEvent(Container.java:2239) java.awt.Component.dispatchEventImpl(Component.java:4889) java.awt.Container.dispatchEventImpl(Container.java:2297) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) java.awt.Container.dispatchEventImpl(Container.java:2283) java.awt.Window.dispatchEventImpl(Window.java:2746) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) java.awt.EventQueue.access$500(EventQueue.java:97) java.awt.EventQueue$3.run(EventQueue.java:709) java.awt.EventQueue$3.run(EventQueue.java:703) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) java.awt.EventQueue$4.run(EventQueue.java:733) java.awt.EventQueue$4.run(EventQueue.java:731) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.awt.EventQueue.dispatchEvent(EventQueue.java:730) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 
Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.4.v20160829-44060b6): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Failed to update database "VARS" because the database is read-only. Error Code: 3906 Call: UPDATE Observation SET ConceptName = ?, LAST_UPDATED_TIME = ? WHERE ((id = ?) AND (LAST_UPDATED_TIME = ?)) bind => [4 parameters bound] Query: UpdateObjectQuery(ObservationImpl ([id=2200659] conceptName=Tritonia tetraquetra, observer=linda, observationDate=Tue Jul 17 23:00:35 UTC 2007))
org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:331) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:902) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:964) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:633) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:560) org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2056) org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:306) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.updateObject(DatasourceCallQueryMechanism.java:797) org.eclipse.persistence.internal.queries.StatementQueryMechanism.updateObject(StatementQueryMechanism.java:435) org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1078) org.eclipse.persistence.queries.UpdateObjectQuery.executeCommitWithChangeSet(UpdateObjectQuery.java:84) org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:301) org.eclipse.persistence.queries.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:58) org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:904) org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:803) org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:108) org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:85) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1857) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1839) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1790) org.eclipse.persistence.internal.sessions.CommitManager.commitChangedObjectsForClassWithChangeSet(CommitManager.java:273) org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:131) org.eclipse.persistence.internal.sessions.AbstractSession.writeAllObjectsWithChangeSet(AbstractSession.java:4264) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1441) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1531) org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.commitRootUnitOfWork(RepeatableWriteUnitOfWork.java:278) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitAndResume(UnitOfWorkImpl.java:1169) org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:134) vars.jpa.DAO.endTransaction(DAO.java:99) vars.knowledgebase.ui.actions.ApproveHistoryTask$ADeleteChildConceptTask.approve(ApproveHistoryTask.java:306) vars.knowledgebase.ui.actions.ApproveHistoryTask.approve(ApproveHistoryTask.java:138) vars.knowledgebase.ui.actions.ApproveHistoryTask.doTask(ApproveHistoryTask.java:159) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:54) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:29) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:980) org.bushe.swing.event.SwingEventService.publish(SwingEventService.java:78) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:920) org.bushe.swing.event.EventBus.publish(EventBus.java:65) vars.knowledgebase.ui.EditConceptTreePopupMenu.triggerRemoveAction(EditConceptTreePopupMenu.java:220) vars.knowledgebase.ui.EditConceptTreePopupMenu$2.actionPerformed(EditConceptTreePopupMenu.java:86) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) javax.swing.AbstractButton.doClick(AbstractButton.java:376) javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842) com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157) javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886) java.awt.Component.processMouseEvent(Component.java:6539) javax.swing.JComponent.processMouseEvent(JComponent.java:3324) java.awt.Component.processEvent(Component.java:6304) java.awt.Container.processEvent(Container.java:2239) java.awt.Component.dispatchEventImpl(Component.java:4889) java.awt.Container.dispatchEventImpl(Container.java:2297) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) java.awt.Container.dispatchEventImpl(Container.java:2283) java.awt.Window.dispatchEventImpl(Window.java:2746) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) java.awt.EventQueue.access$500(EventQueue.java:97) java.awt.EventQueue$3.run(EventQueue.java:709) java.awt.EventQueue$3.run(EventQueue.java:703) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) java.awt.EventQueue$4.run(EventQueue.java:733) java.awt.EventQueue$4.run(EventQueue.java:731) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.awt.EventQueue.dispatchEvent(EventQueue.java:730) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 
Caused by: java.sql.SQLException: Failed to update database "VARS" because the database is read-only.
net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372) net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988) net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2421) net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:671) net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:613) net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:572) net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:727) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:892) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:964) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:633) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:560) org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2056) org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:306) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.updateObject(DatasourceCallQueryMechanism.java:797) org.eclipse.persistence.internal.queries.StatementQueryMechanism.updateObject(StatementQueryMechanism.java:435) org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1078) org.eclipse.persistence.queries.UpdateObjectQuery.executeCommitWithChangeSet(UpdateObjectQuery.java:84) org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:301) org.eclipse.persistence.queries.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:58) org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:904) org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:803) org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:108) org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:85) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1857) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1839) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1790) org.eclipse.persistence.internal.sessions.CommitManager.commitChangedObjectsForClassWithChangeSet(CommitManager.java:273) org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:131) org.eclipse.persistence.internal.sessions.AbstractSession.writeAllObjectsWithChangeSet(AbstractSession.java:4264) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1441) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1531) org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.commitRootUnitOfWork(RepeatableWriteUnitOfWork.java:278) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitAndResume(UnitOfWorkImpl.java:1169) org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:134) vars.jpa.DAO.endTransaction(DAO.java:99) vars.knowledgebase.ui.actions.ApproveHistoryTask$ADeleteChildConceptTask.approve(ApproveHistoryTask.java:306) vars.knowledgebase.ui.actions.ApproveHistoryTask.approve(ApproveHistoryTask.java:138) vars.knowledgebase.ui.actions.ApproveHistoryTask.doTask(ApproveHistoryTask.java:159) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:54) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:29) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:980) org.bushe.swing.event.SwingEventService.publish(SwingEventService.java:78) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:920) org.bushe.swing.event.EventBus.publish(EventBus.java:65) vars.knowledgebase.ui.EditConceptTreePopupMenu.triggerRemoveAction(EditConceptTreePopupMenu.java:220) vars.knowledgebase.ui.EditConceptTreePopupMenu$2.actionPerformed(EditConceptTreePopupMenu.java:86) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) javax.swing.AbstractButton.doClick(AbstractButton.java:376) javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842) com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157) javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886) java.awt.Component.processMouseEvent(Component.java:6539) javax.swing.JComponent.processMouseEvent(JComponent.java:3324) java.awt.Component.processEvent(Component.java:6304) java.awt.Container.processEvent(Container.java:2239) java.awt.Component.dispatchEventImpl(Component.java:4889) java.awt.Container.dispatchEventImpl(Container.java:2297) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) java.awt.Container.dispatchEventImpl(Container.java:2283) java.awt.Window.dispatchEventImpl(Window.java:2746) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) java.awt.EventQueue.access$500(EventQueue.java:97) java.awt.EventQueue$3.run(EventQueue.java:709) java.awt.EventQueue$3.run(EventQueue.java:703) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) java.awt.EventQueue$4.run(EventQueue.java:733) java.awt.EventQueue$4.run(EventQueue.java:731) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.awt.EventQueue.dispatchEvent(EventQueue.java:730) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 
hohonuuli commented 5 years ago

Hi Nancy,

I’m in a meeting all morning. I’ll look into it when I get out.

-- B Brian Schlining On Mar 7, 2019, 10:40 AM -0800, Nancy Jacobsen Stout notifications@github.com, wrote:

Hi Brian,

  1. I am unable to delete concepts from the KB and to do a global replacements (when applicable). Now that the new database is set up, can this bug be fixed? See error below.

  2. Are you receiving the error reports I'm sending from KB?

Thanks, ~njs Caused by: javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.4.v20160829-44060b6): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Failed to update database "VARS" because the database is read-only. Error Code: 3906 Call: UPDATE Observation SET ConceptName = ?, LAST_UPDATED_TIME = ? WHERE ((id = ?) AND (LAST_UPDATED_TIME = ?)) bind => [4 parameters bound] Query: UpdateObjectQuery(ObservationImpl ([id=2200659] conceptName=Tritonia tetraquetra, observer=linda, observationDate=Tue Jul 17 23:00:35 UTC 2007)) org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:159) vars.jpa.DAO.endTransaction(DAO.java:99) vars.knowledgebase.ui.actions.ApproveHistoryTask$ADeleteChildConceptTask.approve(ApproveHistoryTask.java:306) vars.knowledgebase.ui.actions.ApproveHistoryTask.approve(ApproveHistoryTask.java:138) vars.knowledgebase.ui.actions.ApproveHistoryTask.doTask(ApproveHistoryTask.java:159) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:54) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:29) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:980) org.bushe.swing.event.SwingEventService.publish(SwingEventService.java:78) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:920) org.bushe.swing.event.EventBus.publish(EventBus.java:65) vars.knowledgebase.ui.EditConceptTreePopupMenu.triggerRemoveAction(EditConceptTreePopupMenu.java:220) vars.knowledgebase.ui.EditConceptTreePopupMenu$2.actionPerformed(EditConceptTreePopupMenu.java:86) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) javax.swing.AbstractButton.doClick(AbstractButton.java:376) javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842) com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157) javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886) java.awt.Component.processMouseEvent(Component.java:6539) javax.swing.JComponent.processMouseEvent(JComponent.java:3324) java.awt.Component.processEvent(Component.java:6304) java.awt.Container.processEvent(Container.java:2239) java.awt.Component.dispatchEventImpl(Component.java:4889) java.awt.Container.dispatchEventImpl(Container.java:2297) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) java.awt.Container.dispatchEventImpl(Container.java:2283) java.awt.Window.dispatchEventImpl(Window.java:2746) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) java.awt.EventQueue.access$500(EventQueue.java:97) java.awt.EventQueue$3.run(EventQueue.java:709) java.awt.EventQueue$3.run(EventQueue.java:703) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) java.awt.EventQueue$4.run(EventQueue.java:733) java.awt.EventQueue$4.run(EventQueue.java:731) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.awt.EventQueue.dispatchEvent(EventQueue.java:730) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.4.v20160829-44060b6): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Failed to update database "VARS" because the database is read-only. Error Code: 3906 Call: UPDATE Observation SET ConceptName = ?, LAST_UPDATED_TIME = ? WHERE ((id = ?) AND (LAST_UPDATED_TIME = ?)) bind => [4 parameters bound] Query: UpdateObjectQuery(ObservationImpl ([id=2200659] conceptName=Tritonia tetraquetra, observer=linda, observationDate=Tue Jul 17 23:00:35 UTC 2007)) org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:331) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:902) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:964) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:633) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:560) org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2056) org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:306) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.updateObject(DatasourceCallQueryMechanism.java:797) org.eclipse.persistence.internal.queries.StatementQueryMechanism.updateObject(StatementQueryMechanism.java:435) org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1078) org.eclipse.persistence.queries.UpdateObjectQuery.executeCommitWithChangeSet(UpdateObjectQuery.java:84) org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:301) org.eclipse.persistence.queries.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:58) org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:904) org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:803) org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:108) org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:85) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1857) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1839) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1790) org.eclipse.persistence.internal.sessions.CommitManager.commitChangedObjectsForClassWithChangeSet(CommitManager.java:273) org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:131) org.eclipse.persistence.internal.sessions.AbstractSession.writeAllObjectsWithChangeSet(AbstractSession.java:4264) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1441) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1531) org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.commitRootUnitOfWork(RepeatableWriteUnitOfWork.java:278) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitAndResume(UnitOfWorkImpl.java:1169) org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:134) vars.jpa.DAO.endTransaction(DAO.java:99) vars.knowledgebase.ui.actions.ApproveHistoryTask$ADeleteChildConceptTask.approve(ApproveHistoryTask.java:306) vars.knowledgebase.ui.actions.ApproveHistoryTask.approve(ApproveHistoryTask.java:138) vars.knowledgebase.ui.actions.ApproveHistoryTask.doTask(ApproveHistoryTask.java:159) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:54) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:29) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:980) org.bushe.swing.event.SwingEventService.publish(SwingEventService.java:78) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:920) org.bushe.swing.event.EventBus.publish(EventBus.java:65) vars.knowledgebase.ui.EditConceptTreePopupMenu.triggerRemoveAction(EditConceptTreePopupMenu.java:220) vars.knowledgebase.ui.EditConceptTreePopupMenu$2.actionPerformed(EditConceptTreePopupMenu.java:86) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) javax.swing.AbstractButton.doClick(AbstractButton.java:376) javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842) com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157) javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886) java.awt.Component.processMouseEvent(Component.java:6539) javax.swing.JComponent.processMouseEvent(JComponent.java:3324) java.awt.Component.processEvent(Component.java:6304) java.awt.Container.processEvent(Container.java:2239) java.awt.Component.dispatchEventImpl(Component.java:4889) java.awt.Container.dispatchEventImpl(Container.java:2297) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) java.awt.Container.dispatchEventImpl(Container.java:2283) java.awt.Window.dispatchEventImpl(Window.java:2746) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) java.awt.EventQueue.access$500(EventQueue.java:97) java.awt.EventQueue$3.run(EventQueue.java:709) java.awt.EventQueue$3.run(EventQueue.java:703) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) java.awt.EventQueue$4.run(EventQueue.java:733) java.awt.EventQueue$4.run(EventQueue.java:731) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.awt.EventQueue.dispatchEvent(EventQueue.java:730) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Caused by: java.sql.SQLException: Failed to update database "VARS" because the database is read-only. net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372) net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988) net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2421) net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:671) net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:613) net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:572) net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:727) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:892) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:964) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:633) org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:560) org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2056) org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:306) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228) org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.updateObject(DatasourceCallQueryMechanism.java:797) org.eclipse.persistence.internal.queries.StatementQueryMechanism.updateObject(StatementQueryMechanism.java:435) org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1078) org.eclipse.persistence.queries.UpdateObjectQuery.executeCommitWithChangeSet(UpdateObjectQuery.java:84) org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:301) org.eclipse.persistence.queries.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:58) org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:904) org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:803) org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:108) org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:85) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1857) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1839) org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1790) org.eclipse.persistence.internal.sessions.CommitManager.commitChangedObjectsForClassWithChangeSet(CommitManager.java:273) org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:131) org.eclipse.persistence.internal.sessions.AbstractSession.writeAllObjectsWithChangeSet(AbstractSession.java:4264) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1441) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1531) org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.commitRootUnitOfWork(RepeatableWriteUnitOfWork.java:278) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitAndResume(UnitOfWorkImpl.java:1169) org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:134) vars.jpa.DAO.endTransaction(DAO.java:99) vars.knowledgebase.ui.actions.ApproveHistoryTask$ADeleteChildConceptTask.approve(ApproveHistoryTask.java:306) vars.knowledgebase.ui.actions.ApproveHistoryTask.approve(ApproveHistoryTask.java:138) vars.knowledgebase.ui.actions.ApproveHistoryTask.doTask(ApproveHistoryTask.java:159) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:54) vars.knowledgebase.ui.ApproveHistorySubscriber.onEvent(ApproveHistorySubscriber.java:29) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:980) org.bushe.swing.event.SwingEventService.publish(SwingEventService.java:78) org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:920) org.bushe.swing.event.EventBus.publish(EventBus.java:65) vars.knowledgebase.ui.EditConceptTreePopupMenu.triggerRemoveAction(EditConceptTreePopupMenu.java:220) vars.knowledgebase.ui.EditConceptTreePopupMenu$2.actionPerformed(EditConceptTreePopupMenu.java:86) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) javax.swing.AbstractButton.doClick(AbstractButton.java:376) javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842) com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157) javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886) java.awt.Component.processMouseEvent(Component.java:6539) javax.swing.JComponent.processMouseEvent(JComponent.java:3324) java.awt.Component.processEvent(Component.java:6304) java.awt.Container.processEvent(Container.java:2239) java.awt.Component.dispatchEventImpl(Component.java:4889) java.awt.Container.dispatchEventImpl(Container.java:2297) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) java.awt.Container.dispatchEventImpl(Container.java:2283) java.awt.Window.dispatchEventImpl(Window.java:2746) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) java.awt.EventQueue.access$500(EventQueue.java:97) java.awt.EventQueue$3.run(EventQueue.java:709) java.awt.EventQueue$3.run(EventQueue.java:703) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) java.awt.EventQueue$4.run(EventQueue.java:733) java.awt.EventQueue$4.run(EventQueue.java:731) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.awt.EventQueue.dispatchEvent(EventQueue.java:730) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) java.awt.EventDispatchThread.run(EventDispatchThread.java:82) — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

hohonuuli commented 5 years ago

The root cause is:

Caused by: java.sql.SQLException: Failed to update database "VARS" because the database is read-only.
hohonuuli commented 5 years ago

I've moved this issue to vars-kb repo. The reference above will take you to that issue.