Hey guys to warm up in 2011, I've reviewed HSEARCH-361.
I have two remarks

Can you add a unit test that checks mutable properties. I think it's covered 
but let's plan for a later bug :)

FullTextIndexEventListener compute the list of dirty properties by calling 
EntityPersister.findDirty(). I don't think that's entirely accurate. If you 
look when findDirty is called in Core, you'll see that we need to handle 
interceptors. Also in some cases we call findModified.

The good news is that core computes and caches the list of dirty properties (in 
FlushEntityEvent.getDirtyProperties()). Now the even we receive in Hibernate 
Search is PostUpdateEvent. I think we can enhance Core to pass along the list 
of dirty properties.
EntityUpdateAction.postUpdate / postCommitUpdate do create PostUpdateEvents and 
has the info (dirtyFields).

Basically we could keep the existing half working impl in HSearch until 
Hibernate Core 3.6.1 and use the new exposed property of PostUpdateEvent if 
available (reflection call). To minimize the reflection call, we should ahve a 
strategy (ie pre 3.6.1 and post 3.6.1) and at startup time instantiate the 
correct one.

WDYT?


_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to