|
Loading of a Proxy should trigger a removal of corresponding EntityKey from BatchFetchQueue. Currently it is done only when flushing (HHH-9147) manually or due to transaction boundaries.
In my case the already loaded proxy primary keys are appended to the batch-fetch SQL of the to-be loaded proxy (of the corresponding entity). The throughput degrades each time a new proxy is loaded and with composite entity this is not merely an extra paremeter in in-clause but instead a forever growing list of conjunctions/disjuctions ((AND...AND) OR (AND...AND...) OR...) (see JoinWalker.whereClause for more details).
I solved the case by rigging BatchFetchQueue.getEntityBatch so that it removes the EntityKey immediately.
|