OD Master and MCXD Cache Problem

Hi,
has someone an idea how to solve a mcxd Cache Problem?
Always when I sate up the OD Master after a new installation of Mac OSX 10.4.11 Server, I get the mcxd problem after the reboot. After the reboot I have always this massage, see system.log in our system.
SYSTEM.LOG
Mar 5 21:45:23 mainserver /System/Library/CoreServices/mcxd.app/Contents/MacOS/mcxd: DSGetLocallyHostedNodeNames(): dsFindDirNode() == -14008
Mar 5 21:45:23 mainserver /System/Library/CoreServices/mcxd.app/Contents/MacOS/mcxd: DSGetSearchPath(): DSGetLocallyHostedNodeNames() == -14956
Mar 5 21:45:23 mainserver /System/Library/CoreServices/mcxd.app/Contents/MacOS/mcxd: DSGetCurrentConfigInfo(): DSGetSearchPath() == -14956
Mar 5 21:45:23 mainserver /System/Library/CoreServices/mcxd.app/Contents/MacOS/mcxd: DSGetCacheInfo(): DSGetCurrentConfigInfo() == -14956
Mar 5 21:45:23 mainserver /System/Library/CoreServices/mcxd.app/Contents/MacOS/mcxd: * MCXD.getComputerInfo: Couldn't get cache info -14956
How can I solve this problem?
This problem makes my crazy since 3 weeks.
And is this problem known under Mac OSX Server 10.5?
To our server system:
One XServer G5 is the DNS Server and
A second XServer G5 is the OD Master.
Thanks for your help!

Hi
+"Is the replica truly read only?"+
It should be. However I've come across a similar situation. At a site I support the local admin was creating users and editing passwords on the Replica rather than the Master. He kept getting the usual "dsDirectoryetc" errors but he persisted and eventually got the settings to 'take'. Querying the databases on both Master and Replica produced similar results to yours. It was difficult then to go back to the Master and 'redo' properly what he'd done as he'd not kept track of the changes he made. To 'fix' I simply demoted/repromoted the Replica which worked for me. Although time will tell if it turns out to be a permanent fix?
Tony

Similar Messages

  • Setting OF LD_LIBRARY_PATH AND WEB CACHE PROBLEM [SHOWING PREVIOUS PAGE ]

    Dear Members,
    I would request for help regarding setting of LD_LIBRARY_PATH in Oracle 11G Application server and web cache problem when any single text file edit and save the result should not be changed . it shows previous page result.
    *1. Where to set LD_LIBRARY_PATH in Oracle11g Application Server (10.3.0) ? [  like in 9ias we set in opmn.xml . ] Where is opmn.xml file in oracle11g or which files contained LD_LIBRARY_PATH?*
    *2. When we created program generated report it shows correct result after some changes in file and generate again it shows first means previous page result as it is not take changes in that file. Even we tried out side made one .text file and open edit and save. It's given same result. So What is the problem regarding it?*
    It is the matter of  Browser Cache or WEB Cache. Where is the settings of it?
    *3. How to connect database (oracle11g Release 2) through OCI driver?*
    Regards
    Vipul Patel

    If you're compiling it yourself, you should set the library path then. If not, you can try something like this:
    env DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/path/to/add-on-libraries orca ...
    but I'm not sure it will work.

  • Weblogic JTA timeout and PreparedStatement cache problem (Closed Statement)

    Hello,
    I am facing up a problem using a Weblogic connection pool with a PreparedStatement.
    Here is the environement :
    - Weblogic application server 10.3
    - JDBC connection pool with Oracle Thin driver (from server library) - all parameters by default i.e. StatementCache size = 10
    - JTA transaction timeout = 30s
    The problem is : if a prepared statement ends because of a JTA timeout, I receive the following stack exception/ stack trace
    java.sql.SQLException: The transaction is no longer active - status: 'Rolling Back. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 33 seconds
    BEA1-000D8AE7230EFAA3EDC9]'. No further JDBC access is allowed within this transaction.
    at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.java:178)
    at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:188)
    at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java:92)
    at weblogic.jdbc.wrapper.Connection.clearCachedStatement(Connection.java:814)
    at weblogic.jdbc.wrapper.PreparedStatement.clearCachedStatement(PreparedStatement.java:1357)
    and then, if we try to re-execute immediately the same operation (*same statement* but new request, new thread, new JTA transaction ...) we receive without delay the following exception :
    java.sql.SQLException: Closed Statement
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:403)
    It seems like a bug in the caching mechanism of Weblogic, the 1st stack trace shows method from the statement cache implementation, I presume weblogic is trying the clear the statement from the cache after the iniitial TimedOutException (SQLException), but as the JDBC connection is unusable at this point, the clearing fails and the statement remains in the cache but is physically closed by JDBC.
    1st question, why weblogic does need to call JTSConnection.checkConnection() for clearing a statement from its internal cache, it is a pure java memory operation isnt'it ?
    2nd question : How to solve the problem without setting the StatementCache size to 0 (I tried, it solves the problem)? I don't want to disable completely the Weblogic statement caching, I have a small PreparedStatement called very frequently.
    Thanks for any help

    The main issue is that the transactional context that is supposed to underlay the JDBC code being executed,
    has gone away. Indeed, any DBMS changes that may have been made by your code so far, have been rolled
    back and are gone. Your code should not be trying to continue JDBC as normal, and WebLogic is trying to stop
    you. The control flow should go back up to the location where the transaction was initiated, so as to restart from
    the beginning if that is what is desired, including getting a new JDBC connection and remaking all the statements
    etc.
    HTH,
    Joe
    Edited by: Joe Weinstein on Dec 3, 2010 9:12 AM

  • Jsp and image cache problem

    Hello,
    In a jsp(running on tomcat) I switch two jpg files(1.jpg and 2.jpg) and redirect to the page that displays them.
    The problem is that the files are really changed, but the page which displayed them needs manual refresh to "know" they are inter-changed.
    What I have tried, but no success:
    1) In the page which displayed them, I have tried to setup header:
    response.setHeader("cache-control","no-cache, no-store,must-revalidate, max-age=-1");
    response.setHeader("pragma","no-cache, no-store");
    response.setDateHeader ("expires", -1);no difference, in both IE(6 and 7) and Firefox 2.
    Also no result with html:
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Expires" content="-1">2) I have tried to a add a fake param on the images, like
    <a href="1.jpg?<%=(new java.util.Date()).getTime() %">3) I have tried to add also a fake(time) parameter on the jsp which displayes the images, no result
    How can I force the browser to know that I have inter-changed the images?
    Any idea?
    Thank you.</a>

    to traja47 : could you be more specific about that post? Since there are 30,000 plus post about jsp and my sql, thank you very much.
    to jSweep :
    No exceptions.
    just when i ran it, the page is all empty, then I used the VIEW-SOURCE of IE to see the source of the result page, it showed:
    <html>
    <head>
    <title>Accessing data in a database</title>
    </head>
    <body>
    </body>
    </html>
    all the parts related to java are gone. don't know why.

  • Edge Animate and Chrome Cache Problem

    Strang thing with Edge Animate in Chrome on a Mac or PC. You can not reload it. It plays the first time you go to site, but if you hit refresh or try going back to the page, it will not relaod. I have to delete the cache in order for it to Play again.

    Any news? I have the same problem with my animation... it has embedded audio too.
    My link: Sombras en las estrellas
    It works fine in Safari and Firefox, but only displays the first time in Chrome.
    I'd appreciate some help!!

  • Load Cache and UnLoad Cache Problem

    Hi,
    I have inserted 150k Rows from TimesTen and it is been replicated successfully from TimesTen to my Oracle DB.I checked no of rows in TimesTen and Oracle ,showing same rows as 150K rows.
    AT Oracle End
    Count starts for me is from 2 so 153599 rows i will be getting 2 to 153600 rows
    SQL> Select Count(*) from oratt.test_rep;
    COUNT(*)
    153599
    SQL> Select Col108 from oratt.test_rep where Col108=153600;
    COL108
    153600
    SQL> Update oratt.test_rep set Col108=Col108+1 where Col108=153600;
    1 row updated.
    SQL> Select Col108 from oratt.test_rep where Col108=153600;
    no rows selected
    SQL> Select Col108 from oratt.test_rep where Col108=153601;
    COL108
    153601
    AT TimesTen End
    Command> UNLOAD CACHE GROUP CACHEADMIN.TESTCACHE;
    Command> LOAD CACHE GROUP CACHEADMIN.TESTCACHE COMMIT every 1000 Rows;
    153599 cache instances affected.
    Command> Select Col108 from oratt.test_rep where Col108=153600;
    < 153600 >
    1 row found.
    Command> Select Col108 from oratt.test_rep where Col108=153601;
    5213: Bad Oracle login error in OCISessionBegin(): ORA-01017: invalid username/password; logon denied rc = -1
    5131: Cannot connect to backend database: OracleNetServiceName = "MYDB", uid = "Userid", pwd is hidden, TNS_ADMIN = "", ORACLE_HOME= ""
    5109: Cache Connect general error: BDB connection not open.
    0 rows found.
    The command failed.
    Command> cachegroups;
    Cache Group CACHEADMIN.TESTCACHE:
    Cache Group Type: Asynchronous Writethrough (Dynamic)
    Autorefresh: No
    Aging: LRU on
    Root Table: ORATT.TEST_REP
    Table Type: Propagate
    Why i am getting this error i have update my row in Oracle but it is not LOADED in TimesTen, the old value is there in TimesTen .
    Thanks!

    This is a dynamic cache group so when you run a dynamic load capable statement such as this Select Col108 from oratt.test_rep where Col108=*153600;* (presumably Col108 is a key? column) then if there are no matching rows in TiemsTen, TimesTen will attempt to go to oracle to fetch the row(s). These rows will then be inserted into the Tt cache (for future access) as well as being returned to the application. The error occurs because your ttIsql session does not have correct credentials for Orcle (maybe you omitted the OraclePWD= attribute when you connected to ttIsql?).
    If you do not want/need this dynamic load behaviour then you should create the cache group as a non-dynamic cache group.
    With regard to your question about bi-directional cache groups, no we do not support those. If you do change data in the Oracle table which is cached by executing DML against it directly in Oracle then those changes may get overwritten by later changes propagated from TimesTen. If your workload is partitioned so that different sets of rows are updated in Oracle versus TimesTen then that is okay of course. Any updates made in Oracle will not automatically be propagated to TimesTen. You can manually refresh the cache group to pick up any new data if you want to.
    Chris

  • SharedPool and Buffer Cache Problem

    Hi,
    Oracle Database: 10.2.0.4.0
    OS: HP-Ux
    SGA_TARGET: 1200M
    We have enabled Automatic Memory Management feature of Oracle Database which seems to be creating problems.
    When we restart the database on Sunday, the SGA allocation is reset and everything works fine. By Wed/Thu SharedPool grows to 976M and BufferCache is reduced to 144M which starts creating CBC waits.
    Can we restrict the sizes of SharedPool and BufferCache without removing the SGA_TARGET ?
    Thanks a lot in advance :)

    Can we restrict the sizes of SharedPool and BufferCache without removing the SGA_TARGET ?With ASMM in place, you cannot restrict the sizes of pools. You can, however, define the minimum allocation of pools, which is respected by ASMM.
    It appears to me that SGA_TARGET settings are not adequate for the number of distinct SQLs that are being fired by your application (may be not using bind variables); this can result in shared pool consuming large chunks of memory from the SGA. You need to address this issue (if that is the case) in first place.
    If you are using bind variables in SQLs then your SGA settings are not adequate for the given load and you need to revise the value.

  • Bridge update does not fix caching problems.

    Dear Adobe,
    The 5.0.1.23 update for Bridge CS6 does NOT fix the problem of constantly re-caching layered TIF files.
    I originaly reported the problem here on May 16, 2012.
    http://forums.adobe.com/thread/1007560
    At that time I also submitted a bug report via photoshop.com, and received an e-mail response from Adobe support confirming the problem had been replicated in their lab and promising a fix in the next update.
    I've since tracked several other reports of this bug and related cache problems.
    I assume that, at best, we will have to wait another 6 months or more for the next update. How can I assure this bug will be addressed?

    redcrown on guard wrote:
    The 5.0.1.23 update for Bridge CS6 does NOT fix the problem of constantly re-caching layered TIF files.
    At that time I also submitted a bug report via photoshop.com, and received an e-mail response from Adobe support confirming the problem had been replicated in their lab and promising a fix in the next update.
    Thank you for this bit of information. Maybe it means I can stop the deactivations/uninstall/reinstall/reactivate cycle to try yet another solution. And hopefully, this will stop the re-caching problem with other than tif files.
    regards
    *S*

  • After Effects CS6: Cache and Reload Footage Problem

    After Effects CS6: Cache and Reload Footage Problem
    I am having trouble getting my footage to update in an AE project. 
    In an existing project, there is an image sequence in a composition.  I have saved and closed AE, modified the footage (same dimensions and qty. of frames, only the pixel data changes), and then re-launched AE and opened the project.  Though I have changed the footage, the old content still appears.
    To resolve this, I have done the following:
    Edit>Purge>All Memory
    Edit>Purge>Image Cache Memory
    Edit>Preferences>Media & Disk Cache>Empty Disk Cache
    Edit>Preferences>Media & Disk Cache>Clean Database & Cache
    From the Project window I've selected all footage and selected Reload
    None of these got the footage to update.  I could double-click on the footage in the project bin and scrub the play head and the old footage was still displayed.
    Finally I had to replace the footage with itself and that resolved the issue.
    If this is operator error, lack of understanding the cache functions, or something else, I'd appreciate some assistance. I don't recall this behavior in CS 5.5, so I am guessing this is a change in CS 6.
    Win 7 Pro 64bit Service Pack 1
    Intel Xeon CPU X5450 @ 3.00 GHz 2.99 GHz
    RAM 20 GB

    about Illustrator and Photoshop files in CS6 especially - you should work with Ctrl/Cmd+E (Edit Original).
    when in Ae and you want to change a source file, use this command on one of the layers
    from the source file you wish to change (doesn't matter if its in the timeline or project window) and
    your original software linked to that file will open.
    when you work this way you make AE reload that file and any change after that will be seen back in AE immediately.
    it is also very convenient way to work because there can be no confusion on which file you are on
    if you work with multiple source files for example.
    even if you made the change with your Photoshop/Illustrator opened file and got back to Ae
    and didn't see any change - press on one of the layers Ctrl/Cmd+E and this will refresh it immediately.
    This is the case in CS6.
    in CC I have noticed that any change I make is refreshed immediately in Ae as if it rechecks the changes all the time,
    and didn't even need to use Ctrl/Cmd+E but it's a good habit all the same.
    didn't come across a case where that didn't work for be but
    if all fails you could always change the folder location of the file, let Ae lose it, then replace footage of the file,
    and thus let Ae re-link it back.

  • Master and slave problem

    Hi Everyone,
    When I try to use the MAster and slave template which is provided by the NI itself, try to understand it how it works, but when  I use this concept to implement in my code, just found there is the problem at there:
    Problem:
    1. The master loop always looping even though there do have a notification from the master to slave but the slave do not respond anything, can't figure the reason.
    2. When the master loop is exit then the slave loop just start to execute but it is too late cos master loop already exit.
    Those senario are different from the master and slave template. need your help.
    Thanks
    William Lee

    Hi Williamlee,
    Thanks for contacting National Instruments, 
    It would be much easier if we could see your code, this will help us work out where the issue is, and to help us understand where you maybe having issues... 
    Also I would like to include some more information with regards to the Master/Slave template.Developer Zone article : Application Design Patterns : Master/Slave and also a webcast on Software Design Architectures in NI LabVIEW
    Kind regards,
    Ashish Naik
    Field Sales Engineer
    National Instruments UK

  • Problem with Master and Child table

    Hi,
    Working in jdev 11.1.1.2.0. I have one strange issue. i have master and child tables, the model is working fine with the view link. but when drag drop the same into my jsff. when i query the result 1st time 2 tables are refershing properly and data is coming. but the when i trying to select another row in the 1st table my 2nd table(child table) is not refreshing.
    i put partial trigger of the 2nd table as 1st table id.
    can any one help wht is issue here.
    Edited by: user5802014 on Jul 15, 2010 3:44 PM

    Check this post might help you
    http://baigsorcl.blogspot.com/2010/03/creating-master-detail-form-in-adf.html

  • Caching problem in Chrome and Firefox

    Hey folks,
    I ran into a weird problem.  I created a video player based on the Strobe Media Playback.  I added a couple of plugins.  This player is used to watch progressive download FLV files.
    I ran into the following issue.  I watch part of a video.  I select another one.  Then I select the previous one again.  Only the cached portion of the first video is shown.  The entire video will not be downloaded again from the server, but only the portion already cached on the client.
    This problem is really bad in Chrome.  When I restart FF, I can watch the entire video.  Not in Chrome.  The only way to solve this in Chrome is to clear the cache.
    Any ideas?
    The website is live, so you can test this yourselve.  http://www.submergeproductions.com/videos.aspx
    All help very welcome, because this is a major issue.
    Follow up.  I made a quick fix.  I added a random number to the FLV url to force a redownload from the server, but this quite a dirty fix. I would rather have a restart/continuation of the download if the file was only partially downloaded.
    Thanks,
    Peter

    Hi Silviu,
    the reason why it works now is because I uploaded a modified version.  I append "?<random number> to the URL.  That prevents caching problems because the browser hasn't got the version cached.  But I still report it as a bug.
    Peter

  • Master and Subprojects problems with Apps

    Hi all,
    What is going on with Master and Subprojects in an Online tenant with apps??
    I will show some pictures about, cause Apps (no-one) is getting information about Master and Subprojects:
    - This picture shows the Project Center, and the project "Master Project Test 1" is a Master Project and the "Project Test 5" is its Subproject:
    After I´ve installed an App with the scope of Project, to get the information of a single project, but I cannot select these two projects already named early:
    Is there the expected behavior? Or Is it a bug?
    Thanks!

    Finally got a chance to test this out Miguel but haven't found any workaround.  I can see behind the scenes we are looking just for PROJ_TYPE=0 when populating the list, and not type 5 (subprojects) or 6 (masters).  I'm trying to find more info
    internally on if this is a design choice or oversight.  I can understand that master projects could give issues as this is specifically a single project permission check - but I can't think of any logic to exclude sub projects.  The only workaround
    I could think of would be to use the Multiple Project option and then select the project within the app.  This would still be secure to just projects the user of the app has access to.
    I'll let you know when I hear more.
    Best regards,
    Brian
    Blog |
    Facebook | Twitter | Posting is provided "AS IS" with no warranties, and confers no rights.
    Project Server TechCenter |
    Project Developer Center |
    Project Server Help | Project Product Page

  • Serial attribute and org attribute problems with item master

    IF i want to unassign an item from an org, how would i do tht
    The check is not updateable in the organization assignment tab
    Secondly:
    When i try to make an existing item serial controlled, i go to inventory tab on item master and when i change the serial control attribute GENERATION then "For some items it says APP-INV-05525: Either On Hand quantity or pending transactions exist for item, cannot change this value"
    But for same item if i choose GENERATION sales order issue than it works fine.
    Thirdly:
    How would i Use generated serial numbers..how to assign them or use them for issuing and recieving

    Regarding the 1st part of your query: Unassigning item from an Org
    You cannot unassign an item that way (by unchecking the Assigned checkbox).
    You have 2 options:
    1) Delete the item from the respective Org if it is not yet transacted in that org.
    Navigation : Items-> Delete Items
    Once selecetd this will open deletion Group screen, please enter a new group name and description and for type select Item from LOV and then in details Tab enter your item that you want to be taken out.
    Save the transaction and then click on Delete group button at the bottom of the screen --> this will raise a concurrent request.
    If it is already transacted in the respective org from where you want to delete it then system will not allow to delete the item for audit trail purpose.
    2) You can make the item 'Inactive' to prevent transactions or ordering (purchasing/sales) you can uncheck the appropriate attributes on that item in the org (assuming your attributes controls allow it at org level rather than master level).
    Regarding Serial number generation options a) At Receipt and b) At Sales Order Issue:
    a) At Receipt >> Create and assign serial numbers when you receive the item. As you move the material within inventory and until you issue it out you have to use the serial number for those transactions.
    b) At Sales Order Issue >> Create and assign serial numbers when you issue (ship) the item against a sales order. For this option serial numbers are required at ship confirm.
    Now as per the definitions given above, if there on-hand already exists in your organization(s) then you cannot set the serial generation control "At Receipt". Because in that case all existing on-hands should have serial number assigned which is not the case. On-hand should be zero to set the control "At Receipt". Hence system will prevent you from setting it to "At Receipt" when on-hamd exists. Also in your post you mentioned that you tried to change the control in Item Master, that means serial control generation attribute is set at Master level for you. In this case it will consider on-hands for that item in all the child orgs.
    On the other side if you are setting serial control generation "At Sales Order Issue" then seral number is not required for existing on-hands because it will be created and assigned during ship confirm. So system will not prevent even if on-hand exists.
    Considering the options available in the system your third question (How would i Use generated serial numbers..how to assign them or use them for issuing and recieving) not very clear. The "generated serial numbers" part is creating little confusion in mind as to what you are actually looking for.
    As explained above, if control is set "At Receipt" >> Create and assign serial numbers when you receive the item. Use the Lot/ Serial button on the right hand corner of the material transaction screen and enter the serial number.
    If control is At Sales Order Issue >> Create and assign serial numbers when you issue (ship) the item against a sales order. In the Shipping Transaction screen use Tools >> Serial Numbers option before ship confirm and enter the serial number.
    But if you have set the control as "Predefined" then, assign predefined serial numbers (by generating before hand) when you receive the item. Thereafter, for any material transaction, you must provide a serial number for each unit.
    Hope this helps.

  • Caching problem w/ primary-foreign key mapping

    I have seen this a couple of times now. It is not consistent enough to
    create a simple reproducible test case, so I will have to describe it to you
    with an example and hope you can track it down. It only occurs when caching
    is enabled.
    Here are the classes:
    class C1 { int id; C2 c2; }
    class C2 { int id; C1 c1; }
    Each class uses application identity using static nested Id classes: C1.Id
    and C2.Id. What is unusual is that the same value is used for both
    instances:
    int id = nextId();
    C1 c1 = new C1(id);
    C2 c2 = new C2(id);
    c1.c2 = c2;
    c2.c1 = c1;
    This all works fine using optimistic transactions with caching disabled.
    Although the integer values are the same, the oids are unique because each
    class defines its own unique oid class.
    Here is the schema and mapping (this works with caching disabled but fails
    with caching enabled):
    table t1: column id integer, column revision integer, primary key (id)
    table t2: column id integer, column revision integer, primary key (id)
    <jdo>
    <package name="test">
    <class name="C1" objectid-class="C1$Id">
    <extension vendor-name="kodo" key="jdbc-class-map" value="base">
    <extension vendor-name="kodo" key="table" value="t1"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-version-ind"
    value="version-number">
    <extension vendor-name="kodo" key="column" value="revision"/>
    </extension>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map" value="value">
    <extension vendor-name="kodo" key="column" value="id"/>
    </extension>
    </field>
    <field name="c2">
    <extension vendor-name="kodo" key="jdbc-field-map" value="one-one">
    <extension vendor-name="kodo" key="column.id" value="id"/>
    </extension>
    </field>
    </class>
    <class name="C2" objectid-class="C2$Id">
    <extension vendor-name="kodo" key="jdbc-class-map" value="base">
    <extension vendor-name="kodo" key="table" value="t2"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-version-ind"
    value="version-number">
    <extension vendor-name="kodo" key="column" value="revision"/>
    </extension>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map" value="value">
    <extension vendor-name="kodo" key="column" value="id"/>
    </extension>
    </field>
    <field name="c1">
    <extension vendor-name="kodo" key="dependent" value="true"/>
    <extension vendor-name="kodo" key="inverse-owner" value="c2"/>
    <extension vendor-name="kodo" key="jdbc-field-map" value="one-one">
    <extension vendor-name="kodo" key="table" value="t1"/>
    <extension vendor-name="kodo" key="ref-column.id" value="id"/>
    <extension vendor-name="kodo" key="column.id" value="id"/>
    </extension>
    </field>
    </class>
    </package>
    </jdo>
    Because the ids are known to be the same, the primary key values are also
    used as foreign key values. Accessing C2.c1 is always non-null when caching
    is disabled. With caching is enabled C2.c1 is usually non-null but sometimes
    null. When it is null we get warnings about dangling references to deleted
    instances with id values of 0 and other similar warnings.
    The workaround is to add a redundant column with the same value. For some
    reason this works around the caching problem (this is unnecessary with
    caching disabled):
    table t1: column id integer, column id2 integer, column revision integer,
    primary key (id), unique index (id2)
    table t2: column id integer, column revision integer, primary key (id)
    <jdo>
    <package name="test">
    <class name="C1" objectid-class="C1$Id">
    <extension vendor-name="kodo" key="jdbc-class-map" value="base">
    <extension vendor-name="kodo" key="table" value="t1"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-version-ind"
    value="version-number">
    <extension vendor-name="kodo" key="column" value="revision"/>
    </extension>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map" value="value">
    <extension vendor-name="kodo" key="column" value="id"/>
    </extension>
    </field>
    <field name="c2">
    <extension vendor-name="kodo" key="jdbc-field-map" value="one-one">
    <extension vendor-name="kodo" key="column.id" value="id2"/>
    </extension>
    </field>
    </class>
    <class name="C2" objectid-class="C2$Id">
    <extension vendor-name="kodo" key="jdbc-class-map" value="base">
    <extension vendor-name="kodo" key="table" value="t2"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-version-ind"
    value="version-number">
    <extension vendor-name="kodo" key="column" value="revision"/>
    </extension>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map" value="value">
    <extension vendor-name="kodo" key="column" value="id"/>
    </extension>
    </field>
    <field name="c1">
    <extension vendor-name="kodo" key="dependent" value="true"/>
    <extension vendor-name="kodo" key="inverse-owner" value="c2"/>
    <extension vendor-name="kodo" key="jdbc-field-map" value="one-one">
    <extension vendor-name="kodo" key="table" value="t1"/>
    <extension vendor-name="kodo" key="ref-column.id" value="id2"/>
    <extension vendor-name="kodo" key="column.id" value="id"/>
    </extension>
    </field>
    </class>
    </package>
    </jdo>
    Needless to say, the extra column adds a lot of overhead, including the
    addition of a second unique index, for no value other than working around
    the caching defect.

    Tom-
    The first thing that I think of whenever I see a problem like this is
    that the equals() and hashCode() methods of your application identity
    classes are not correct. Can you check them to ensure that they are
    written in accordance to the guidelines at:
    http://docs.solarmetric.com/manual.html#jdo_overview_pc_identity_application
    If that doesn't help address the problem, can you post the code for your
    application identity classes so we can double-check, and we will try to
    determine what might be causing the problem.
    In article <[email protected]>, Tom Landon wrote:
    I have seen this a couple of times now. It is not consistent enough to
    create a simple reproducible test case, so I will have to describe it to you
    with an example and hope you can track it down. It only occurs when caching
    is enabled.
    Here are the classes:
    class C1 { int id; C2 c2; }
    class C2 { int id; C1 c1; }
    Each class uses application identity using static nested Id classes: C1.Id
    and C2.Id. What is unusual is that the same value is used for both
    instances:
    int id = nextId();
    C1 c1 = new C1(id);
    C2 c2 = new C2(id);
    c1.c2 = c2;
    c2.c1 = c1;
    This all works fine using optimistic transactions with caching disabled.
    Although the integer values are the same, the oids are unique because each
    class defines its own unique oid class.
    Here is the schema and mapping (this works with caching disabled but fails
    with caching enabled):
    table t1: column id integer, column revision integer, primary key (id)
    table t2: column id integer, column revision integer, primary key (id)
    <jdo>
    <package name="test">
    <class name="C1" objectid-class="C1$Id">
    <extension vendor-name="kodo" key="jdbc-class-map" value="base">
    <extension vendor-name="kodo" key="table" value="t1"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-version-ind"
    value="version-number">
    <extension vendor-name="kodo" key="column" value="revision"/>
    </extension>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map" value="value">
    <extension vendor-name="kodo" key="column" value="id"/>
    </extension>
    </field>
    <field name="c2">
    <extension vendor-name="kodo" key="jdbc-field-map" value="one-one">
    <extension vendor-name="kodo" key="column.id" value="id"/>
    </extension>
    </field>
    </class>
    <class name="C2" objectid-class="C2$Id">
    <extension vendor-name="kodo" key="jdbc-class-map" value="base">
    <extension vendor-name="kodo" key="table" value="t2"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-version-ind"
    value="version-number">
    <extension vendor-name="kodo" key="column" value="revision"/>
    </extension>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map" value="value">
    <extension vendor-name="kodo" key="column" value="id"/>
    </extension>
    </field>
    <field name="c1">
    <extension vendor-name="kodo" key="dependent" value="true"/>
    <extension vendor-name="kodo" key="inverse-owner" value="c2"/>
    <extension vendor-name="kodo" key="jdbc-field-map" value="one-one">
    <extension vendor-name="kodo" key="table" value="t1"/>
    <extension vendor-name="kodo" key="ref-column.id" value="id"/>
    <extension vendor-name="kodo" key="column.id" value="id"/>
    </extension>
    </field>
    </class>
    </package>
    </jdo>
    Because the ids are known to be the same, the primary key values are also
    used as foreign key values. Accessing C2.c1 is always non-null when caching
    is disabled. With caching is enabled C2.c1 is usually non-null but sometimes
    null. When it is null we get warnings about dangling references to deleted
    instances with id values of 0 and other similar warnings.
    The workaround is to add a redundant column with the same value. For some
    reason this works around the caching problem (this is unnecessary with
    caching disabled):
    table t1: column id integer, column id2 integer, column revision integer,
    primary key (id), unique index (id2)
    table t2: column id integer, column revision integer, primary key (id)
    <jdo>
    <package name="test">
    <class name="C1" objectid-class="C1$Id">
    <extension vendor-name="kodo" key="jdbc-class-map" value="base">
    <extension vendor-name="kodo" key="table" value="t1"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-version-ind"
    value="version-number">
    <extension vendor-name="kodo" key="column" value="revision"/>
    </extension>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map" value="value">
    <extension vendor-name="kodo" key="column" value="id"/>
    </extension>
    </field>
    <field name="c2">
    <extension vendor-name="kodo" key="jdbc-field-map" value="one-one">
    <extension vendor-name="kodo" key="column.id" value="id2"/>
    </extension>
    </field>
    </class>
    <class name="C2" objectid-class="C2$Id">
    <extension vendor-name="kodo" key="jdbc-class-map" value="base">
    <extension vendor-name="kodo" key="table" value="t2"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-version-ind"
    value="version-number">
    <extension vendor-name="kodo" key="column" value="revision"/>
    </extension>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map" value="value">
    <extension vendor-name="kodo" key="column" value="id"/>
    </extension>
    </field>
    <field name="c1">
    <extension vendor-name="kodo" key="dependent" value="true"/>
    <extension vendor-name="kodo" key="inverse-owner" value="c2"/>
    <extension vendor-name="kodo" key="jdbc-field-map" value="one-one">
    <extension vendor-name="kodo" key="table" value="t1"/>
    <extension vendor-name="kodo" key="ref-column.id" value="id2"/>
    <extension vendor-name="kodo" key="column.id" value="id"/>
    </extension>
    </field>
    </class>
    </package>
    </jdo>
    Needless to say, the extra column adds a lot of overhead, including the
    addition of a second unique index, for no value other than working around
    the caching defect.
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

Maybe you are looking for