Avoid unnecessary memory allocations on entity updates

Description

Three problems:

  1. Upon calling org.hibernate.search.mapper.pojo.work.impl.AbstractPojoTypeIndexingPlan#update(java.lang.Object, java.lang.String, java.lang.Object, java.lang.String...), we create the entity state even if none of the dirty paths are relevant to indexing.

  2. We store all dirty paths in org.hibernate.search.mapper.pojo.work.impl.AbstractPojoTypeIndexingPlan.AbstractEntityState#dirtyPath. We should only store paths relevant to indexing.

  3. Upon updates to a property that’s irrelevant for indexing, we create an indexing plan anyway. We should not.

Activity

Show:
Fixed

Details

Assignee

Reporter

Sprint

Fix versions

Priority

Created January 18, 2021 at 2:49 PM
Updated September 10, 2021 at 7:24 AM
Resolved January 22, 2021 at 2:17 PM