Bug 98144

Summary: Preview and rollback blow up after publishing an item
Product: [Retired] Red Hat Enterprise CMS Reporter: Rafael H. Schloming <rafaels>
Component: otherAssignee: Vadim Nasardinov <vnasardinov>
Status: CLOSED RAWHIDE QA Contact: Jon Orris <jorris>
Severity: medium Docs Contact:
Priority: medium    
Version: nightlyCC: 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    

Description Rafael H. Schloming 2003-06-26 22:19:10 UTC
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)

Comment 1 Richard Li 2003-06-27 20:21:24 UTC
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.

Comment 2 Vadim Nasardinov 2003-07-03 18:44:21 UTC
Fixed at change 33248. 

Comment 3 Jon Orris 2003-07-03 19:42:03 UTC
Fixed.