Branch: refs/heads/master
Home:
https://github.com/hibernate/hibernate-search
Commit: 34606b1b08e9c0a5beb0e2adb3b22654828547aa
https://github.com/hibernate/hibernate-search/commit/34606b1b08e9c0a5beb0...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2021-01-22 (Fri, 22 Jan 2021)
Changed paths:
A
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/AbstractPojoTypeManager.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoContainedTypeManager.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoIndexedTypeManager.java
Log Message:
-----------
HSEARCH-4138 Factorize some code shared between PojoIndexedTypeManager and
PojoContainedTypeManager
Signed-off-by: Yoann Rodière <yoann(a)hibernate.org>
Commit: 11e9ada32313b1912d82b82f950fc5ce0e4dd6bc
https://github.com/hibernate/hibernate-search/commit/11e9ada32313b1912d82...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2021-01-22 (Fri, 22 Jan 2021)
Changed paths:
M
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/model/impl/JavaBeanSimpleStringSetPojoPathFilterFactory.java
M
mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmPathFilterFactory.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/AbstractPojoImplicitReindexingResolverNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/AbstractPojoImplicitReindexingResolverTypeNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverBuildingHelper.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverCastedTypeNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverContainerElementNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverMarkingNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverOriginalTypeNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverPropertyNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverValueNodeBuilderDelegate.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/NoOpPojoImplicitReindexingResolverNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolver.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverCastedTypeNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverContainerElementNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverDirtinessFilterNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverImpl.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverMarkingNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverMultiNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverOriginalTypeNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverPropertyNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverRootContext.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoIndexedTypeManagerBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoMapper.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/AbstractPojoTypeManager.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoContainedTypeManager.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoIndexedTypeManager.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/building/impl/PojoEntityTypeAdditionalMetadataBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/building/impl/PojoTypeAdditionalMetadataBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/building/spi/PojoAdditionalMetadataCollectorTypeNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/impl/PojoEntityTypeAdditionalMetadata.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/spi/EmptyPojoPathFilter.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/spi/PojoPathFilter.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/spi/PojoPathFilterFactory.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/spi/StringSetPojoPathFilter.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/work/impl/AbstractPojoTypeIndexingPlan.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkTypeContext.java
Log Message:
-----------
HSEARCH-4138 Replace generics for the dirtiness state with their only value,
Set<String>
To acknowledge that dirtiness state is currently always represented by a
Set<String>.
Signed-off-by: Yoann Rodière <yoann(a)hibernate.org>
Commit: 4fb5e316ad52fe20c5e076a2e77e2069b77c2e41
https://github.com/hibernate/hibernate-search/commit/4fb5e316ad52fe20c5e0...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2021-01-22 (Fri, 22 Jan 2021)
Changed paths:
M
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/impl/JavaBeanEntityTypeContributor.java
A
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/model/impl/JavaBeanPojoPathsDefinition.java
R
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/model/impl/JavaBeanSimpleStringSetPojoPathFilterFactory.java
M
mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmEntityTypeMetadataContributor.java
R
mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmPathFilterFactory.java
A
mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmPathsDefinition.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/AbstractPojoImplicitReindexingResolverNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/AbstractPojoImplicitReindexingResolverTypeNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverBuildingHelper.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverContainerElementNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverMarkingNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverPropertyNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverValueNodeBuilderDelegate.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverDirtinessFilterNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverImpl.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoIndexedTypeManagerBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoMapper.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/building/impl/PojoEntityTypeAdditionalMetadataBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/building/impl/PojoTypeAdditionalMetadataBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/building/spi/PojoAdditionalMetadataCollectorTypeNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/impl/PojoEntityTypeAdditionalMetadata.java
A
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/impl/PojoPathFilter.java
A
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/impl/PojoPathFilterProvider.java
A
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/impl/PojoPathOrdinals.java
R
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/spi/EmptyPojoPathFilter.java
R
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/spi/PojoPathFilter.java
R
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/spi/PojoPathFilterFactory.java
A
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/spi/PojoPathsDefinition.java
R
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/spi/StringSetPojoPathFilter.java
Log Message:
-----------
HSEARCH-4139 Use bitsets and ordinals in POJO path filters
Signed-off-by: Yoann Rodière <yoann(a)hibernate.org>
Commit: c3bf939b396c9bdbfeb2ebc015c8453a29ed478e
https://github.com/hibernate/hibernate-search/commit/c3bf939b396c9bdbfeb2...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2021-01-22 (Fri, 22 Jan 2021)
Changed paths:
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverBuildingHelper.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolver.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverDirtinessFilterNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverImpl.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverRootContext.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/AbstractPojoTypeManager.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoIndexedTypeManager.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/impl/PojoPathFilter.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/work/impl/AbstractPojoTypeIndexingPlan.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexedTypeIndexingPlan.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkIndexedTypeContext.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkTypeContext.java
Log Message:
-----------
HSEARCH-4139 Use bitsets to represent dirty paths internally in POJO indexing plans
So that we trigger fewer memory allocations when a path is marked as dirty:
1. BitSets are more compact than Set<String>.
2. We only set bits for dirty paths that are relevant to reindexing, which
means we will ultimately be able to skip the allocations of entity
states based on the dirty paths (see following commits).
This was a problem mentioned in HSEARCH-4139 in particular.
Signed-off-by: Yoann Rodière <yoann(a)hibernate.org>
Commit: 16ba9a03350d7832309b6c5d6d747f7cd500311f
https://github.com/hibernate/hibernate-search/commit/16ba9a03350d7832309b...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2021-01-22 (Fri, 22 Jan 2021)
Changed paths:
M
mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/AbstractHibernateOrmTypeContext.java
M
mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmContainedTypeContext.java
M
mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmIndexedTypeContext.java
Log Message:
-----------
HSEARCH-4138 Factorize some code in AbstractHibernateOrmTypeContext
Signed-off-by: Yoann Rodière <yoann(a)hibernate.org>
Commit: 9fa362d388bd99696b299e455159f0ee141a633e
https://github.com/hibernate/hibernate-search/commit/9fa362d388bd99696b29...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2021-01-22 (Fri, 22 Jan 2021)
Changed paths:
A
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/impl/AbstractJavaBeanTypeContext.java
M
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/impl/JavaBeanContainedTypeContext.java
M
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/impl/JavaBeanIndexedTypeContext.java
M
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/impl/JavaBeanMapperDelegate.java
M
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/impl/JavaBeanTypeContextContainer.java
M
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/impl/JavaBeanSearchSession.java
M
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/impl/JavaBeanSearchSessionTypeContextProvider.java
M
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/impl/SearchIndexingPlanImpl.java
A
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/impl/SearchIndexingPlanTypeContext.java
A
mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/impl/SearchIndexingPlanTypeContextProvider.java
M
mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateOrmListenerTypeContext.java
M
mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateSearchEventListener.java
M
mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/AbstractHibernateOrmTypeContext.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/AbstractPojoImplicitReindexingResolverNodeBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/building/impl/PojoImplicitReindexingResolverBuildingHelper.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolver.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverDirtinessFilterNode.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/automaticindexing/impl/PojoImplicitReindexingResolverImpl.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoIndexedTypeManagerBuilder.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoMapper.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/spi/PojoContainedTypeExtendedMappingCollector.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/spi/PojoIndexedTypeExtendedMappingCollector.java
A
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/spi/PojoTypeExtendedMappingCollector.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/AbstractPojoTypeManager.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoIndexedTypeManager.java
R
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/impl/PojoPathFilter.java
A
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/impl/PojoPathFilterImpl.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/impl/PojoPathFilterProvider.java
A
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/model/path/spi/PojoPathFilter.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/work/impl/AbstractPojoTypeIndexingPlan.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexingPlanImpl.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkIndexedTypeContext.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkTypeContext.java
M
mapper/pojo-base/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoIndexingPlan.java
Log Message:
-----------
HSEARCH-4138 Allow mappers to build dirty path bitsets and use bitsets to pass dirty
paths to POJO indexing plans
That way, we avoid creating indexing plans or calling addOrUpdate()
unnecessarily in HibernateSearchEventListener by turning the dirty paths
into a bitset first: if a null bitset is returned by the filter,
the change is irrelevant to indexing and we don't even try to retrieve
the indexing plan.
Signed-off-by: Yoann Rodière <yoann(a)hibernate.org>
Commit: c947425408054c60b86d70f3f0a4df71456c3403
https://github.com/hibernate/hibernate-search/commit/c947425408054c60b86d...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2021-01-22 (Fri, 22 Jan 2021)
Changed paths:
M
integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingBasicIT.java
A
integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingElementCollectionIT.java
Log Message:
-----------
HSEARCH-4138 Split ElementCollection reindexing tests from the truly basic ones
Apparently the presence of an ElementCollection can have strange effects
on calls to session.update(), leading collection remove events even
though no collection was removed.
Let's clearly separate the two tests.
Signed-off-by: Yoann Rodière <yoann(a)hibernate.org>
Commit: 24b901518dce3313e3a1957a8eba6f4c82d0ae50
https://github.com/hibernate/hibernate-search/commit/24b901518dce3313e3a1...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2021-01-22 (Fri, 22 Jan 2021)
Changed paths:
M
integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingBasicIT.java
Log Message:
-----------
HSEARCH-4138 Test reindexing on calls to Session.update()
It's apparently a corner cases that was only tested in migration helper
tests, and I nearly introduced a regression, so let's test it properly.
Signed-off-by: Yoann Rodière <yoann(a)hibernate.org>
Compare:
https://github.com/hibernate/hibernate-search/compare/3287bdae60a1...24b9...