[jira] Created: (CAY-1005) CM Qualifier (or Declared Qualifier) is not honoured in 100% cases

From: Marcin Skladaniec (JIRA) ("Marcin)
Date: Tue Mar 11 2008 - 05:35:17 EDT

  • Next message: Ari Maniatis (JIRA): "[jira] Assigned: (CAY-1006) Upgrade Hessian to 3.1.5"

    CM Qualifier (or Declared Qualifier) is not honoured in 100% cases
    ------------------------------------------------------------------

                     Key: CAY-1005
                     URL: https://issues.apache.org/cayenne/browse/CAY-1005
                 Project: Cayenne
              Issue Type: Bug
              Components: Cayenne Core Library
        Affects Versions: 3.0
             Environment: ROP, LOCAL_CACHE, paging. Derby db.
                Reporter: Marcin Skladaniec
                Assignee: Andrus Adamchik

    I have a suspicion that the qualifier set in the modeller is not always incorporated in query.
    Occasionally we are getting an exception like this (not only against this record) :

    CAUSE - [v.3.0-SNAPSHOT Jan 23 2008 23:16:39] Error resolving fault, no matching row exists in the database for ObjectId: <ObjectId:Node, id=323>org.apache.cayenne.FaultFailureException: [v.3.0-SNAPSHOT Jan 23 2008 23:16:39] Error resolving fault, no matching row exists in the database for ObjectId: <ObjectId:Node, id=323> at org.apache.cayenne.BaseContext.prepareForAccess(BaseContext.java:88) at org.apache.cayenne.CayenneDataObject.readProperty(CayenneDataObject.java:202) at org.apache.cayenne.reflect.generic.DataObjectBaseProperty.readProperty(DataObjectBaseProperty.java:42) at org.apache.cayenne.util.ObjectDetachOperation$1.visitAttribute(ObjectDetachOperation.java:160) at org.apache.cayenne.reflect.generic.DataObjectAttributeProperty.visit(DataObjectAttributeProperty.java:50) at org.apache.cayenne.reflect.PersistentDescriptor.visitDeclaredProperties(PersistentDescriptor.java:339) at org.apache.cayenne.reflect.PersistentDescriptor.visitProperties(PersistentDescriptor.java:372) at org.apache.cayenne.util.ObjectDetachOperation.detach(ObjectDetachOperation.java:99) at org.apache.cayenne.access.ClientServerChannelQueryAction.toClientObjects(ClientServerChannelQueryAction.java:182) at org.apache.cayenne.access.ClientServerChannelQueryAction.interceptObjectConversion(ClientServerChannelQueryAction.java:142) at org.apache.cayenne.access.ClientServerChannelQueryAction.execute(ClientServerChannelQueryAction.java:70) at org.apache.cayenne.access.ClientServerChannel.onQuery(ClientServerChannel.java:82) at org.apache.cayenne.remote.service.DispatchHelper.dispatch(DispatchHelper.java:40) at org.apache.cayenne.remote.service.BaseRemoteService.processMessage(BaseRemoteService.java:153)

    Model defines a qualifier for the Node entity : (isDeleted = null) or (isDeleted = 0). I checked the database and the Node which caused the trouble has isDeleted ==1, it should never be fetched in the first place.

    I was not able to isolate a test case, it is only my guess that there might be a bug.

    -- 
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
    



    This archive was generated by hypermail 2.0.0 : Tue Mar 11 2008 - 05:36:51 EDT