How are things, can we release? I'm getting antsy on this.
-Brian
On Mar 14, 2005, at 3:46 PM, Armin Waibel wrote:
Say we have an object with circular reference
A1 -1:1-> B1 -1:n-> [A1,C]
and the 1:n is a collection proxy.
Now user lookup A1 and get [EMAIL PROTECTED]>[EMAIL PROTECTED]>[EMAIL PROTECTED] He wants to
remove the C object in the 1:n reference in [EMAIL PROTECTED] Because B has an
proxy collection, the proxy materialize on
B.getC's().remove(1) ==> remove C
call.
While materialization of the collection proxy OJB lookup again an A1
instance. Because the previous materialzed [EMAIL PROTECTED] instance isn't in
the cache, so OJB lookup a new instance for A1 ==> [EMAIL PROTECTED] and a new
[EMAIL PROTECTED]
Thus we have [EMAIL PROTECTED] --> [EMAIL PROTECTED] -->[EMAIL
PROTECTED]@22[-->[EMAIL PROTECTED]>[EMAIL PROTECTED] !!!!
Needless to say this will cause problems on update.
Any suggestions?
Is this new because of cache-changes and/or ODMG API cache-usage in
1.0.2?
No, think this problem was always alive in all OJB versions, all API -
when combine different cache than "default", proxies, circular
references.
It does not occur when a global "object instance sharing" cache is
used (ObjectCacheDefaultImpl and this was used by default in previous
versions).
If _not_ regression since 1.0.1, my suggestion is simply to document
under known issues that "using the ODMG API with collection proxies
and a cache implementation other than ObjectCacheDefaultImpl is known
to cause problems on update, please do not use this combination in
production environments with this relase of OJB".
(Or preferably something shorter). ;)
ok, agree we can't fix this till next release.
This way we could release 1.0.2 and get some time to solve this
properly without the stress of an upcoming release.
ok, will try to resolve the other odmg issues today or in 20 hours, so
that Brian can build the release tomorrow.
Armin
Regards,
Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]