Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.2 branch, 2.0 branch, 3.0
-
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)
else
{ // can't guess the right target... return !DONE; }If this happens to be the case, it affects releases 1.2 - 3.0