In revision 1484279 I believe I have fixed the last of the entity cache
issues. FYI - there were flaws in the entity cache code that GUARANTEED
stale values. In other words, data coming from the caches was unreliable.
In addition, I fixed a flaw in the GenericEntity/GenericValue classes
that allowed other threads to modify a shared instance that was supposed
to be immutable. This is a serious problem because it is common practice
to cast a Generic Entity to a java.util.Map, then pass it on to various
methods - with the result that in some remote corner of the project a
method thinks it is modifying a Map, but in reality it is modifying a
supposedly immutable GenericEntity.
These bugs are serious, and they really need to be fixed in the older
versions. The problem is, I have spent almost all of my free time fixing
these in the trunk, and I don't have any more free time to spare. In
other words, I need your help.
The bug fixes are mixed in with other changes I was doing at the time,
so I can't provide a simple list of revisions to backport. One approach
would be to copy the trunk EntityTestSuite.java to a release branch, and
start fixing the tests that fail - using the related trunk commits as a
guide.
So, if anyone is willing to help, I can provide some guidance - but I
can't do it all myself.
-Adrian
- Backporting Recent Entity Engine Fixes Adrian Crum
-