Chris Bowditch wrote: <snip/>
Does anyone know why CacheEntry.ref can be null in this context and why this only happens after a few thousand documents have been run through? Previous documents all have the same property values. Perhaps the GC has collected the object referenced by ref?
A lot of the code that accesses the ref member variable has checks for null and since it is a WeakReference I assume the cause of this error is the Garbage Collector removing the reference. Adding a check for null in the rehash method seems to avoid the error and all unit tests pass, but I would like confirmation from a Properties expert (Andreas?) that this is a valid fix before committing the change.