Uploaded image for project: 'Cayenne'
  1. Cayenne
  2. CAY-724

Bogus FaultFailureExceptions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2 branch, 2.0 branch, 3.0
    • 3.0M1
    • Core Library
    • None

    Description

      Noticed FaultFailureExceptions happening randomly on resolving HOLLOW objects that are where initially instantiated via reading regular to-one relationships. Objects themselves have valid matching DB rows, still FaultFailureException is thrown. Further debugging showed that those objects had invalid partial snapshots in the DataRowStore that only contained PK and no other data, hence the object came out of the query intended to resolve it as HOLLOW.

      Now I am trying to determine how partial snapshots even get into the shared cache. This code from DataDomainQueryAction (line 212) looks suspicious ("else if" clause returns partial snapshot):

      if (targetRow != null)

      { resultRow = targetRow; }

      // if no inheritance involved, we can return a valid partial row made from
      // the target Id alone...
      else if (domain.getEntityResolver().lookupInheritanceTree(
      (ObjEntity) relationship.getTargetEntity()) == null)

      { resultRow = new DataRow(targetId.getIdSnapshot()); }

      else

      { // can't guess the right target... return !DONE; }

      If this happens to be the case, it affects releases 1.2 - 3.0

      Attachments

        Activity

          People

            andrus Andrus Adamchik
            andrus Andrus Adamchik
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: