Message:
A new issue has been created in JIRA.
---------------------------------------------------------------------
View the issue:
http://objectstyle.org/jira/secure/ViewIssue.jspa?key=CAY-308
Here is an overview of the issue:
---------------------------------------------------------------------
Key: CAY-308
Summary: ObjectStore.processUpdatedSnapshots race condition with ObjectStore.resolveHollow
Type: Bug
Status: Assigned
Priority: Major
Project: Cayenne
Components:
Cayenne Core Library
Versions:
1.1
Assignee: Andrus Adamchik
Reporter: Mike Kienenberger
Created: Wed, 20 Apr 2005 12:02 PM
Updated: Wed, 20 Apr 2005 12:02 PM
Description:
Code calling readProperty/resolveFault/resolveHollow is being "defeated" by outstanding "snapshotsChanged/processUpdatedSnapshots" events.
Part of this may be how my application is set up.
I have a local event bridge that rebroadcasts events in one context to all other contexts.
Unfortunately, these broadcasts seem to invariably arrive while faults are being resolved -- generally trying to resolve the same faults that were caused by the same broadcasts above.
So resolveFault resolves a fault, then because the resolveHollow code is sychronized, the pending snapshotsChanged that have built up immediately force the object back to hollow before resolveFault can finish, throwing a FaultFailureException.
It seems like there must be a better way for things to work.
I'm noticing that my originating DataContexts are also receiving these same snapshotChanged messages (which I'm pretty sure is unnecessary), so I'm going to try filtering these out to start with.
So I'm not entirely certain that this is a cayenne bug, but since resolveFault can fail even when the data is really there, I'm gonna say it is and see what others think.
I suspect that the process commented as "// we are lazy, just turn COMMITTED object into HOLLOW instead of actually updating it" in processUpdatedSnapshots() needs to be more proactive to really fix the problem.
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://objectstyle.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
This archive was generated by hypermail 2.0.0 : Wed Apr 20 2005 - 12:03:32 EDT