BulkOperationCleanupAction requires improvement in its behavior.
1 . Specifying BulkOperationCleanupAction as optional
.Majority of the time BulkOperations are executed on the transactional table. Majority of time the transactional tables are not defined as L2 cache. There fore invalidating the L2 Cache completly on executing bulkoperation on transactional cache needs to be improved .
Suggestion is to make the BulkOperationalCleanUpAction as optional by defining a property to enable and disable this. This will help advanced users to have better control and performance.
2.BulkOperationCleanupAction is invalidating the Secondary Cache twice for each bulkupdate.
BulkOperationCleanupAction is invalidating the cache region twice. Once during the Init processing that is during executeupdate and secondly during afterTransactionCompletion() that is during transaction complete or rollback.
I think it is unneccsary and cause performance degradation. Expert group please correct if am wrong.
http://opensource.atlassian.com/project ... e/HHH-2224 already avilable regarding the issue. please vote for it if you have same opinion about this and the patch get approved.
3.BulkOperationCleanupAction is getting invoked even queryspaces == null and queryspaces is empty
if if(querySpaces==null || querySpaces.isEmpty()) {
return true;
}
I think there is very remote chance that if the queryspeces is null clearing all the secondary cache regions. also note that we are evicting only the L2 cache. not the L1 cache. I think it needs to be improved.
expert group please share your thoughts. If you agree suggest the next steps.