Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.0-M8
-
None
-
None
Description
To reproduce:
- checkout
ISIS-3223branch - locate the `WrapperFactory_async_IntegTest` in new `regressiontests/stable-core-wrapperfactory` module
- (enhance, using sh enhance.sh -w)
- run the test; it will fail because the async executor code (as result of line 60) hits an exception when calling back to WrapperFactoryDefault, line 649, which in turn is the RepositoryServiceDefault failing an invariant assert on line 244.
I don't understand enough to know why that invariant is checked. The method used in DN is "detachCopy", so it would seem that there are legitimate reasons when the entity we get back is different to the one being detached (the DN code has a entityClass.newInstance(...) in one of its code paths, that is what we hit).
Perhaps the fact that this is multi-threaded code is the issue - though I don't believe we are sharing the reference to the Counter bean across threads, each thread has its own reference.