The change was initiated by a JIRA report OPENJPA-659. The failure was observed for runtime enhanced instances during dirty checking. Dirty checking for untracked instances is skipped under certain conditions. My initial attempt was to expand that condition to skip non-transactional instances too. However, that was not a correct move as other TeamCity tests started complaining. And hence the rollback of the change.
On some more digging, first thing found was that the artifacts of the reported scenario of embedded field, Spring-Tomcat-Weaver are *not* crucial factors and the same error can be reproduced at a simpler setup as newly added TestSimpleUnenhancedQuery demonstrates. The reason is a SaveFieldManager was being constructed only if the invoked StateManager had loaded fields. When the call to saveFields were made during StateManager initialization, there was no field loaded and hence no SaveFieldManager. This led to subsequent failure during dirty check. It has now been corrected (refer OPENJPA-659 for details). But please review and verify my explanation. -- View this message in context: http://n2.nabble.com/Re%3A-svn-commit%3A-r676604----openjpa-trunk-openjpa-kernel-src-main-java-org-apache-openjpa-kernel-StateManagerImpl.java-tp527508p529211.html Sent from the OpenJPA Developers mailing list archive at Nabble.com.
