Intermittent JBO-35007 (Row currency has changed...) and coordination

I get an intermittent JBO-35007: Row currency has changed since the user interface was rendered. It is not repeatable - ie. if the user leaves the application and starts it again, whatever they were doing works ok. It happens about every hour when the user is doing constant testing. It is somewhat repeatable if you go into one of the screens it happens on, then leave the application open and do something else entirely for 30 - 40 minutes, when you come back and select a different record (using select radio button) it occurs, but even this is not always repeatable. It happens on our screens where we have master and details displayed on the one screen and both master and details are displayed as tables (ie. multiple records). The user says it happens most often when he is using the drop down on the master list that lets you see the next ten records.
When the problem happens the master and detail records no longer coordinate, so the user can add a detail record to a master different from the one it appears to be adding too. I have told him to logout after a JBO-35007, but he doesn't think that the users will always remember to do that.
We've just disabled the back button, although the tester is sure he wasn't using that. We've changed session timeout on web.xml so that it will timeout after 20 minutes of inactivity, so it can no longer occur after 30 minutes of inactivity, but it's still happening after that.
Any suggestions would be greatly appreciated. Thanks.

I've been assisting Anita and her team in tracking down this issue with JBO-35007 and then JBO-25013. Her team has done an excellent job in nailing this issue down, the problem is surprisingly simple to replicate once you know how, and can now be reproduced consistently.
Anita and I would like ask for some assistance and advice from potentially the JDev crew and others on have they found a solution to this, and potentially strategies to reduce the issue. Anita has raised an SR, but as getting through 1st level support can be a pain in the butt, I'd thought we'd try a 2 pronged attack and see if we can get assistance from OTN.
This is the scenario:
1) There are 2 simple ADF Faces web pages, the 1st with a table, record selector and "edit" submit button to navigate to the 2nd screen. The 2nd screen is an input form for editing the record selected from the 1st page and a submit button to return to the 1st screen. Let's call these pages "view" and "edit" for simplicity.
2) On the view page, the table selector has autoSubmit="true". This is important.
3) On the view page there are multiple records showing. For simplicity we'll refer to three records X, Y and Z. By default on entry to the screen, record X is selected.
4) The user on the view screen selects record Y via the table record-selector, and then presses the edit submit button. A side affect of selecting record Y with the autoSubmit is the underlying iterator row currency is updated, now pointing at Y.
5) Today, the internet is running a bit slow for whatever reason, and the ADF Faces application doesn't reply instantly by showing the edit page. The user, a bit frustrated with the experience, changes their mind, and still with the view page showing because it hasn't updated yet, decides to pick record Z via the table record-selector, and presses the edit submit button again.
6) This is actually two actions, as the table-selector's autosubmit results in another request to the midtier to update the iterator's row currency, and then the edit button to navigate to the edit page.
7) Eventually the application responds, and it shows the edit page for record Y.
It's a bit hard to guess here if it should actually show record Y or record Z. I don't mean this is a bug, but rather should it logically show record Y because that was the first user's action, or record Z because that's what the user selected. No matter, lets just accept the user sees record Y (possibly incorrectly thinking they're seeing record Z) and start updating the record.
8) The user then presses the submit button on the edit page showing record Y, and JBO-35007 and JBO-25013 is thrown.
Why is JBO-35007 thrown? I'd suggest that the selecting of record Z in step 5 & 6 is successfully updating the iterator's row currency, even though the edit page has yet to be fully rendered on the client's browser. It appears that the midtier has no way of knowing that the client has yet received the edit page, so it blindly accepts new requests from the client.
This is actually similar to the back button problem, in terms of communications with the midtier. The solution to the back button problem at this stage appears to be "user education". However our problem is worse than the back button issue, as slow internet connections are a reality beyond their control, and expecting the users not to double click is stretching the "user education" solution thing a bit too far IMHO.
A couple of separate points I'd like to raise:
1) As for point 2 above, the table has autoSubmit set to true. This is the route of the problem and as such could be set to false. However when generating master-table-detail-table pages in JDev, typically you want the master's autoSubmit = true such that the detail table automatically refreshes when a new master record is selected. If we say no to autoSubmit, this means no to master-table-detail-table and is that reasonable as that is a feature in JDev.
2) However, if the autoSubmit is set to false, the problem is not reproducible. I'd suggest when the user clicks on the submit button on the edit page in this case, the submit button has some sort of functionality to stop the user selecting the button twice until the midtier responds. Is this correct? Potentially there is Javascript functionality doing this? I'm aware on other Web-developer forums of discussions on the <body> tag onload & unload Javascript events to enable/disable buttons to stop multiple submit calls to the midtier. Does the ADF Faces command buttons do this? If such a feature exists, cannot this same functionality be added to the autoSubmit?
3) We could turn off the tokenValidation in both pageDef, or a combination, but I think this a case where we do want the tokenValidation as the midtier and client are confused.
4) JDev's HTTP Analyzer can assist in showing what's flowing between the browser and midtier, in particular that you can see the additional autoSubmit of step 5 & 6 sent from the browser.
5) This issue becomes more prevalent on a slow internet connection. It is hard to produce "naturally" on a fast JDev install. However it can be reproduced by placing a breakpoint on the <afh:html> tag of the edit page and running the test in debug mode. When the breakpoint is reached on first navigating to the edit page, you can return to your browser, which is still showing the view page, select another record and submit, return to the debugger, and press continue.
As mentioned if anybody could lend support with this issue it would be appreciated. Is there a solution to this? Is this is a bug? Any other thoughts appreciated.
Thanks & regards,
CM.
PS. Anita, if you could add any clarifications if needed please.

Similar Messages

  • 15 concurrent users and JBO-35007 row currency has changed

    Hi!
    Something for the weekend :)
    I have an ADF/BC 10.1.3.3. application on 10.1.3.3. Oracle AS. I use a jazn security with users and roles stored in database tables. While testing with one or two users I never ran into the same problem as we had this week when testing with 15 users. I have an entity and VO with a whole attributes that are edited in a couple of jspx pages that composed with process train control. There are also a couple of detail data edited on this page. I'm using ProcessScope quite a lot to pass some information between the pages.
    Well, to get to the point: when testing with 15 users we had A LOT of JBO-35007 row currency has changed since the user interface was rendered errors in this process. Every user was editing it's own data row. The error appeared every time a user left the application inactive for a couple of seconds, entered some data and clicked commit. I'm not aware of the security settings of the browser on the testing computers and I can't get them now to see if something like this could be the problem.
    When I checked the log files, there are a lot of errors or warnings in them. I'll try to sum the ones that might be important for this issue. These errors appear a lot's of times in these log files that is why I'm assuming some of these are connected to my issue.
    application.log file in application-deployments logs:
    08/04/23 09:58:42.443 MyViewControllerArchive: Servlet error
    java.io.IOException: An existing connection was forcibly closed by the remote host
    08/04/23 11:31:47.980 MyViewControllerArchive: Servlet error
    java.io.IOException: An established connection was aborted by the software in your host machine
    08/04/23 11:31:49.402 MyViewControllerArchive: Servlet error
    java.lang.IndexOutOfBoundsException: SelectOne submittedValue's index 0 is out of bounds. It should be between 0 and -1
    08/04/23 11:33:19.104 MyViewControllerArchive: An established connection was aborted by the software in your host machine
    08/04/23 11:33:19.104 MyViewControllerArchive: Servlet error
    java.io.IOException: An established connection was aborted by the software in your host machine
    A whole lot of these kind of errors:
    08/04/23 11:24:06.80 MyViewControllerArchive: Servlet error
    oracle.jbo.common.ampool.ApplicationPoolException: JBO-30019: An unavailable cookie state was detected while attempting to use a cookie. applicationId: 54ffe51d30d5c84e0cb1979645a196749529aeb674d8, sessionId: MyModuleDataControl.
    08/04/24 08:39:22.424 MyViewControllerArchive: Servlet error
    java.lang.IllegalStateException: Response has already been committed
    log.xml file in oc4j folder:
    <MESSAGE>
              <HEADER>
                   <TSTZ_ORIGINATING>2008-04-23T09:53:49.165+02:00</TSTZ_ORIGINATING>
                   <COMPONENT_ID>adfinternal</COMPONENT_ID>
                   <MSG_TYPE TYPE="WARNING"/>
                   <MSG_LEVEL>1</MSG_LEVEL>
                   <HOST_ID>my_AS</HOST_ID>
                   <HOST_NWADDR>my_IP</HOST_NWADDR>
                   <MODULE_ID>view.faces.model.binding.FacesCtrlRangeBinding</MODULE_ID>
                   <THREAD_ID>10</THREAD_ID>
                   <USER_ID>SYSTEM</USER_ID>
              </HEADER>
              <CORRELATION_DATA>
                   <EXEC_CONTEXT_ID>
                        <UNIQUE_ID>1208937229:my_IP:3020:1764:630</UNIQUE_ID>
                        <SEQ>1</SEQ>
                   </EXEC_CONTEXT_ID>
              </CORRELATION_DATA>
              <PAYLOAD>
                   <MSG_TEXT>rowIterator is null</MSG_TEXT>
              </PAYLOAD>
         </MESSAGE>
    <MESSAGE>
              <HEADER>
                   <TSTZ_ORIGINATING>2008-04-23T09:48:30.903+02:00</TSTZ_ORIGINATING>
                   <COMPONENT_ID>j2ee</COMPONENT_ID>
                   <MSG_ID>J2EE DS-00265</MSG_ID>
                   <MSG_TYPE TYPE="WARNING"/>
                   <MSG_LEVEL>1</MSG_LEVEL>
                   <HOST_ID>my_AS</HOST_ID>
                   <HOST_NWADDR>my_IP</HOST_NWADDR>
                   <MODULE_ID>datasource</MODULE_ID>
                   <THREAD_ID>12</THREAD_ID>
                   <USER_ID>SYSTEM</USER_ID>
              </HEADER>
              <CORRELATION_DATA>
                   <EXEC_CONTEXT_ID>
                        <UNIQUE_ID>my_IP:57162:1208526415373:226</UNIQUE_ID>
                        <SEQ>0</SEQ>
                   </EXEC_CONTEXT_ID>
              </CORRELATION_DATA>
              <PAYLOAD>
                   <MSG_TEXT>Unclosed connection detected : 'oracle.oc4j.sql.spi.ConnectionFinalizer@f67148' : ''.</MSG_TEXT>
              </PAYLOAD>
         </MESSAGE>
    <MESSAGE>
              <HEADER>
                   <TSTZ_ORIGINATING>2008-04-23T09:53:54.165+02:00</TSTZ_ORIGINATING>
                   <COMPONENT_ID>adf</COMPONENT_ID>
                   <MSG_TYPE TYPE="WARNING"/>
                   <MSG_LEVEL>1</MSG_LEVEL>
                   <HOST_ID>my_AS</HOST_ID>
                   <HOST_NWADDR>my_IP</HOST_NWADDR>
                   <MODULE_ID>controller.faces.lifecycle.FacesPageLifecycle</MODULE_ID>
                   <THREAD_ID>13</THREAD_ID>
                   <USER_ID>SYSTEM</USER_ID>
              </HEADER>
              <CORRELATION_DATA>
                   <EXEC_CONTEXT_ID>
                        <UNIQUE_ID>1208937232:my_IP:3020:508:635</UNIQUE_ID>
                        <SEQ>299</SEQ>
                   </EXEC_CONTEXT_ID>
              </CORRELATION_DATA>
              <PAYLOAD>
                   <MSG_TEXT>JBO-35007: My 35007 JBO message since I overwritten the message text</MSG_TEXT>
              </PAYLOAD>
         </MESSAGE>
    The problem is I can't reproduce this behaviour any more in my environment. If someone could maybe point me to the errors that are important and could be the cause of this errors. Could this be an internet browser security settings issue? What about those errors about aborted connections?
    If you can't provide me an answer (which I know it would be very difficult by the information provided), maybe you could explain the cause of some of the errors described above?
    I'd appreciate any tips on this since I don't have e an idea how and where to start to at least reproduce and find out the cause of this. Than I'll worry about the solution :).
    Thank you in advance,
    BB

    Hi,
    I am also facing the same issue JBO-30019: An unavailable cookie state is detected while attempting to use a cookie from application {0}, session {1}.
    Is there anyone who has been able to reproduce this. If yes can you please update the following bug which is logged for the issue: [9507310|https://bug.oraclecorp.com/pls/bug/webbug_edit.edit_info_top?report_title=&rptno=9507310&query_id=814000&rptno_count=1&pos=1]
    It will be of much help.
    I have found the following page referring the problem: page, if this helps.
    Please update.
    Regards,
    Ashis
    글 수정: user9546421

  • JMeter ThreadGroup Looping cause error- JBO-35007: Row currency has changed

    Hi all,
    Still Stress testing ADF Faces with JMeter,
    I try to simulate each user inserting multiple rows by setting Loop Count = nn on a JMeter Thread Group :
    Test Plan
    Thread Group
    Http Cookie Manager
    Once Only Controller
    1) MainMenu.jspx
    2) Login
    3) SalesMenu
    ***** end of Once Only Controller
    4) Add New Order -> this will open a blank Form after a new row is Inserted
    5) Submit the Form -> this will do entity validation
    6) Press Commit
    7) Back to SalesMenu
    *** end of test plan
    As you see, by using Once Only Controller, I want the looping of inserting new Order starts from step 4)
    But on step 5) I get the error :
    JBO-35007: Row currency has changed since the user interface was rendered.
    The expected row key was oracle.jbo.Key[-3649]
    Is ther any work around for this ?
    Thank you for your help,
    xtanto

    Hi Chris,
    Thank you for your reply
    A) is it the first iteration of the loop it fails? If not which iteration?
    No, first iteration is successfull, error occured on iteration-2.
    B) number 7, when you say back to the sales menu, by what means? Via browser back button?
    Not via back button, I do it using Global Navigation rule from action propeerty of <af:commandMenuItem
    C) your sales menu, does it use af:command controls or af:go controls?
    From SalesMenu to AddOrderPage -> using <af:commandMenuItem
    D) the number -3469. Is it familiar to you? A number you're generating via I'm curious to know why it's negative.
    Yes, negative is expected, its because I use DBSequence as PK, and on entering the AddOrderPage, a new Row is created, when created by ADF the PK is negative,
    then using a DB Before Insert Trigger I update it with a normal sequence.
    Does iteration / looping work in your case ?
    Thank you very much,
    xtanto.

  • [Master-Detail] JBO-35007: Row currency has changed since...

    Hi,
    I have a very annoying problem in ADF Faces with row currency:
    I have a "Master table - Detail table" relationship on a very simple test page based on the SRDemo's PRODUCTS and SERVICE_REQUESTS tables. Everything was done automatically: create Entities from Tables, create the SLSB facade, and create the tables on the page via dragging the accessor.
    Then I added a "Refresh" button on the page whose action handler is:
        public String btnRefresh_action() {
            DCIteratorBinding iterMaster = (DCIteratorBinding)bindings.get("findAllProductsIter");
            String rowKeyStrMaster = iterMaster.getCurrentRowKeyString();
            DCIteratorBinding iterDetail = (DCIteratorBinding)bindings.get("serviceRequestListIterator");
            String rowKeyStrDetail = iterDetail.getCurrentRowKeyString();
            iterMaster.executeQuery();
            iterMaster.setCurrentRowWithKey(rowKeyStrMaster);
            iterDetail.setCurrentRowWithKey(rowKeyStrDetail);
            return null;
        }And here's where the problem kicks in:
    1. I select the product with ID=100 (because it has multiple details).
    2. I select some detail. Say, the second one.
    3. I click on the "Refresh" button.
    4. The button's handler re-executes the iterator and restores the current rows on the tables. The page loads okay and the rows that were selected prior to clicking on the button continue to be selected appropriately.
    5. Now I click on the "Refresh" button again. And I get the error: "JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[1 ]".
    Please, help. What should I do to prevent this error from happening? It it a bug in my code or a bug in the framework? When I only have one table (and not a Master-Detail relationship), everything works. The problem comes from the Detail table.
    We use EJB3 + JPA + ADF Faces. I tested the problem on JDev 10.1.3.3.0.4157 and JDev 10.1.3.2.0.4066.
    Best regards
    Bisser

    no post......
    Edited by: BaiG on Nov 2, 2010 2:21 PM

  • PBS !!! JBO-35007 row currency has changed

    Hello,
    I have a simple DB Table Person with 2 columns "FirstName", "LastName" which are required (not Null).
    I create a VO "PersonQuery" based on a VE "PersonneEntity", this last one is associated to the DB Table "Person".
    So, i use a create form based on the VO "PersonQuery". When i commit my form with at most one field leaves "blank" (the field is required and the client validation is to false), after second commit, i have JBO-35007 row currency has changed... After, i can't commit the form with values for all fields, because jdeveloper has a wrong row key !!! I have an error for each field which is blank for jdeveloper !!!
    If the row currency token mechanism is be turned off through the pageDef for my page, by setting the EnableTokenValidation to false, my initial creation form isn't blank but associated with the first record of the DB Table.
    Thank for your help !
    Bob

    Hi,
    Ok, i don't ignore the validation error. By switching off client validation, i want to use the server side validation for required fields. So, by using the server side validation for required fields, i obtain JBO-35007 error after the second submit (no commit) of my form which contents blank field. In this simple case, i don't understand why the VO is out of synch with the data displayed on the screen.
    More, why the row currency token mechanism is be turned off through the pageDef for my page, by setting the EnableTokenValidation to false, my initial creation form isn't blank but associated with the first record of the DB Table???
    Bob

  • JBO-35007: Row currency has changed.. when Rollback fom a Dialog page

    Hi All,
    From a page with an ADF Readonly table, I press 'Edit' button to edit some fields (not all) in an edit page as a Dialog page. Both page use same View Object Instance. Edit page has Commit and Rollback button.
    Since it is a dialog page , I add af:returnActionListener to the Rollback button
    If I press Commit its fine. But If I press Rollback, when I back to originating page I get this error :
    1. JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[IV 2107 SIU01 ]
    2. JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[IV 2107 SIU01 ]
    How to solve this problem ?
    Thank you for your help,
    xtanto

    Doing a rollback by default clears the caches. This causes view objects to be requeried the next time they are needed, and causes the current row to be reset to the first row in the view object instance's default row set.
    This error means that the row that was current when the browse page was rendered is now no longer the current row. Token validation is set on the page definition for a JSF page. By default, token validation is on.
    To adjust the setting for token validation:
    1. Open the page definition file for the page.
    2. In the Structure window, select the root node for the page definition itself.
    3. In the Property Inspector, use the dropdown list for the
    EnableTokenValidation attribute to set validation to true to turn on token
    validation, or false to turn off token validation.
    Alternatively, if you cause a partial-page update on the base page, it should update it's notion of the current row and that is another way to avoid this error.

  • JBO-35007 row currency has changed - can timeouts cause this?

    A user of mine (JDev 10.1.3.1 ADF BC/ADF Faces) is experiencing the famed JBO-35007 row currency has changed error message after a period of inactivity (~35 minutes).
    Suspiciously sounds like a timeout to me. Can the row currency validation be invalidated by a timeout in the ADF framework? What side of the framework tracks the row currency? I'm guessing it's ADF Business Components. Can the timeout of the AM cause JBO-35007?
    Any help appreciated.
    Regards,
    CM.

    Hi John,
    it depends on the fact the failover feature is enabled or not (jbo.dofailover).
    When enabled, the HttpSession cookie that is stored in the HttpSession will also be stored on the browser (browser cookie), so that the framework can re-establish the link between a new HttpSession and the pending session state.
    As 35 minutes is the default of the HTTP session timeout, I suppose that Chris is working in failover mode, and that BC4J has some problem to re-activate the current row (maybe its key ?) correctly.
    Regards,
    Didier.

  • JBO-35007: Row currency has changed

    I have a search page that returns result to the same page. Result iterator is:
    <iterator id="SearchPersonsIterator" RangeSize="10"
    Binds="SearchPersons" DataControl="AppModuleDataControl"
    RefreshCondition="${adfFacesContext.postback}"
    Refresh="renderModelIfNeeded"/>
    After I get result to result table, I select any result and go to View person details page.
    If I click Back button and re-execute the query, I get:
    JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[268012 ]
    IF I hit Search again, error disappears
    This was discussed extensively in the forum and I understand the conceptual reason of this error and I think I need to reexecute the Iterator just when Search button is pressed. I try to use:
    RefreshCondition="${bindings.ExecuteWithParams}"
    Refresh="ifNeeded"
    or
    RefreshCondition="${bindings.ExecuteWithParams.execute}"
    Refresh="ifNeeded"
    Which in my opinion should work because bindings.ExecuteWithParams is action listener to my Search button?
    I also try:
    RefreshCondition="${adfFacesContext.postback == false}"
    Refresh="renderModelIfNeeded"/>
    RefreshCondition="${adfFacesContext.postback == false}"
    Refresh=" prepareModel"/>
    RefreshCondition="${tue}"
    Refresh="prepareModel"/>
    AND
    Refresh="ifNeeded"/> with no condition at all
    Nothing is working

    Ok, I didn’t sow the whole picture (usual stuff). I have another iterator
    <iterator id="PersonInformationIterator" Binds="PersonInformation"
    RangeSize="10" DataControl="AppModuleDataControl">
    PersonInformationIterator, after SearchPersonsIterator refresh, was in no-synchronization with SearchPersonsIterator. After setting refresh for bouth:
    RefreshCondition="${adfFacesContext.postback == false}"
    Refresh="renderModelIfNeeded"
    error disappears.
    I still don’t exactly understand why…but ecerything now works just fine

  • JBO 35007 Row Currency has changed - Master Detail Table

    Hi,
    I have a one master table and one detailed table. I can create rows in the master table with no errors. However, when I try to insert rows in the detailed table, I receive JBO-35007 error, Row currency has changed.
    How do I fix this?
    thank you

    We also has exact same error in Hyperion 11.1.1.3 on Windows 2003 with Oracle 11.1.7.0 database .. can someone advise please?
    Regards
    -Naveed-

  • JBO-35007: Row currency has changed since the user interface was rendered.

    Hello,
    I have made a search page. And from the search page I select an item and then update it. After updating I come back to the search page. When I again try to search I get this error (JBO-35007) on the page. No error is displayed in the console (Jdeveloper). I have set EnableTokenValidation="false" in the page definition page.
    Can someone please tell me what happens when I click the search button? Does the Entity Object cache also gets updated or checked? I am badly stuck at this place.
    Thanks,
    Sanjay

    Hi Sanjay,
    I hope this and this can help you!
    Regards,
    Samba

  • [NEW PROGRESS]Terrible JBO-35007: Row currency has changed

    oracle.jbo.JboException: 当前行自呈现用户界面以来已更改。要求的行关键字为 oracle.jbo.Key[4504 null null null ]
         at oracle.adf.model.binding.DCBindingContainerState.throwRowNotFoundException(DCBindingContainerState.java:204)
         at oracle.adf.model.binding.DCBindingContainerState.validateIterator(DCBindingContainerState.java:227)
         at oracle.adf.model.binding.DCBindingContainerState.validateStateFromString(DCBindingContainerState.java:366)
         at oracle.adf.model.binding.DCBindingContainerState.validateToken(DCBindingContainerState.java:442)
         at oracle.adf.model.binding.DCBindingContainer.validateToken(DCBindingContainer.java:3360)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:104)
         at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareModel(FacesPageLifecycle.java:72)
         at oracle.adf.controller.v2.lifecycle.Lifecycle$8.execute(Lifecycle.java:210)
         at oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116)
         at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java:29)
         at oracle.adf.controller.faces.lifecycle.ADFPhaseListener$4.after(ADFPhaseListener.java:327)
         at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:90)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:254)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.webcache.adf.filter.PageCachingFilter.doFilter(PageCachingFilter.java:274)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
         at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
         at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Message was edited by:
    Guo Qinghua
    Message was edited by:
    Guo Qinghua

    the pageDef.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
    version="10.1.3.36.73" id="order_OrderRollPackingEditPageDef"
    Package="webview.pageDefs">
    <parameters/>
    <executables>
    <invokeAction Binds="createRollPacking" id="invokeCreate" Refresh="renderModel"
    RefreshCondition="#{empty bindings.expressionList and (!adfFacesContext.postback or
    requestScope.createAnother) and processScope.CreateRollPacking}"/>
    <iterator id="OrderPackingDetailView1Iterator" RangeSize="10"
    Binds="OrderPackingDetailView1"
    DataControl="OrderAppModuleDataControl"/>
    <iterator id="WorkTabOrderDetailColorView1Iterator" RangeSize="10"
    Binds="WorkTabOrderDetailColorView1"
    DataControl="OrderAppModuleDataControl"/>
    <iterator id="CustomerLabelView1Iterator" RangeSize="10"
    Binds="CustomerLabelView1"
    DataControl="OrderAppModuleDataControl"/>
    </executables>
    <bindings>
    <attributeValues id="ColorSampleId" IterBinding="WorkTabOrderDetailColorView1Iterator"
    >
    <AttrNames>
    <Item Value="ColorSampleId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="OrderId" IterBinding="OrderPackingDetailView1Iterator">
    <AttrNames>
    <Item Value="OrderId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="BrokerId"
    IterBinding="OrderPackingDetailView1Iterator">
    <AttrNames>
    <Item Value="BrokerId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CusOrderId"
    IterBinding="OrderPackingDetailView1Iterator">
    <AttrNames>
    <Item Value="CusOrderId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerId"
    IterBinding="OrderPackingDetailView1Iterator">
    <AttrNames>
    <Item Value="CustomerId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="ColorId" IterBinding="OrderPackingDetailView1Iterator">
    <AttrNames>
    <Item Value="ColorId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="VatId" IterBinding="OrderPackingDetailView1Iterator">
    <AttrNames>
    <Item Value="VatId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="PieceFormula"
    IterBinding="OrderPackingDetailView1Iterator">
    <AttrNames>
    <Item Value="PieceFormula"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="Length" IterBinding="OrderPackingDetailView1Iterator">
    <RangeValidationBean xmlns="http://xmlns.oracle.com/adfm/validation"
    MinValue="0"/>
    <AttrNames>
    <Item Value="Length"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="LengthUnit" IterBinding="OrderPackingDetailView1Iterator"
    >
    <AttrNames>
    <Item Value="LengthUnit"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="AmendLength"
    IterBinding="OrderPackingDetailView1Iterator">
    <AttrNames>
    <Item Value="AmendLength"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="RollId" IterBinding="OrderPackingDetailView1Iterator">
    <RangeValidationBean xmlns="http://xmlns.oracle.com/adfm/validation"
    MinValue="0"/>
    <AttrNames>
    <Item Value="RollId"/>
    </AttrNames>
    </attributeValues>
    <action id="Commit" InstanceName="OrderAppModuleDataControl"
    DataControl="OrderAppModuleDataControl" RequiresUpdateModel="true"
    Action="100"/>
    <action id="Rollback" InstanceName="OrderAppModuleDataControl"
    DataControl="OrderAppModuleDataControl" RequiresUpdateModel="false"
    Action="101"/>
    <methodAction id="createRollPacking"
    InstanceName="OrderAppModuleDataControl.dataProvider"
    DataControl="OrderAppModuleDataControl"
    MethodName="createRollPacking" RequiresUpdateModel="true"
    Action="999">
    </methodAction>
    <methodAction id="acceptRollPacking"
    InstanceName="OrderAppModuleDataControl.dataProvider"
    DataControl="OrderAppModuleDataControl"
    MethodName="acceptRollPacking" RequiresUpdateModel="true"
    Action="999">
    <NamedData NDName="changedQnt" NDType="java.math.BigDecimal"/>
    <NamedData NDName="isNew" NDType="java.lang.Boolean"/>
    </methodAction>
    <methodAction id="getLastRollId"
    InstanceName="OrderAppModuleDataControl.dataProvider"
    DataControl="OrderAppModuleDataControl"
    MethodName="getLastRollId" RequiresUpdateModel="true"
    Action="999">
    </methodAction>
    <attributeValues id="CustomerLabelView1LabelOrderId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LabelOrderId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LineOrderId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LineOrderId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LineBrokerId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LineBrokerId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LabelBrokerId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LabelBrokerId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LabelCusOrderId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LabelCusOrderId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LineCusOrderId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LineCusOrderId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LineCustomerId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LineCustomerId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LabelCustomerId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LabelCustomerId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LabelColorId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LabelColorId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LineColorId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LineColorId"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LineLength"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LineLength"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LabelLength"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LabelLength"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LabelRollNo"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LabelRollNo"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LineRollNo"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LineRollNo"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LineBarcode"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LineBarcode"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="OrderPackingDetailView1Barcode"
    IterBinding="OrderPackingDetailView1Iterator">
    <AttrNames>
    <Item Value="Barcode"/>
    </AttrNames>
    </attributeValues>
    <button id="CustomerLabelView1ChkOrderId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="ChkOrderId"/>
    </AttrNames>
    <ValueList>
    <Item Value="Y"/>
    <Item Value="N"/>
    </ValueList>
    </button>
    <button id="CustomerLabelView1ChkBrokerId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="ChkBrokerId"/>
    </AttrNames>
    <ValueList>
    <Item Value="Y"/>
    <Item Value="N"/>
    </ValueList>
    </button>
    <button id="CustomerLabelView1ChkCusOrderId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="ChkCusOrderId"/>
    </AttrNames>
    <ValueList>
    <Item Value="Y"/>
    <Item Value="N"/>
    </ValueList>
    </button>
    <button id="CustomerLabelView1ChkCustomerId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="ChkCustomerId"/>
    </AttrNames>
    <ValueList>
    <Item Value="Y"/>
    <Item Value="N"/>
    </ValueList>
    </button>
    <button id="CustomerLabelView1ChkColorId"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="ChkColorId"/>
    </AttrNames>
    <ValueList>
    <Item Value="Y"/>
    <Item Value="N"/>
    </ValueList>
    </button>
    <button id="CustomerLabelView1ChkColorSample"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="ChkColorSample"/>
    </AttrNames>
    <ValueList>
    <Item Value="Y"/>
    <Item Value="N"/>
    </ValueList>
    </button>
    <button id="CustomerLabelView1ChkWidth"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="ChkWidth"/>
    </AttrNames>
    <ValueList>
    <Item Value="Y"/>
    <Item Value="N"/>
    </ValueList>
    </button>
    <attributeValues id="CustomerLabelView1LabelWidth"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LabelWidth"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="CustomerLabelView1LineWidth"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="LineWidth"/>
    </AttrNames>
    </attributeValues>
    <button id="CustomerLabelView1ChkBarcodeText"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="ChkBarcodeText"/>
    </AttrNames>
    <ValueList>
    <Item Value="Y"/>
    <Item Value="N"/>
    </ValueList>
    </button>
    <button id="CustomerLabelView1ChkBarcode"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="ChkBarcode"/>
    </AttrNames>
    <ValueList>
    <Item Value="Y"/>
    <Item Value="N"/>
    </ValueList>
    </button>
    <button id="CustomerLabelView1ChkPieceFormula"
    IterBinding="CustomerLabelView1Iterator">
    <AttrNames>
    <Item Value="ChkPieceFormula"/>
    </AttrNames>
    <ValueList>
    <Item Value="Y"/>
    <Item Value="N"/>
    </ValueList>
    </button>
    <attributeValues id="PatchStyle"
    IterBinding="OrderPackingDetailView1Iterator">
    <AttrNames>
    <Item Value="PatchStyle"/>
    </AttrNames>
    </attributeValues>
    </bindings>
    </pageDefinition>

  • JBO-29000: JBO-33035: Row currency has changed since the user interface....

    I've a problem related to ADF that I don't understand very well:
    JBO-29000: JBO-33035: Row currency has changed since the user interface was rendered. The expected row key was null
    I read that is due to the Token and the functionality "Enable Token Validation" set to true (http://www.oracle.com/technology/products/jdev/tips/muench/paging/index.html)
    this error appears rarely, and try again to do the same operation it work correctly.
    Could be this problem related to the slow performances of the system(i.e. network problems, as performances, db performances that reduce speed of the system)?
    thank you
    Francesca

    This error is not related to performance.
    It can only be caused by submitting a page whose current row token contains the value of a key which does not match the key of the current row in the corresponding iterator when the server processes the request.
    Often, it can occur if the user uses the browser back button to go back to a page whose current row token now no longer matches the actual current row in the iterator.

  • JBO-33035: Row currency   has changed

    Hi,
    I have a Dept table which has 10 rows.
    Lets say 2 users are viewing the Dept List and tries to modify the same record at the same time.
    Then one of the user gets the following error
    "JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-33035: Row currency has changed since the user interface was rendered. The expected row key was null"
    Let me know how to solve this
    Thanks

    Can't say I've seen JBO-33035 in context of another user updating the same record. Usually it occurs because of an issue with the state token and the user making use of the browser back button.
    Hopefully the following post gives you a pointer:
    Re: JBO-33035: Row currency has changed since the user interface was rendered.

  • JBO-33035 "Row currency has changed..." and Failover feature

    Hi,
    I came across a problem (bug?) while playing with the failover feature (JDev9052).
    I have an AM pool with just one instance and two browsers. Failover is not set.
    My test:
    1.: First browser moves through the Dept list.
    2.: Second browser moves through the dept list to another position.
    3.: First browser wants to move to next page.
    --> Exception JBO-33035
    I switched Failover on and repeated the test. No exception, everything is fine.
    I have rebuild the demo with JDev 904 and the test works fine without any exception!
    I have found the paper "Generic Approach for Back-Button-Friendly Web Rowset Paging" (http://www.oracle.com/technology/products/jdev/tips/muench/paging/index.html) and changed
    Enable Token Validation property to FALSE (Failover=false). I do not use the BACK button.
    I repeated the test and got another exception: JBO-25013: Too many objects match the primary key oracle.jbo.Key[10 ].
    My net result of my tests is that I do not dare to set failover=false in my apps. :-(
    Maybe I not understand how to use the failover feature.
    Please let me know how to fix that problem.
    Thanks,
    Markus

    You'll need to give more information on how the error occurred.
    This error is related to the state token when the mid-tier discovers the client-tier has independently navigated to another page (potentially via a browser cache) without notifying the mid-tier. When the client-tier finally communicates with the mid-tier passing an earlier out of date state token, the mid-tier detects that the state token is out of sync with what it thinks the client-tier should be returning. Thus the mid-tier raises this error.
    There are a number of scenarios in which this problem can occur, and as such you need to detail how you raised this error.
    For more information research the "state token" concept in the JDeveloper documentation.

  • JBO-33035: Row currency has changed since the user interface was rendered

    First - Yes I have read a number of the postings regarding this error - HOWEVER - there seems to be a 'rather' serious side effect that I need to get fixed.
    Am dropping on a a UIX datapage a datacontrol VO component as a Search Form. I have added Delete/Commit/Rollback buttons to this form. When the app is run and I am on the initial Results page and I select the Delete button I get the 33035 error. When I select it a second time it works as it should and I then select the Commit or the Rollback button. If, from the Results page I select the Find button - I am taken to the Search Criteria page where I can enter the appropriate Edit Criteria, select the Execute button and I get the proper results on the Result page. The Delete button then behaves as previously described.
    After looking at Steve Munch's article at http://www.oracle.com/technology/products/jdev/tips/muench/paging/index.html I then changed the Enable Token Validation property to False. Now when I am on the initial Results page the Delete button works as it should - no 33035 error. HOWEVER - when I go to the Search Criteria page, enter the appropriate Edit Criteria, and select the Execute button - the screen simply refreshes the Search Criteria form and NO results are returned!
    Thanks for any help - Casey

    Issue resolved
    Problem was - accessing a remote database. When selected a record then immediately selected the Delete button - the remote access did not have enough time to refresh the 'RowSet'. Select the row to be deleted and give the remote database time to refresh and no issues.
    Casey

Maybe you are looking for

  • How to show start time in week mode on ical?

    I'm looking for a way to show the start time of an event in week mode in iCal. I know you can just click on the event but I want to be able to print and glance at it instantly. Any help would be great! Thks!

  • Enterprise Portal Installation

    Dear Expert,           I am New Implementation Consultant, i dont know how to follow the correct procedure. Please provide for us INSTALLATION GUIDE AND IMPLEMENTATION NOTES, AFTER INSTALLATION CONFIGURATION STEPS, DOCUMENT LINKS. Thanks, Selvarajs

  • Workflow report required

    Dear I have one problem in ESS.Actually my client wants a report related to the leaves applied through ESS. In that report  they want the leave request date, start date and end date of the leaves applied and the type of the leave, with the employee n

  • Incredible fan noise

    I have a 20" iMac G5. Despite removing Virex that caused the high CPU usage in my computer, I am just utterly disappointed with the fan noise. It is unbearable. Right now, my computer sounds like it is about to explode-the only application I am using

  • Adobe Premiere Pro is constantly crashing and freezing

    I'm a new user to adobe and I've used their free trials in the past for cs6, but this latest version of Premiere Pro keeps crashing while I'm in the middle of projects. I really don't know what the problem is. Is there something I need to update?