Bug 98144
| Summary: | Preview and rollback blow up after publishing an item | ||
|---|---|---|---|
| Product: | [Retired] Red Hat Enterprise CMS | Reporter: | Rafael H. Schloming <rafaels> |
| Component: | other | Assignee: | Vadim Nasardinov <vnasardinov> |
| Status: | CLOSED RAWHIDE | QA Contact: | Jon Orris <jorris> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | nightly | CC: | tross |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2003-07-03 19:42:03 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 92111 | ||
Probably related:
-*-*-*- Section: Stack trace -*-*-*-
com.arsdigita.persistence.PersistenceException: (root cause:
com.arsdigita.persistence\
.proto.engine.rdbms.RDBMSEngine$3: ERROR: cms_text_pages_text_id_f_urtqq
referential i\
ntegrity violation - key in cms_text still referenced from cms_text_pages
)
at com.arsdigita.persistence.DataObjectImpl.delete(DataObjectImpl.java:339)
at
com.arsdigita.versioning.ProxyDataObject.deleteIfTerminal(ProxyDataObject.java:5\
74)
at
com.arsdigita.versioning.RollbackRecord.removeTerminalObjects(RollbackRecord.jav\
a:305)
at com.arsdigita.versioning.RollbackRecord.rollback(RollbackRecord.java:147)
at com.arsdigita.versioning.Versions.rollback(Versions.java:128)
at
com.arsdigita.cms.ContentSectionServlet.doService(ContentSectionServlet.java:123\
)
at
com.arsdigita.web.BaseApplicationServlet$1.excurse(BaseApplicationServlet.java:1\
19)
at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57)
at
com.arsdigita.web.BaseApplicationServlet.doService(BaseApplicationServlet.java:1\
13)
at com.arsdigita.web.BaseServlet$1.excurse(BaseServlet.java:127)
at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57)
at com.arsdigita.web.BaseServlet.internalService(BaseServlet.java:102)
at com.arsdigita.web.BaseServlet.doGet(BaseServlet.java:204)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
...
The above happens when I create an article, publish it, and then try to view an
older version of the article. rhs asserts that this is possibly due to the fact
that the system is trying to rollback the live version of the article in order
to preview it.
Fixed at change 33248. Fixed. |
1. Create an Article. 2. Upload an image and add a body by editing as text. 3. Mark the authoring task as finished. 4. Publish the item. 5. Go to the history tab. 6. Trying to preview or rollback to any version before the published one should result in the included error. I believe this happens because versioning is recording to much information during the publishing process, e.g. the lifecycle creation and is trying to delete the lifecycle during the rollback. This points to two problems, 1. versioning is recording too much and 2. lifecycle deletion blows up com.arsdigita.persistence.PersistenceException: (root cause: com.arsdigita.persistence.proto.engine.rdbms.RDBMSEngine$3: ERROR: acs_obj_lif_map_obj_id_f_tckz2 referential integrity violation - key in acs_objects still referenced from acs_object_lifecycle_map ) at com.arsdigita.persistence.DataObjectImpl.delete(DataObjectImpl.java:339) at com.arsdigita.versioning.ProxyDataObject.deleteIfTerminal(ProxyDataObject.java:574) at com.arsdigita.versioning.RollbackRecord.removeTerminalObjects(RollbackRecord.java:305) at com.arsdigita.versioning.RollbackRecord.rollback(RollbackRecord.java:147) at com.arsdigita.versioning.Versions.rollback(Versions.java:128) at com.arsdigita.cms.ContentSectionServlet.doService(ContentSectionServlet.java:123) at com.arsdigita.web.BaseApplicationServlet$1.excurse(BaseApplicationServlet.java:119) at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57) at com.arsdigita.web.BaseApplicationServlet.doService(BaseApplicationServlet.java:113) at com.arsdigita.web.BaseServlet$1.excurse(BaseServlet.java:127) at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57) at com.arsdigita.web.BaseServlet.internalService(BaseServlet.java:102) at com.arsdigita.web.BaseServlet.doGet(BaseServlet.java:204) at javax.servlet.http.HttpServlet.service(HttpServlet.java:126) at javax.servlet.http.HttpServlet.service(HttpServlet.java:103) at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96) at com.caucho.server.http.Invocation.service(Invocation.java:312) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:213) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:100) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:77) at com.arsdigita.web.BaseDispatcher.forward(BaseDispatcher.java:212) at com.arsdigita.web.BaseDispatcher.forward(BaseDispatcher.java:198) at com.arsdigita.web.BaseDispatcher.dispatch(BaseDispatcher.java:130) at com.arsdigita.web.DispatcherServlet.service(DispatcherServlet.java:136) at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96) at com.caucho.server.http.Invocation.service(Invocation.java:312) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:221) at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163) at com.caucho.server.TcpConnection.run(TcpConnection.java:137) at java.lang.Thread.run(Thread.java:479) Root cause: com.arsdigita.persistence.proto.engine.rdbms.RDBMSEngine$3: ERROR: acs_obj_lif_map_obj_id_f_tckz2 referential integrity violation - key in acs_objects still referenced from acs_object_lifecycle_map at com.arsdigita.persistence.proto.engine.rdbms.RDBMSEngine.execute(RDBMSEngine.java:412) at com.arsdigita.persistence.proto.engine.rdbms.RDBMSEngine.execute(RDBMSEngine.java:370) at com.arsdigita.persistence.proto.engine.rdbms.RDBMSEngine.flush(RDBMSEngine.java:331) at com.arsdigita.persistence.proto.Session.flushInternal(Session.java:543) at com.arsdigita.persistence.proto.Session.flush(Session.java:486) at com.arsdigita.persistence.proto.Cursor.next(Cursor.java:95) at com.arsdigita.persistence.proto.Session.retrieve(Session.java:72) at com.arsdigita.persistence.Session.retrieve(Session.java:537) at com.arsdigita.versioning.Types.getDataObject(Types.java:80) at com.arsdigita.versioning.DataObjectChange.record(DataObjectChange.java:169) at com.arsdigita.versioning.DataObjectChange.recordEvent(DataObjectChange.java:145) at com.arsdigita.versioning.VersioningEventProcessor$EventSwitch.onSet(VersioningEventProcessor.java:105) at com.arsdigita.persistence.proto.SetEvent.dispatch(SetEvent.java:30) at com.arsdigita.versioning.VersioningEventProcessor.write(VersioningEventProcessor.java:70) at com.arsdigita.persistence.proto.Session.flushInternal(Session.java:517) at com.arsdigita.persistence.proto.Session.flush(Session.java:486) at com.arsdigita.persistence.DataObjectImpl.delete(DataObjectImpl.java:336) at com.arsdigita.versioning.ProxyDataObject.deleteIfTerminal(ProxyDataObject.java:574) at com.arsdigita.versioning.RollbackRecord.removeTerminalObjects(RollbackRecord.java:305) at com.arsdigita.versioning.RollbackRecord.rollback(RollbackRecord.java:147) at com.arsdigita.versioning.Versions.rollback(Versions.java:128) at com.arsdigita.cms.ContentSectionServlet.doService(ContentSectionServlet.java:123) at com.arsdigita.web.BaseApplicationServlet$1.excurse(BaseApplicationServlet.java:119) at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57) at com.arsdigita.web.BaseApplicationServlet.doService(BaseApplicationServlet.java:113) at com.arsdigita.web.BaseServlet$1.excurse(BaseServlet.java:127) at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57) at com.arsdigita.web.BaseServlet.internalService(BaseServlet.java:102) at com.arsdigita.web.BaseServlet.doGet(BaseServlet.java:204) at javax.servlet.http.HttpServlet.service(HttpServlet.java:126) at javax.servlet.http.HttpServlet.service(HttpServlet.java:103) at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96) at com.caucho.server.http.Invocation.service(Invocation.java:312) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:213) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:100) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:77) at com.arsdigita.web.BaseDispatcher.forward(BaseDispatcher.java:212) at com.arsdigita.web.BaseDispatcher.forward(BaseDispatcher.java:198) at com.arsdigita.web.BaseDispatcher.dispatch(BaseDispatcher.java:130) at com.arsdigita.web.DispatcherServlet.service(DispatcherServlet.java:136) at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96) at com.caucho.server.http.Invocation.service(Invocation.java:312) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:221) at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163) at com.caucho.server.TcpConnection.run(TcpConnection.java:137) at java.lang.Thread.run(Thread.java:479)