Description
Two projects have reported problems with updating the journal table in Hippo 7.9. In both instances the below stacktrace is logged when things go wrong.
10.09.2014 15:17:50 ERROR http-bio-8081-exec-52 [ClusterNode$WorkspaceUpdateChannel.updateCommitted:719] Unexpected error while committing log entry.
java.lang.RuntimeException: Unable to reset the Stream.
at org.apache.jackrabbit.core.util.db.ConnectionHelper.execute(ConnectionHelper.java:525)
at org.apache.jackrabbit.core.util.db.ConnectionHelper.reallyExec(ConnectionHelper.java:311)
at org.apache.jackrabbit.core.util.db.ConnectionHelper$1.call(ConnectionHelper.java:292)
at org.apache.jackrabbit.core.util.db.ConnectionHelper$1.call(ConnectionHelper.java:288)
at org.apache.jackrabbit.core.util.db.ConnectionHelper$RetryManager.doTry(ConnectionHelper.java:550)
at org.apache.jackrabbit.core.util.db.ConnectionHelper.exec(ConnectionHelper.java:288)
at org.apache.jackrabbit.core.journal.DatabaseJournal.append(DatabaseJournal.java:545)
at org.apache.jackrabbit.core.journal.AppendRecord.update(AppendRecord.java:266)
at org.apache.jackrabbit.core.cluster.ClusterNode$WorkspaceUpdateChannel.updateCommitted(ClusterNode.java:700)
at org.hippoecm.repository.jackrabbit.HippoSharedItemStateManager$DocumentChangeNotifyingEventChannelDecorator.updateCommitted(HippoSharedItemStateManager.java:273)
at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:845)
at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:1537)
at org.hippoecm.repository.jackrabbit.HippoSharedItemStateManager.update(HippoSharedItemStateManager.java:87)
at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:400)
at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:354)
at org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager.update(HippoLocalItemStateManager.java:288)
at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:375)
at org.hippoecm.repository.jackrabbit.HippoLocalItemStateManager.update(HippoLocalItemStateManager.java:297)
at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:275)
at org.apache.jackrabbit.core.ItemSaveOperation.perform(ItemSaveOperation.java:258)
at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:329)
at org.apache.jackrabbit.core.session.SessionSaveOperation.perform(SessionSaveOperation.java:65)
at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
at org.apache.jackrabbit.core.SessionImpl.perform(SessionImpl.java:365)
at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:816)
Unfortunately the root cause of the SQL execution failure is lost. Fixes have already been applied to Jackrabbit to prevent this.
Because in one project the error is consistently reproducible by importing a large amount of data at once the issue might be related to the size of the cluster update record or else the size of the update as a whole.
Attachments
Issue Links
- relates to
-
REPO-1063 Jackrabbit ConnectionHelper swallows exception when it fails to reset binary streams after a failed SQL statement execution
- Closed
-
REPO-1065 Jackrabbit AppendRecord should allow reattempting database insertions of journal records should the initial attempt fail
- Closed
-
REPO-1064 Jackrabbit StreamWrapper can attempt to reset other types of InputStreams
- Closed