Steve -
Your assumption is correct. I've also turned off caching because there are
other points where the db is updated outside of my application. I've not
seen any problems at all with it reading the proper data from the db. Are
you seeing problems where you get discrepancies between
LoanApplicationSummarys, or with the contained LiabilitySummaries? I might
try a test where I stripped the mapping down and determine that the problem
still occurs with the absolute minimum of data in the objects, then
progressively add in more data members until it breaks (assuming it is not
still broken when all you are doing is loading the LoanApplicationSummary
applicationId's)... 
My assumption here is that there might be a problem that is ocurring as the
data is loaded that never is bubbled up as an Exception...

HTH -
Margaret 

-----Original Message-----
From: Steve Chernyak [mailto:[EMAIL PROTECTED]
Sent: Monday, June 09, 2003 7:46 AM
To: [EMAIL PROTECTED]
Subject: Re: [castor-dev] Missing records from OQLQuery



Thanks everyone for your replies.
I am still not clear as to why this problem is happening.  As you can see
from my mapping file the cache type is set to none.  I am assuming that the
query is being done against the database every time.  Also, most records
that are created on either server show up on queries from both servers.

Am I correct in assuming that the cache-type=none setting will force castor
to go directly to the database everytime?

Thanks

><!--  Mapping for the LoanApplicationSummary  -->
>       <class name="com.loanapplication.LoanApplicationSummary"
>       identity="applicationId">
>
>       <cache-type type="none"/>
>             <map-to table="LOAN_APPLICATION"/>
>       <field name="applicationId" type="long" >
>             <sql name="OID" type="bigint"/>
>             </field>
>       <field name="status.type" type="string" >
>                   <sql name="STATUS_CD" type="longvarchar"/>
>             </field>
>             <field name="alternateDisbursement" type="string" >
>                   <sql name="ALTRNTE_DSBRSMNT" type="longvarchar"
>dirty="ignore"/>
>             </field>
>             <field name="complete" type="boolean" >
>                   <sql name="APP_COMPLETED_IND" type="bit"
dirty="ignore"/>
>             </field>
>             <field name="statusChangeDate" type="date" >
>                   <sql name="STATUS_UPDATE_DATE" type="date"
>dirty="ignore"/>
>             </field>
>       <field name="year" type="string" >
>             <sql name="ACADEMIC_YEAR" type="longvarchar" dirty="ignore"/>
>       </field>
>       <field name="school.name" type="string" >
>             <sql name="SCHOOL_CD" type="longvarchar" dirty="ignore"/>
>       </field>
>       <field name="startDate" type="date" >
>             <sql name="APP_START_DATE" type="date" dirty="ignore"/>
>       </field>
>       <field name="closeDate" type="date" >
>             <sql name="DATE_CLOSED" type="date" dirty="ignore"/>
>       </field>
>       <field name="internalLiabilities"
>             type="com.loanapplication.LiabilitySummary"
>             collection="arraylist">
>
>             <sql many-key="P_LOAN_APPLICATION"/>
>       </field>
>
>             <!-- Mapping for the Certification -->
>             <field name="certification.certifiedDate" type="date">
>                   <sql name="DATE_CERTIFIED" type="date" dirty="ignore"/>
>             </field>
>             <field name="certification.certifyingOfficer" type="string">
>                         <sql name="CERTIFIED_BY" type="longvarchar"
>dirty="ignore"/>
>             </field>
>
>             <!-- Mapping for the Decision -->
>             <field name="decision.status" type="string">
>                   <sql name="DECISION" type="longvarchar"
dirty="ignore"/>
>             </field>
>             <field name="decision.lastUpdate" type="date">
>                         <sql name="DECISION_UPDATE_DT" type="date"
>dirty="ignore"/>
>             </field>
>             <field name="decision.creditDecision.status" type="string">
>                   <sql name="CREDIT_DECISION" type="longvarchar"
>dirty="ignore"/>
>             </field>
>
>             <!-- Mapping for the Student -->
>             <field name="student.studentId" type="long">
>                         <sql name="STUDENT_ID" type="bigint"
>dirty="ignore"/>
>             </field>
>             <field name="student.name.first" type="string">
>                         <sql name="STDT_FIRST_NAME" type="longvarchar"
>dirty="ignore"/>
>             </field>
>             <field name="student.name.upperFirst" type="string">
>                         <sql name="UPPER_FIRST_NAME" type="longvarchar"
>dirty="ignore"/>
>             </field>
>             <field name="student.name.middle" type="string">
>                         <sql name="STDT_MIDDLE_INITIAL"
type="longvarchar"
>dirty="ignore"/>
>             </field>
>             <field name="student.name.last" type="string">
>                         <sql name="STDT_LAST_NAME" type="longvarchar"
>dirty="ignore"/>
>             </field>
>             <field name="student.name.title.type" type="string">
>                         <sql name="TITLE" type="longvarchar"
>dirty="ignore"/>
>             </field>
>             <field name="student.name.upperLast" type="string">
>                         <sql name="UPPER_LAST_NAME" type="longvarchar"
>dirty="ignore"/>
>             </field>
>             <field name="student.ssn" type="string">
>                         <sql name="STDT_SSN" type="longvarchar"
>dirty="ignore"/>
>             </field>
>       </class>
>
>       <!--  Mapping for LiabilitySummary  -->
>       <class name="com.loanapplication.LiabilitySummary"
>             identity="id"
>             depends="com.loanapplication.LoanApplicationSummary">
>
>         <cache-type type="none"/>
>             <map-to table="LIABILITY"/>
>             <field name="loanApplication"
>                   type="com.loanapplication.LoanApplicationSummary">
>
>                   <sql name="P_LOAN_APPLICATION" dirty="ignore" />
>       </field>
>       <field name="id" type="long">
>                   <sql name="OID" type="bigint"/>
>       </field>
>       <field name="type" type="string">
>                   <sql name="TYPE" type="longvarchar" dirty="ignore" />
>       </field>
>       <field name="amount" type="integer">
>                   <sql name="AMT" type="integer" dirty="ignore"/>
>       </field>
>     </class>

Steve Chernyak
Technical Specialist
Outsourced Solutions Group, AMS
410 897-1622

This email message is intended only for use by the recipient(s) and may
contain confidential and proprietary information of AMS, Inc.  Any
unauthorized use, disclosure, or distribution is prohibited.  If you are
not the intended recipient, please contact the sender by reply email and
destroy all copies of this email message.


|---------+---------------------------->
|         |           Bruce Snyder     |
|         |           <[EMAIL PROTECTED]>|
|         |                            |
|         |           06/06/2003 07:30 |
|         |           PM               |
|         |           Please respond to|
|         |           castor-dev       |
|         |                            |
|---------+---------------------------->
 
>---------------------------------------------------------------------------
-----------------------------------------------------------------------|
  |
|
  |       To:       [EMAIL PROTECTED]
|
  |       cc:
|
  |       Subject:  Re: [castor-dev] Missing records from OQLQuery
|
 
>---------------------------------------------------------------------------
-----------------------------------------------------------------------|




This one time, at band camp, Aditya Akella said:

AA>Hi Steave,
AA>
AA>Here is a link. Check the "TIP:" in that after the 4th point.
AA>
AA>http://www.mail-archive.com/[EMAIL PROTECTED]/msg04437.html
AA>
AA>I don't know how to fix the problem but this might help you and if
AA>you find a wayout please post it on the mailing list.
AA>
AA>Hope the above link helps.
AA>
AA>-- Aditya
AA>
AA>-----Original Message-----
AA>From: Steve Chernyak [mailto:[EMAIL PROTECTED]
AA>Sent: Friday, June 06, 2003 12:10 PM
AA>To: [EMAIL PROTECTED]
AA>Subject: [castor-dev] Missing records from OQLQuery
AA>
AA>
AA>Im having a problem retrieving records from the database using OQLQuery.
AA>I am running an a clustered WebLogic 8.1 environment using 0.9.4.3
version
AA>of castor.
AA>
AA>The problem:
AA>
AA>Executing the same query from different servers in the cluster results
in
AA>different size results being returned. A record is missing on one of the
AA>servers. This problem goes away after the servers are restarted. Also,
this
AA>doesnt happen all the time.

Steve,

Aditya's suggestion to look at Alexey's post to the list is a good
one. In the Tip, Alexey is making light of the fact that Castor has
no distributed caching mechanism. This means that if Object A is
changed on AppServer A, there is no automatic distribution of this
change to AppServers B and C. I plan to remedy this in the JDO
refactoring that is currently being planned.

On a side note, Alexey is correct that the capacity of the count-limited
cache type used to be 30. Just within the last month or so I increased
this default to 100.

Bruce
--

perl -e 'print
unpack("u30","<0G)[EMAIL PROTECTED]&5R\"F9E<G)E=\$\!F<FEI+F-O;0\`\`");'

-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to