I found some time between projects to backport the entity engine fixes
to the release 12 branch.
Due to the seriousness of these issues, I recommend we create a new
binary release.
-Adrian
On 5/19/2013 2:25 PM, Adrian Crum wrote:
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