7 Replies Latest reply on Mar 8, 2017 4:22 PM by Timo Hahn

    Row incontinence exeption , another user have changed row with primary key

    981554

      Hi ADF,

      Expert I am getting this exception on commit.

       

      From the server log I got this trace any pointer will be really helpful.

       

      <ADFLogger> <end> Entity read all attributes

      <EntityImpl> <compare> [83905] Entity compare failed for attribute ExportedOn

      <EntityImpl> <compare> [83906] Original value :2017-03-08 19:21:14.287

      <EntityImpl> <compare> [83907] Target value :2017-03-08 19:21:14.0

       

      I got 1 pointer from below link , but not getting what change I have to do to fix the issue.

      Jdev version 11.1.1.

       

       

      ADF : Another User Have changed the Row with Primary Key | oracle.jbo.RowInconsistentException: JBO-25014

        • 1. Re: Row incontinence exeption , another user have changed row with primary key
          Timo Hahn

          User, tell us your jdev version, please!

           

          Where do you see the error i nthe output you provided?

          For me this looks liek a normal log output.

          Please read How to Ask Questions in Developer Community Spaces and provide all needed information.

           

          Timo

          • 2. Re: Row incontinence exeption , another user have changed row with primary key
            981554

            Hi Timo,

            I am using jdeveloper 11.1.1.7

             

            Please find below server log

             

            <ADFLogger> <addContextData> Entity read all attributes

            <OracleSQLBuilderImpl> <bindWhereAttrValue> [85402] Where binding param 1: 44110254

            <EntityImpl> <compare> [83905] Entity compare failed for attribute ExportedOn

            <EntityImpl> <compare> [83906] Original value :2017-03-08 19:21:14.287

            <EntityImpl> <compare> [83907] Target value :2017-03-08 19:21:14.0

            <ADFLogger> <addContextData> Entity read all attributes

            <ADFLogger> <end> Entity read all attributes

            <OracleSQLBuilderImpl> <rollbackToSavepoint> [85406] OracleSQLBuilder: ROLLBACK WORK TO SAVEPOINT 'BO_SP'

            <ADFLogger> <addContextData> Commit transaction

            <ADFLogger> <end> Commit transaction

            <ADFLogger> <end> Executing method binding

            <DCBindingContainer> <reportException> [85407] DCBindingContainer.reportException :oracle.jbo.RowInconsistentException

            <DCBindingContainer> <reportException> [85408] oracle.jbo.RowInconsistentException: JBO-25014: Another user has changed the row with primary key oracle.jbo.Key[44110254 ].

              at oracle.jbo.server.OracleSQLBuilderImpl.doEntitySelectForAltKey(OracleSQLBuilderImpl.java:1082)

              at oracle.jbo.server.BaseSQLBuilderImpl.doEntitySelect(BaseSQLBuilderImpl.java:566)

              at oracle.jbo.server.EntityImpl.doSelect(EntityImpl.java:8589)

              at oracle.jbo.server.EntityImpl.lock(EntityImpl.java:6235)

              at oracle.jbo.server.EntityImpl.beforePost(EntityImpl.java:6756)

              at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:6943)

              at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3301)

              at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:3104)

              at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2108)

              at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2389)

              at com.alsc.arw.work.review.model.applicationModule.ReviewAMImpl.triggerOutputExport(ReviewAMImpl.java:140)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

              at java.lang.reflect.Method.invoke(Method.java:597)

              at oracle.adf.model.binding.DCInvokeMethod.invokeMethod(DCInvokeMethod.java:657)

              at oracle.adf.model.binding.DCDataControl.invokeMethod(DCDataControl.java:2143)

              at oracle.adf.model.bc4j.DCJboDataControl.invokeMethod(DCJboDataControl.java:3118)

              at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:261)

              at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1635)

              at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2150)

              at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:740)

              at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:407)

              at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)

              at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)

              at com.alsc.arw.common.view.framework.util.ADFUtils.executeOperation(ADFUtils.java:628)

              at com.alsc.arw.work.review.ui.bean.WorkReviewUIBean.processDeliveryAction(WorkReviewUIBean.java:543)

              at com.alsc.arw.work.review.ui.bean.WorkReviewUIBean.deliveryButtonAction(WorkReviewUIBean.java:516)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

              at java.lang.reflect.Method.invoke(Method.java:597)

              at com.sun.el.parser.AstValue.invoke(Unknown Source)

              at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)

              at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)

              at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1415)

              at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183)

              at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:181)

              at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:181)

              at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:181)

              at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)

              at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)

              at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)

              at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:103)

              at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)

              at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)

              at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)

              at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:97)

              at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1086)

              at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:434)

              at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:207)

              at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)

              at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

              at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

              at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)

              at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:128)

              at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)

              at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)

              at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)

              at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)

              at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)

              at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:180)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at com.alsc.arw.master.view.filters.ArwSessionExpiryFilter.doFilter(ArwSessionExpiryFilter.java:110)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)

              at java.security.AccessController.doPrivileged(Native Method)

              at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)

              at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)

              at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)

              at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)

              at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)

              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)

              at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

              at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

              at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)

              at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)

              at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)

              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

              at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

             

             

            <DCBindingContainer> <cacheException> [85409] * * * BindingContainer caching EXCEPTION:oracle.jbo.RowInconsistentException

            <DCBindingContainer> <cacheException> [85410] * * * BindingContainer caching EXCEPTION:oracle.jbo.RowInconsistentException

            <DCBindingContainer> <cacheException> [85411] * * * BindingContainer caching EXCEPTION:oracle.jbo.RowInconsistentException

            <DCBindingContainer> <cacheException> [85412] * * * BindingContainer caching EXCEPTION:oracle.jbo.RowInconsistentException

            <DCBindingContainer> <cacheException> [85413] * * * BindingContainer caching EXCEPTION:oracle.jbo.RowInconsistentException

            <DCBindingContainer> <cacheException> [85414] * * * BindingContainer caching EXCEPTION:oracle.jbo.RowInconsistentException

            • 3. Re: Row incontinence exeption , another user have changed row with primary key
              Timo Hahn

              The problem is that you store a timestamp the db but it as date in ui.  This will remove the millisecond from the timestamp.

              One solution given in the blog is to remove the milliseconds from timestamp before storing it the db.

              Another is to use the attribute as timestamp and don't allow changed to it.

               

              Timo

              • 4. Re: Row incontinence exeption , another user have changed row with primary key
                981554

                Hi Timo,

                No Database column type is Date.But on EO and Vo it is of type java.util.Timestamp.

                 

                Can you please elaborate more on second approach , but I have to update this field with latest time stamp .

                • 5. Re: Row incontinence exeption , another user have changed row with primary key
                  Timo Hahn

                  Why don'T you change the EO/VO to date too?

                   

                  Timo

                  • 6. Re: Row incontinence exeption , another user have changed row with primary key
                    981554

                    Hi Timo,

                    We have to show timestamp along with date in the listing table column ,for which we have made it Timestamp in EO and VO.

                     

                    Shrikant

                    • 7. Re: Row incontinence exeption , another user have changed row with primary key
                      Timo Hahn

                      Show timestamp along with date?

                      But you don't have a timestamp in the table. So this can't be the problem.

                      Some information is missing!

                       

                      Timo